IntercomX v0.0.1 IntercomX.Lead View Source
Link to this section Summary
Functions
Convert a Lead into a User
Issues a DELETE request to the given url.
Issues a DELETE request to the given url, raising an exception in case of failure.
Delete a Lead
Get a specific lead
Issues a GET request to the given url.
Issues a GET request to the given url, raising an exception in case of failure.
Issues a HEAD request to the given url.
Issues a HEAD request to the given url, raising an exception in case of failure.
List all the leads, sorted by created_at (desc)
List by email or phone
Issues an OPTIONS request to the given url.
Issues a OPTIONS request to the given url, raising an exception in case of failure.
Issues a PATCH request to the given url.
Issues a PATCH request to the given url, raising an exception in case of failure.
Issues a POST request to the given url.
Issues a POST request to the given url, raising an exception in case of failure.
Callback implementation for HTTPoison.Base.process_headers/1
.
Callback implementation for HTTPoison.Base.process_request_body/1
.
Callback implementation for HTTPoison.Base.process_request_headers/1
.
Callback implementation for HTTPoison.Base.process_request_options/1
.
Callback implementation for HTTPoison.Base.process_request_params/1
.
Callback implementation for HTTPoison.Base.process_request_url/1
.
Callback implementation for HTTPoison.Base.process_response/1
.
Callback implementation for HTTPoison.Base.process_response_body/1
.
Callback implementation for HTTPoison.Base.process_response_chunk/1
.
Callback implementation for HTTPoison.Base.process_response_headers/1
.
Callback implementation for HTTPoison.Base.process_response_status_code/1
.
Callback implementation for HTTPoison.Base.process_status_code/1
.
Callback implementation for HTTPoison.Base.process_url/1
.
Issues a PUT request to the given url.
Issues a PUT request 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.
Issues an HTTP request with the given method to the given url, raising an exception in case of failure.
Starts HTTPoison and its dependencies.
Requests the next message to be streamed for a given HTTPoison.AsyncResponse
.
Create / update a Lead
Link to this section Types
Link to this section Functions
Convert a Lead into a User
Leads can be converted to Users. This is done by passing both Lead and User identifiers. If the User exists, then the Lead will be merged into it, the Lead deleted and the User returned. If the User does not exist, the Lead will be converted to a User, with the User identifiers replacing it's Lead identifiers. Identifiers (id, user_id, email) from Leads are never added onto Users with a merge. A Lead's email, but not user_id is retained when converting a Lead to a new User.
Parameters
Note: Contacts are the same as Leads (they partly changed names)
User:
user.id
,String
- The id of the Useruser.user_id
,String
- The user_id of the Useruser.email
,String
- The email of the User
Contact / Lead:
Example
IntercomX.Lead.convert(%{ user: %{ user_id: "1000009" }, contact: %{ user_id: "6f39348e-4b19-4b37-8555-8b2e526025a4" } })
delete(url, headers \\ [], options \\ [])
View Sourcedelete(binary(), headers(), Keyword.t()) :: {:ok, HTTPoison.Response.t() | HTTPoison.AsyncResponse.t()} | {:error, HTTPoison.Error.t()}
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.
delete!(url, headers \\ [], options \\ [])
View Sourcedelete!(binary(), headers(), Keyword.t()) :: HTTPoison.Response.t() | HTTPoison.AsyncResponse.t()
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.
Delete a Lead
Parameters
Example
IntercomX.Lead.delete("5dad68c7d0d83522108d7b40") // id IntercomX.Lead.delete("d5af2cec-2a4b-4aec-8aed-43410799757f") // user_id
Get a specific lead
Default
id
,String
- the value of the lead's id field
Parameters
user_id
,String
- The user id intercom has automatically defined for the leadphone
,String
- The phone number defined for the user
Example
IntercomX.Lead.find("5dad68c7d0d83522108d7b40") IntercomX.Lead.find(%{user_id: "d5af2cec-2a4b-4aec-8aed-43410799757f"})
get(url, headers \\ [], options \\ [])
View Sourceget(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.
get!(url, headers \\ [], options \\ [])
View Sourceget!(binary(), headers(), Keyword.t()) :: HTTPoison.Response.t() | HTTPoison.AsyncResponse.t()
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.
head(url, headers \\ [], options \\ [])
View Sourcehead(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.
head!(url, headers \\ [], options \\ [])
View Sourcehead!(binary(), headers(), Keyword.t()) :: HTTPoison.Response.t() | HTTPoison.AsyncResponse.t()
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.
List all the leads, sorted by created_at (desc)
Parameters
page
,Interger
- what page of results to fetch defaults to first page.per_page
,Interger
- how many results per page defaults to 50, max is 60.order
,String
-asc
ordesc
. Return the users in ascending or descending order. defaults to desc.sort
,String
- what field to sort the results by. Valid values:created_at
,last_request_at
,signed_up_at
,updated_at
created_since
,Interger
- limit results to users that were created in that last number of days.
Example
IntercomX.Lead.list(%{page: 2})
List by email or phone
Parameters
email
,String
- The email of the leadphone
,Interger
- The phone of the leadpage
,Interger
- what page of results to fetch defaults to first page.per_page
,Interger
- how many results per page defaults to 50, max is 60.
Example
IntercomX.Lead.listByEmail(%{email: "danny@codaisseur.com"})
options(url, headers \\ [], options \\ [])
View Sourceoptions(binary(), headers(), Keyword.t()) :: {:ok, HTTPoison.Response.t() | HTTPoison.AsyncResponse.t()} | {:error, HTTPoison.Error.t()}
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.
options!(url, headers \\ [], options \\ [])
View Sourceoptions!(binary(), headers(), Keyword.t()) :: HTTPoison.Response.t() | HTTPoison.AsyncResponse.t()
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.
patch(url, body, headers \\ [], options \\ [])
View Sourcepatch(binary(), any(), headers(), Keyword.t()) :: {:ok, HTTPoison.Response.t() | HTTPoison.AsyncResponse.t()} | {:error, HTTPoison.Error.t()}
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.
patch!(url, body, headers \\ [], options \\ [])
View Sourcepatch!(binary(), any(), headers(), Keyword.t()) :: HTTPoison.Response.t() | HTTPoison.AsyncResponse.t()
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.
post(url, body, headers \\ [], options \\ [])
View Sourcepost(binary(), any(), headers(), Keyword.t()) :: {:ok, HTTPoison.Response.t() | HTTPoison.AsyncResponse.t()} | {:error, HTTPoison.Error.t()}
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.
post!(url, body, headers \\ [], options \\ [])
View Sourcepost!(binary(), any(), headers(), Keyword.t()) :: HTTPoison.Response.t() | HTTPoison.AsyncResponse.t()
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.
Callback implementation for HTTPoison.Base.process_headers/1
.
Callback implementation for HTTPoison.Base.process_request_body/1
.
Callback implementation for HTTPoison.Base.process_request_headers/1
.
Callback implementation for HTTPoison.Base.process_request_options/1
.
Callback implementation for HTTPoison.Base.process_request_params/1
.
Callback implementation for HTTPoison.Base.process_request_url/1
.
process_response(response)
View Sourceprocess_response(HTTPoison.Base.response()) :: any()
Callback implementation for HTTPoison.Base.process_response/1
.
Callback implementation for HTTPoison.Base.process_response_body/1
.
Callback implementation for HTTPoison.Base.process_response_chunk/1
.
Callback implementation for HTTPoison.Base.process_response_headers/1
.
Callback implementation for HTTPoison.Base.process_response_status_code/1
.
Callback implementation for HTTPoison.Base.process_status_code/1
.
Callback implementation for HTTPoison.Base.process_url/1
.
put(url, body \\ "", headers \\ [], options \\ [])
View Sourceput(binary(), any(), headers(), Keyword.t()) :: {:ok, HTTPoison.Response.t() | HTTPoison.AsyncResponse.t()} | {:error, HTTPoison.Error.t()}
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.
put!(url, body \\ "", headers \\ [], options \\ [])
View Sourceput!(binary(), any(), headers(), Keyword.t()) :: HTTPoison.Response.t() | HTTPoison.AsyncResponse.t()
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.
request(request)
View Sourcerequest(HTTPoison.Request.t()) :: {:ok, HTTPoison.Response.t() | HTTPoison.AsyncResponse.t()} | {:error, HTTPoison.Error.t()}
Issues an HTTP request using a Request
struct.
This function returns {:ok, response}
or {:ok, async_response}
if the
request is successful, {:error, reason}
otherwise.
Examples
request = %HTTPoison.Request{
method: :post,
url: "https://my.website.com",
body: "{\"foo\": 3}",
headers: [{"Accept", "application/json"}]
}
request(request)
request(method, url, body \\ "", headers \\ [], options \\ [])
View Sourcerequest(atom(), binary(), any(), headers(), Keyword.t()) :: {:ok, HTTPoison.Response.t() | HTTPoison.AsyncResponse.t()} | {:error, HTTPoison.Error.t()}
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 listbody
- request body. See more belowheaders
- 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}
or {:ok, async_response}
if the
request is successful, {:error, reason}
otherwise.
Examples
request(:post, "https://my.website.com", "{\"foo\": 3}", [{"Accept", "application/json"}])
request!(method, url, body \\ "", headers \\ [], options \\ [])
View Sourcerequest!(atom(), binary(), any(), headers(), Keyword.t()) :: HTTPoison.Response.t() | HTTPoison.AsyncResponse.t()
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.
Starts HTTPoison and its dependencies.
stream_next(resp)
View Sourcestream_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.
Create / update a Lead
Parameters
type
,String
- Value iscontact
id
,String
- The Intercom defined id representing the Leadcreated_at
,Timestamp
- The time the Lead was added to Intercomupdated_at
,Timestamp
- The last time the Lead was updateduser_id
,String
- Automatically generated identifier for the Leademail
,String
- The email you have defined for the Leadphone
,String
- The phone number you have defined for the leadname
,String
- The name of the Leadcustom_attributes
, 'String' - The custom attributes you have set on the Leadlast_request_at
,Timestamp
- The time the Lead last recorded making a requestavatar
,Object
- An avatar object for the Leadunsubscribed_from_email
,Boolean
- Whether the Lead is unsubscribed from emailslocation_data
,Object
- A Location Object relating to the Leadcompanies
,List
- A list of companies for the Leadsocial_profiles
,List
- A list of social profiles associated with the Leadsegments
,List
- A list of segments the Lead.tags
,List
- A list of tags associated with the Lead.referrer
,String
- The URL of the page the lead was last onutm_source
,String
- Identifies which site sent the trafficutm_medium
,String
- Identifies what type of link was usedutm_campaign
,String
- Identifies a specific product promotion or strategic campaignutm_term
,String
- Identifies search termsutm_content
,String
- Identifies what specifically was clicked to bring the user to the site
Social Profiles
type
,String
- Value is 'social_profile'name
,String
- The name of the service (e.g., twitter, facebook)username
,String
- User name or handle on the serviceurl, [
String](https://hexdocs.pm/elixir/String.html) - The user homepage on the service *
id, [
String](https://hexdocs.pm/elixir/String.html) - Optional. User ID on the service ## Avatar *
type, [
String](https://hexdocs.pm/elixir/String.html) - Value is 'avatar' *
image_url, [
String](https://hexdocs.pm/elixir/String.html) - An avatar image URL. note: the image url needs to be https ## Location Note: Location data is read only and can not be updated via the API. *
type, [
String](https://hexdocs.pm/elixir/String.html) - Value is 'location_data' *
city_name, [
String](https://hexdocs.pm/elixir/String.html) - Optional. A city name *
continent_code, [
String](https://hexdocs.pm/elixir/String.html) - Optional. A continent code *
country_code, [
String](https://hexdocs.pm/elixir/String.html) - Optional. An ISO 3166 country code *
country_name, [
String](https://hexdocs.pm/elixir/String.html) - Optional. The country name *
latitude,
Number- Optional. The latitude *
longitude,
Number- Optional. The longitude *
postal_code, [
String](https://hexdocs.pm/elixir/String.html) - Optional. A postal code *
region_name, [
String](https://hexdocs.pm/elixir/String.html) - Optional. A region name *
timezone, [
String`](https://hexdocs.pm/elixir/String.html) - Optional. An ISO 8601 timezone ## Example IntercomX.Lead.create(%{ email: "danny@codaisseur.com" })