eLocal Call Center Outreach API

Introduction

The eLocal Call Center Outreach API allows eLocal partners to send information about a lead to make a phone call to. All requests will be accepted whether or not eLocal chooses to make the outgoing call.

This document defines the interface for sending call center outreach requests to eLocal.

About the eLocal Call Center Outreach API

Technical Requirements for all Requests

  • All requests will use JSON notation to communicate data
  • All requests must be made with a content type of application/json
  • All requests must be made using an HTTP POST request

Development/Testing

While performing your development, eLocal will supply you with a developer API key. This key will be used to make sample requests against a testing service and validate that requests and responses are working as expected. No leads posted to the testing server will be delivered to eLocal clients. All requests with the developer key should be made on https://stage.api.elocal.com/

There are two main goals during development:

  • The eLocal partner develops the code to integrate with the API
  • The eLocal partner and eLocal work together to develop a set of partner-specific Need IDs that classify each request. This mapping will provide a data crosswalk between the partner's classifications and eLocal's classifications.

Production

When development is complete and all data has been mapped to Need IDs, eLocal will issue you the API key you will need to point at the production server (https://api.elocal.com).

Call Center Outreach Post Request

URL Path

/call_center_outreach/post

JSON Format

{"post": 
  {
    "key": "[value]",
    "zip_code": "[value]",
    "need_id": "[value]",
    "sender_id": "[value]",
    "sender_origin_key": "[value]",
    "name": "[value]",
    "phone": "[value]"
  }
}

Request Details

ParameterRequired?DescriptionSQL DatatypeExample
keyREQUIREDeLocal API Key provided to you by eLocal. This key identifies the request as coming from your service.varchar(20)afdf398faedfa3
zip_codeREQUIREDA 5-digit US ZIP Code or a 7-character Canada Postal Code for the lead.varchar(7)01233 M4C 1A1
need_idREQUIREDWhen integrating with a partner, eLocal will work with you to to determine your set of need IDs. These need IDs map to specific details of the call so we can ensure we have a valid provider to accept the call. Often these are your own identifiers.varchar(255)9876
phoneREQUIREDThe phone number of party to callvarchar(12)+15555555555
nameOPTIONALThe name or caller ID information of the party to callvarchar(255)John Smith
sender_idOPTIONALYOUR identifier for this request. This is entirely optional, but if specified, it will be echoed back to you in the response.varchar(255)9876
sender_origin_keyOPTIONALSome partners. This optional field gives eLocal information about the origin for the lead. It is intended to differentiate source information for leads when the integrating partner sources their own leads from multiple providers. It is entirely optional, but useful for eLocal Quality Control.varchar(255)abc-123

Call Center Outreach Post Response

JSON Format

{"response": 
  {
    "status": "success|ignored|error",
    "token": "[value]",
    "sender_id": "[value]"
  }
}

Response Details

ParameterRequired?DescriptionSQL DatatypeExample
statusREQUIREDDenotes whether the request was successful or an error.varchar(7)success or error
tokenREQUIREDAn eLocal generated token for the request. Used to uniquely identify request when debugging.varchar(50)2S2S-A2SD-K48B
sender_idOPTIONALYOUR identifier for this request. This is entirely optional, but if specified it the request, it will be echoed back to you in the response.varchar(255)9876

Example Request/Response

Using curl

Success

> curl -H 'Content-type: application/json' \\ -d '{"post": {"zip_code":"19428", "need_id": "1000", "key":"YOUR_KEY_HERE", "phone": "+16106296400", "name": "eLocal" }}' \\ https://api.elocal.com/call_center_outreach/post{"response":{"status":"success","token":"xesef-lesek-hutaf-cinex"}}

Failure

> curl -H 'Content-type: application/json' \\ -d '{"post": {"zip_code":"19428", "need_id": "99999", "key":"YOUR_KEY_HERE", "phone": "+16106296400", "name": "eLocal" }}' \\ https://api.elocal.com/call_center_outreach/post{"response":{"status":"error","message":"Need id is invalid", ,"token":"xesef-lesek-hutaf-cinex"}}