Everyoneapi
Everyoneapi allows you to lookup a phone number and get back information such as Name, Address, Carrier, and more.
It's available on GitHub at knewter/everyoneapi.
Configuration
Add configuration into your config/config.exs file:
config :everyoneapi,
account_sid: "ACCOUNT_SID_HERE",
auth_token: "AUTH_TOKEN_HERE"
It's based on HTTPoison, so you must first start the API client:
iex> Everyoneapi.start
This must be done once, and it starts the dependencies necessary to use the API client. Then, looking up someone's information is as simple as:
iex(2)> Everyoneapi.info! "2055551212"
%HTTPoison.Response{
body: %{
"data" => %{
"carrier" => %{
"id" => "7475",
"name" => "T-Mobile"
},
"carrier_o" => %{
"id" => "6214",
"name" => "AT&T Mobility"
},
"cnam" => "ADAMS,JOSHUA ",
"gender" => "M",
"linetype" => "mobile",
"location" => %{
"city" => "Birmingham",
"geo" => %{
"latitude" => 33.51685254860801,
"longitude" => -86.81075983815
},
"state" => "AL",
"zip" => "35203"
},
"name" => "Joshua Adams"
},
"invalid" => [],
"missed" => ["image", "address"],
"number" => "+12052153957",
"pricing" => %{
"breakdown" => %{
"carrier" => -0.006,
"carrier_o" => 0,
"cnam" => -0.005,
"gender" => -0.001,
"linetype" => -0.001,
"location" => -0.005,
"name" => -0.01
},
"total" => -0.028
},
"status" => true,
"type" => "person"
},
headers: %{
"Connection" => "keep-alive",
"Content-Length" => "553",
"Content-Type" => "application/json",
"Date" => "Fri, 06 Feb 2015 00:46:22 GMT",
"Server" => "nginx/1.4.7"
},
status_code: 200
}
Summary↑
Types ↑
headers :: %{} | [{binary, binary}]
Functions
Specs:
- delete(binary, headers, [{atom, any}]) :: {:ok, HTTPoison.Response.t | HTTPoison.AsyncResponse.t} | {:error, HTTPoison.Error.t}
Specs:
- delete!(binary, headers, [{atom, any}]) :: HTTPoison.Response.t | HTTPoison.AsyncResponse.t
Specs:
- get(binary, headers, [{atom, any}]) :: {:ok, HTTPoison.Response.t | HTTPoison.AsyncResponse.t} | {:error, HTTPoison.Error.t}
Specs:
- get!(binary, headers, [{atom, any}]) :: HTTPoison.Response.t | HTTPoison.AsyncResponse.t
Specs:
- head(binary, headers, [{atom, any}]) :: {:ok, HTTPoison.Response.t | HTTPoison.AsyncResponse.t} | {:error, HTTPoison.Error.t}
Specs:
- head!(binary, headers, [{atom, any}]) :: HTTPoison.Response.t | HTTPoison.AsyncResponse.t
Specs:
- options(binary, headers, [{atom, any}]) :: {:ok, HTTPoison.Response.t | HTTPoison.AsyncResponse.t} | {:error, HTTPoison.Error.t}
Specs:
- options!(binary, headers, [{atom, any}]) :: HTTPoison.Response.t | HTTPoison.AsyncResponse.t
Specs:
- patch(binary, binary, headers, [{atom, any}]) :: {:ok, HTTPoison.Response.t | HTTPoison.AsyncResponse.t} | {:error, HTTPoison.Error.t}
Specs:
- patch!(binary, binary, headers, [{atom, any}]) :: HTTPoison.Response.t | HTTPoison.AsyncResponse.t
Specs:
- post(binary, binary, headers, [{atom, any}]) :: {:ok, HTTPoison.Response.t | HTTPoison.AsyncResponse.t} | {:error, HTTPoison.Error.t}
Specs:
- post!(binary, binary, headers, [{atom, any}]) :: HTTPoison.Response.t | HTTPoison.AsyncResponse.t
Specs:
- put(binary, binary, headers, [{atom, any}]) :: {:ok, HTTPoison.Response.t | HTTPoison.AsyncResponse.t} | {:error, HTTPoison.Error.t}
Specs:
- put!(binary, binary, headers, [{atom, any}]) :: HTTPoison.Response.t | HTTPoison.AsyncResponse.t
Specs:
- request(atom, binary, binary, headers, [{atom, any}]) :: {:ok, HTTPoison.Response.t | HTTPoison.AsyncResponse.t} | {:error, HTTPoison.Error.t}
Sends an HTTP request. Args: * method - HTTP method, atom (:get, :head, :post, :put, :delete, etc.) * url - URL, binary string or char list * body - request body, binary string or char list * headers - HTTP headers, orddict (eg. [{:Accept, "application/json"}]) * options - orddict of options Options: * timeout - timeout in ms, integer * stream_to - process id to stream the response
Returns {:ok, Response} or {:ok, AsyncResponse} if successful. {:error, Error} otherwise.
Specs:
- request!(atom, binary, binary, headers, [{atom, any}]) :: HTTPoison.Response.t
Start httpoison and dependencies.