Closex.HTTPClient (closex v2.1.0)

A client wrapper around the Close.IO HTTP API.

See: https://developer.close.io/

Link to this section Summary

Functions

Issues a DELETE request to the given url, raising an exception in case of failure.

Issues a DELETE request to the given url.

Issues a GET request to the given url, raising an exception in case of failure.

Issues a GET request to the given url.

Issues a HEAD request to the given url, raising an exception in case of failure.

Issues a HEAD request to the given url.

Issues a OPTIONS request to the given url, raising an exception in case of failure.

Issues an OPTIONS request to the given url.

Issues a PATCH request to the given url, raising an exception in case of failure.

Issues a PATCH request to the given url.

Issues a POST request to the given url, raising an exception in case of failure.

Issues a POST request to the given url.

Callback implementation for HTTPoison.Base.process_headers/1.

Issues a PUT request to the given url, raising an exception in case of failure.

Issues a PUT request to the given url.

Issues an HTTP request with the given method to the given url, raising an exception in case of failure.

Issues an HTTP request using a Request struct.

Issues an HTTP request with the given method to the given url.

Starts HTTPoison and its dependencies.

Requests the next message to be streamed for a given HTTPoison.AsyncResponse.

Link to this section Types

@type body() :: HTTPoison.Base.body()
@type headers() :: HTTPoison.Base.headers()
@type method() :: HTTPoison.Base.method()
@type options() :: HTTPoison.Base.options()
@type params() :: HTTPoison.Base.params()
@type request() :: HTTPoison.Base.request()
@type url() :: HTTPoison.Base.url()

Link to this section Functions

Link to this function

create_email_activity(payload, opts \\ [])

Create an email activity in close.io: https://developer.close.io/#activities-create-an-email-activity

Link to this function

create_lead(payload, opts \\ [])

Create a new lead: https://developer.close.io/#leads-create-a-new-lead

Link to this function

create_opportunity(payload, opts \\ [])

Create an opportunity: https://developer.close.io/#opportunities-create-an-opportunity

Link to this function

create_sms_activity(payload, opts \\ [])

Create an sms activity in close.io: https://developer.close.io/#activities-create-an-sms-activity

Link to this function

create_task(lead_id, text, params \\ %{}, opts \\ [])

Creates a task for the given lead and text. Optional parameters

Link to this function

delete!(url, headers \\ [], options \\ [])

Issues a DELETE request to the given url, raising an exception in case of failure.

If the request does not fail, the response is returned.

See request!/5 for more detailed information.

Link to this function

delete(url, headers \\ [], options \\ [])

Issues a DELETE request to the given url.

Returns {:ok, response} if the request is successful, {:error, reason} otherwise.

See request/5 for more detailed information.

Link to this function

find_activities(search_term)

list or filter all activities: https://developer.close.com/resources/activities/

Link to this function

find_all(resource, search, limit \\ 100, skip \\ 0, results \\ [])

Link to this function

find_call_activities(search_term)

list or filter all call activities: https://developer.close.com/#activities-list-or-filter-all-call-activities

Link to this function

find_leads(search_term, opts \\ [])

List or search for leads: https://developer.close.io/#leads-list-or-search-for-leads

Link to this function

find_opportunities(search_term, opts \\ [])

List or search for opportunities: https://developer.close.io/#opportunities-list-or-filter-opportunities

Link to this function

find_phone_numbers(search_term, opts \\ [])

list or search for phone numbers: https://developer.close.io/#phone-numbers

Link to this function

get!(url, headers \\ [], options \\ [])

Issues a GET request to the given url, raising an exception in case of failure.

If the request does not fail, the response is returned.

See request!/5 for more detailed information.

Link to this function

get(url, headers \\ [], options \\ [])

@spec get(binary(), headers(), Keyword.t()) ::
  {:ok, HTTPoison.Response.t() | HTTPoison.AsyncResponse.t()}
  | {:error, HTTPoison.Error.t()}

Issues a GET request to the given url.

Returns {:ok, response} if the request is successful, {:error, reason} otherwise.

See request/5 for more detailed information.

Link to this function

get_lead(lead_id, opts \\ [])

Fetch a single lead: https://developer.close.io/#leads-retrieve-a-single-lead

Link to this function

get_lead_custom_field(custom_field_id, opts \\ [])

Fetch a custom fields details: https://developer.close.io/#custom-fields-fetch-custom-fields-details

Link to this function

get_lead_statuses(opts \\ [])

List lead statuses for your organization: https://developer.close.io/#lead-statuses-list-lead-statuses-for-your-organization

Link to this function

get_opportunities(opts \\ [])

Get opportunities: https://developer.close.io/#opportunities

Link to this function

get_opportunity(opportunity_id, opts \\ [])

Fetch a single opportunity: https://developer.close.io/#opportunities-retrieve-an-opportunity

Link to this function

get_opportunity_statuses(opts \\ [])

List opportunity statuses for your organization: https://developer.close.io/#opportunity-statuses-list-opportunity-statuses-for-your-organization

Link to this function

get_organization(organization_id, opts \\ [])

Get an organizations details: https://developer.close.io/#organizations-get-an-organizations-details-including-its-current-members

NOTE: Use American spelling of "organization" since this is how Close.IO refers to it.

Link to this function

get_users(limit \\ 100)

List all users in your organization: https://developer.close.io/#users-list-all-the-users-who-are-members-of-the-same-organizations-as-you-are

Link to this function

head!(url, headers \\ [], options \\ [])

Issues a HEAD request to the given url, raising an exception in case of failure.

If the request does not fail, the response is returned.

See request!/5 for more detailed information.

Link to this function

head(url, headers \\ [], options \\ [])

@spec head(binary(), headers(), Keyword.t()) ::
  {:ok, HTTPoison.Response.t() | HTTPoison.AsyncResponse.t()}
  | {:error, HTTPoison.Error.t()}

Issues a HEAD request to the given url.

Returns {:ok, response} if the request is successful, {:error, reason} otherwise.

See request/5 for more detailed information.

Link to this function

log_call(payload, opts \\ [])

Log a call activity manually: https://developer.close.io/#activities-log-a-call-activity-manually

Link to this function

options!(url, headers \\ [], options \\ [])

Issues a OPTIONS request to the given url, raising an exception in case of failure.

If the request does not fail, the response is returned.

See request!/5 for more detailed information.

Link to this function

options(url, headers \\ [], options \\ [])

Issues an OPTIONS request to the given url.

Returns {:ok, response} if the request is successful, {:error, reason} otherwise.

See request/5 for more detailed information.

Link to this function

patch!(url, body, headers \\ [], options \\ [])

Issues a PATCH request to the given url, raising an exception in case of failure.

If the request does not fail, the response is returned.

See request!/5 for more detailed information.

Link to this function

patch(url, body, headers \\ [], options \\ [])

Issues a PATCH request to the given url.

Returns {:ok, response} if the request is successful, {:error, reason} otherwise.

See request/5 for more detailed information.

Link to this function

post!(url, body, headers \\ [], options \\ [])

Issues a POST request to the given url, raising an exception in case of failure.

If the request does not fail, the response is returned.

See request!/5 for more detailed information.

Link to this function

post(url, body, headers \\ [], options \\ [])

Issues a POST request to the given url.

Returns {:ok, response} if the request is successful, {:error, reason} otherwise.

See request/5 for more detailed information.

Link to this function

process_headers(headers)

This function is deprecated. Use process_response_headers/1 instead.
@spec process_headers(list()) :: any()

Callback implementation for HTTPoison.Base.process_headers/1.

Link to this function

process_request_body(body)

@spec process_request_body(body()) :: body()

Callback implementation for HTTPoison.Base.process_request_body/1.

Link to this function

process_request_params(params)

@spec process_request_params(params()) :: params()

Callback implementation for HTTPoison.Base.process_request_params/1.

Link to this function

process_request_url(url)

@spec process_request_url(url()) :: url()

Callback implementation for HTTPoison.Base.process_request_url/1.

Link to this function

process_response(response)

@spec process_response(HTTPoison.Base.response()) :: any()

Callback implementation for HTTPoison.Base.process_response/1.

Link to this function

process_response_chunk(chunk)

@spec process_response_chunk(binary()) :: any()

Callback implementation for HTTPoison.Base.process_response_chunk/1.

Link to this function

process_response_headers(headers)

@spec process_response_headers(list()) :: any()

Callback implementation for HTTPoison.Base.process_response_headers/1.

Link to this function

process_response_status_code(status_code)

@spec process_response_status_code(integer()) :: any()

Callback implementation for HTTPoison.Base.process_response_status_code/1.

Link to this function

process_status_code(status_code)

This function is deprecated. Use process_response_status_code/1 instead.
@spec process_status_code(integer()) :: any()

Callback implementation for HTTPoison.Base.process_status_code/1.

Link to this function

put!(url, body \\ "", headers \\ [], options \\ [])

Issues a PUT request to the given url, raising an exception in case of failure.

If the request does not fail, the response is returned.

See request!/5 for more detailed information.

Link to this function

put(url, body \\ "", headers \\ [], options \\ [])

Issues a PUT request to the given url.

Returns {:ok, response} if the request is successful, {:error, reason} otherwise.

See request/5 for more detailed information.

Link to this function

request!(method, url, body \\ "", headers \\ [], options \\ [])

Issues an HTTP request with the given method to the given url, raising an exception in case of failure.

request!/5 works exactly like request/5 but it returns just the response in case of a successful request, raising an exception in case the request fails.

Link to this function

request(request)

Issues an HTTP request using a Request struct.

This function returns {:ok, response}, {:ok, async_response}, or {:ok, maybe_redirect} if the request is successful, {:error, reason} otherwise.

redirect-handling

Redirect handling

If the option :follow_redirect is given, HTTP redirects are automatically follow if the method is set to :get or :head and the response's status_code is 301, 302 or 307.

If the method is set to :post, then the only status_code that get's automatically followed is 303.

If any other method or status_code is returned, then this function returns a returns a {:ok, %HTTPoison.MaybeRedirect{}} containing the redirect_url for you to re-request with the method set to :get.

examples

Examples

request = %HTTPoison.Request{
  method: :post,
  url: "https://my.website.com",
  body: "{\"foo\": 3}",
  headers: [{"Accept", "application/json"}]
}

request(request)
Link to this function

request(method, url, body \\ "", headers \\ [], options \\ [])

Issues an HTTP request with the given method to the given url.

This function is usually used indirectly by get/3, post/4, put/4, etc

Args:

  • method - HTTP method as an atom (:get, :head, :post, :put, :delete, etc.)
  • url - target url as a binary string or char list
  • body - request body. See more below
  • headers - HTTP headers as an orddict (e.g., [{"Accept", "application/json"}])
  • options - Keyword list of options

Body: see type HTTPoison.Request

Options: see type HTTPoison.Request

This function returns {:ok, response}, {:ok, async_response}, or {:ok, maybe_redirect} if the request is successful, {:error, reason} otherwise.

redirect-handling

Redirect handling

If the option :follow_redirect is given, HTTP redirects are automatically follow if the method is set to :get or :head and the response's status_code is 301, 302 or 307.

If the method is set to :post, then the only status_code that get's automatically followed is 303.

If any other method or status_code is returned, then this function returns a returns a {:ok, %HTTPoison.MaybeRedirect{}} containing the redirect_url for you to re-request with the method set to :get.

examples

Examples

request(:post, "https://my.website.com", "{\"foo\": 3}", [{"Accept", "application/json"}])
Link to this function

send_email(payload, opts \\ [])

Create an email activity: https://developer.close.io/#activities-create-an-email-activity

Starts HTTPoison and its dependencies.

Link to this function

stream_next(resp)

@spec stream_next(HTTPoison.AsyncResponse.t()) ::
  {:ok, HTTPoison.AsyncResponse.t()} | {:error, HTTPoison.Error.t()}

Requests the next message to be streamed for a given HTTPoison.AsyncResponse.

See request!/5 for more detailed information.

Link to this function

update_lead(lead_id, payload, opts \\ [])

Update an existing lead: https://developer.close.io/#leads-update-an-existing-lead

Link to this function

update_opportunity(opportunity_id, payload, opts \\ [])

Update an opportunity: https://developer.close.io/#opportunities-update-an-opportunity

Link to this function

update_task(task_id, params \\ %{}, opts \\ [])

Updates a task. Optional parameters