This document details API that Contactability provides to its affiliates to sell leads to Contactability via version 1.0 PingPost REST API.
This API is secure and protected by user credentials. To access this API, user must have a valid token. Without these credentials (or using wrong credentials), you will get 401 unauthorized error.
Approved partners can use this API to ping Contactability with the lead that they want to sell us. Contactability will respond with the bid that it is willing to pay for that lead. If accepted, partner can post the full lead to Contactability for the predetermined price.
Contactability also supports Leg based pingpost functionality. In leg based integration, Contactability will respond with the legs and payouts for individual legs. Partner can approve individual (or all) legs and post lead to us to be sold only to those approved legs.
To get started, please contact us at - support@contactability.com.
This API is a simple REST API. For both Ping and Post, lead data is accepted in XML format (HTTP POST) and must confirm to schema file.
Contactability uses HTTPS (HTTP over SSL) which ensures privacy and integrity of the exchanged data.
All data partners will be assigned a unique token at the time of sign up. Partners are required to send this token in the XML along with the other data. You will get "401 Forbidden" response in case of token mismatch or absence of token value.
XML. All the lead data must be HTTP POSTed to us in valid XML format confirming to our XML schema.
5/sec. 300/min/ 10000/hour.
Contactability will make every effort to ensure the API availability 24x7. However during routine maintenance the API may not be available. We will make every effort to keep the disruption to minimal and to communicate to our best ability to the appropriate parties.
Contactability will return 5XX HTTP response code when the API is not available.
Please contact our development team at support@contactability.com in case of any concerns or questions regarding the API outage.
Contactability will return error code of "Duplicate" in case of duplicate detection on both ping and post.
Contactability will make every effort to keep the response time on every request to minimal. Currently the average response time is 5 secs. However there are times when the response time is around 10 secs.
If you are experiencing longer response times, please reach out to us at support@contactability.com
Contactability supports the following lead types.
DistributionDirectives must be present if the lead being sold is shared lead. DistributionCount should be present and must be equal to the number of times the lead is already sold. You should also list all the carriers the lead is already sold to inside the Excludes XML element.
If the lead is sold to an Independent agent, license number should be sent along. You will get 4xx Bad Request error in case of Invalid Distribution Directives.
Contactability allows affiliates to send optional lead source inside the XML element LeadSourceID. This allows better reporting and allows to scale up and scale down particular lead source.
This API endpoint is used to send leads to Contactability for purchase. Lead must be HTTP POSTed to the endpoint and must adhere to the Contactability Post XML schema. Failure to do so will result in 4xx "Bad Request" error.
This API supports posting both exclusive and shared leads. Leads posted without Distribution directives are considered exclusive leads whereas leads with one or more distribution directives are considered shared leads.
Lead must be posted with full data along with contact information.
Staging URL:
http://staging.pingpost.contactability.com/api/v1/direct_post
HTTP POST parameter:
Example Direct Post XML - http://dev.contactability.com/ping_post/v1/docs/sample_auto_post.xml
Direct Lead Post API will return HTTP response code 200 for all successful post requests. In case of data errors 4xx response code is returned. In case of service outage or any other server errors on Contactability side, a 5xx HTTP response code is returned.
In case of data validation errors (4xx), more detailed information about the error will be returned under "ErrorType" and "ErrorDescription" XML elements.
API response XML elements:
Example Direct Lead Post Response XML - http://dev.contactability.com/ping_post/v1/docs/direct_post_response.xml
This API endpoint is used to send leads to Contactability as an add on service. Lead must be HTTP POSTed to the endpoint and must adhere to the Contactability Post XML schema. Failure to do so will result in 4xx "Bad Request" error.
Lead must be posted with full data along with contact information.
Staging URL:
http://staging.pingpost.contactability.com/api/v1/data_post
HTTP POST parameter:
Example Data Post XML - http://dev.contactability.com/ping_post/v1/docs/sample_auto_post.xml
Direct Lead Post API will return HTTP response code 200 for all successful post requests. In case of data errors 4xx response code is returned. In case of service outage or any other server errors on Contactability side, a 5xx HTTP response code is returned.
In case of data validation errors (4xx), more detailed information about the error will be returned under "ErrorType" and "ErrorDescription" XML elements.
API response XML elements:
Example Data Post Response XML - http://dev.contactability.com/ping_post/v1/docs/direct_post_response.xml
This API endpoint is used to send leads to Contactability to receive our bid on the lead. Lead must be HTTP POSTed to the endpoint and must adhere to the Contactability Ping XML schema. Failure to do so will result in 4xx "Bad Request" error.
This API supports posting both exclusive and shared leads. Leads posted without Distribution directives are considered exclusive leads whereas leads with one or more distribution directives are considered shared leads.
Lead must be posted with full data. Contact information on the lead is optional. Contactability will respond to its best bid for this lead on the response.
When non-zero bid is returned, the response also includes the "PingID" for Contactability system. If bid is accepted, full lead data (along with Contact information) must be posted along with "PingID". Please note the "PingID" is valid for 5 minutes from the time it is assigned. Otherwise 4xx "Timeout" error is returned.
Staging URL:
http://staging.pingpost.contactability.com/api/v1/ping
HTTP POST parameter:
Example Ping XML - http://dev.contactability.com/ping_post/v1/docs/sample_auto.xml
Ping API will return HTTP response code 200 for all successful ping requests. In case of data errors 4xx response code is returned. In case of service outage or any other server errors on Contactability side, a 5xx HTTP response code is returned.
In case of data validation errors (4xx), more detailed information about the error will be returned under "ErrorType" and "ErrorDescription" XML elements.
It is possible that Contactability will return payout of zero even for the successful ping (200 response code).
API response XML elements:
Example Ping Response XML - http://dev.contactability.com/ping_post/v1/docs/ping_response.xml
This API endpoint is used to post leads to Contactability after our bid has been accepted by the affiliate.
Lead must be posted in accordance with the schema and in its entirety including all Contact information.
This API calls also includes another HTTP parameter called "ping_id". This PingID must match the identifier previously returned by Ping Lead API. This PingID is valid only for 5 minutes from the time it is generated. Failure to do so will result in 4xx "Timeout" error.
With the exception of the ping-time optional personally identifying information, the Lead XML provided in this post API must be identical to the XML presented earlier in the associated ping API. If the XML differs, the post will be rejected.
Prior to accepting the lead, Contactability will check for personal identifying information. If it is not valid then the lead will be rejected. Contactability also performs duplicate check on posts. If the lead is already within the Contactability system it will be rejected with 4xx "Duplicate" error.
If lead is accepted, Contactability will return "LeadID" and payout. Affiliates are encouraged to store this LeadID for future reference. Payout should match the one returned during corresponding ping API call.
Staging URL:
http://staging.pingpost.contactability.com/api/v1/post
HTTP POST parameters:
Example Post XML - http://dev.contactability.com/ping_post/v1/docs/sample_auto_post.xml
Post API will return HTTP response code 200 for all successful ping requests. In case of data errors 4xx response code is returned. In case of service outage or any other server errors on Contactability side, a 5xx HTTP response code is returned.
In case of data validation errors (4xx), more detailed information about the error will be returned under "ErrorType" and "ErrorDescription" XML elements.
API response XML elements:
Example Post Response XML - http://dev.contactability.com/ping_post/v1/docs/post_response.xml
This API endpoint is used to send leads to Contactability to receive our bids on individual legs that we are interested in buying.
This API is identical to Ping API with the exception of different URL and API response. Ping response will include individual legs that we are interested in purchasing along with the payout for each leg.
Each leg will have carrier name, license number (in case of independent only), leg id (unique leg identifier in Contactability system) and payout for that leg.
Staging URL:
http://staging.pingpost.contactability.com/api/v1/ping/legs
HTTP POST parameter:
Example Legs Ping XML - http://dev.contactability.com/ping_post/v1/docs/sample_auto.xml
Ping API will return HTTP response code 200 for all successful ping requests. In case of data errors 4xx response code is returned. In case of service outage or any other server errors on Contactability side, a 5xx HTTP response code is returned.
In case of data validation errors (4xx), more detailed information about the error will be returned under "ErrorType" and "ErrorDescription" XML elements.
Each leg will have carrier name, license number (in case of independent only), leg id (unique leg identifier in Contactability system) and payout for that leg.
API response XML elements:
Example Legs Ping Response XML - http://dev.contactability.com/ping_post/v1/docs/ping_legs_response.xml
This API endpoint is used to sell legs of the lead to Contactability after they have been successfully bid upon during legs Ping phase.
Affiliates can choose to sell us the select number of legs or all the legs that we are interested in buying.
Staging URL:
http://staging.pingpost.contactability.com/api/v1/post/legs
HTTP POST parameter:
Example Legs Post XML - http://dev.contactability.com/ping_post/v1/docs/sample_auto_post_legs.xml
Ping API will return HTTP response code 200 for all successful ping requests. In case of data errors 4xx response code is returned. In case of service outage or any other server errors on Contactability side, a 5xx HTTP response code is returned.
In case of data validation errors (4xx), more detailed information about the error will be returned under "ErrorType" and "ErrorDescription" XML elements.
If accepted, the response will have payout equal to the sum of payouts of individual legs sold to us.
API response XML elements:
Example Post Response XML - http://dev.contactability.com/ping_post/v1/docs/post_response.xml
This API endpoint is used to query our calls API for sending calls to us. It is a simple HTTP GET request with some required and optional parameters. We will respond with the individual leg (service provider) along with payout (for qualified call) and transfer number.
Staging URL:
http://staging.pingpost.contactability.com/api/v1/calls/ping
HTTP GET parameters:
We will respond in JSON format with the individual leg (service provider) along with payout (for qualified call) and transfer number.
This API endpoint is used to query our clicks API for sending clicks to us. It is simple REST API using HTTP POST with some required and optional parameters. We will respond with the results matching criterion based on data.
Staging URL:
http://staging.pingpost.contactability.com/api/v1/clicks (defaults to JSON format)
http://staging.pingpost.contactability.com/api/v1/clicks.xml (XML format)
http://staging.pingpost.contactability.com/api/v1/clicks.json (JSON format)
HTTP POST parameters:
Example XML - http://dev.contactability.com/ping_post/v1/docs/sample_auto.xml
We will respond with the ads matching criterion based on data from XML.