Skip to content

taylorbrooks/ex_closeio

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ExCloseio

Hex.pm

Learn about the Closeio API at http://developer.close.io.

I ❤️ Close.io, so if you have problems using the gem or would like to see support for new endpoints, please open a GitHub issue -- I'll get it resolved as quick as I can.

Fwiw, I also run DripEmails.com -- a service for building automated email sequences using Close.io

Installation

ExCloseio is currently beta software. You can install it from Hex:

def deps do
  [ {:ex_closeio, "~> 0.0.6"} ]
end

Configuration

For security, I recommend that you use environment variables for storing your account credentials. If you don't already have an environment variable manager, you can create a .env file in your project with the following content:

export CLOSEIO_API_KEY={{ your api key }}

Then, just be sure to run source .env in your shell before compiling your project.

Alternatively, you can set the following configuration variables in your config/config.exs file:

config :ex_closeio, closeio_api_key: System.get_env("CLOSEIO_API_KEY"),

Or you can pass the API key in with each request:

ExCloseio.Lead.find("lead_id_1234", "api_key_5678")

Usage

ExCloseio comes with module for each supported Close.io API resource. For example, the "Lead" resource is accessible through the ExCloseio.Lead module. Depending on what the underlying API supports, a resource module may have the following methods:

Method Description
all Get the first page of the resource.
paginate Load all of the resource items on all pages. Use with care!
find Find a resource given its id.
create Create a resource.
update Update a resource.
destroy Destroy a resource.

Supported Endpoints

ExCloseio currently supports the following Closeio endpoints:

Example

# Get all the leads in the Lead endpoint. Be warned, this will block
# until all the pages of leads have been fetched.
leads = ExCloseio.Lead.paginate(
  %{query: "custom.current_system:paypal"},
  API_KEY
)

# Get the first page. The meta variable is a map of paging information
# from Close.io.
{:ok, leads} = ExCloseio.Lead.all

# Find a lead
{:ok, lead} = ExCloseio.Lead.find("lead_id_1234")

# Update a lead
lead = ExCloseio.Lead.update(lead, status: "cancelled")

# Destroy a lead
ExCloseio.Lead.destroy("lead_id_1234")

License

ExCloseio is licensed under the MIT license. For more details, see the LICENSE file at the root of the repository. It depends on Elixir, which is under the Apache 2 license.

CloseioTM is trademark of Elastic, Inc.

About

Elixir library for the Close.io API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages