The Calldrip API enables you to send form and chat leads from your CRM system directly to Calldrip. When a lead is received, Calldrip converts it into a phone call and connects your sales team with potential customers within 30 seconds, resulting in more conversations and customer experience. Calldrip's REST APIs provide access to resources (data entities) via URI paths. To use a REST API, your application will make an HTTP request and parse the response. By default, the response format is JSON.
{primary} The JSON API allows lead data to be sent into your Calldrip account via
POSTmethod in JSON format.
Because the REST API is based on open standards, you can use any web development language to access the API.
{warning} Prerequisites — read before getting started
Two things must be in place before leads will be accepted:
- Integration enabled: Calldrip support must enable a setting on your account and register your Vendor Name or Vendor ID. Requests that do not match a registered vendor will return an error.
- Parsing rules configured: At least one JSON (ADF/XML) parsing rule must be configured for your account. Without a matching rule the lead will not be processed and will return a "No Rule Found" error.
Contact support@dcdw.nl to have these set up.
Endpoint: https://app.calldrip.eu/api/nl
The endpoint accepts POST requests.
Sending a GET request will return a 404 error indicating that POST data is expected.
{warning} Important! Keep your API Key safe.
The returning result will be in JSON format. You will receive either a success or it will tell you the reason for the failure.
Content-Type header: Content-Type: application/json
| Parameter | Required | Description |
|---|---|---|
apiuser |
Yes | API Username (body or apiuser header) |
apikey |
Yes | API Key (body or apikey header) |
prospect.id |
No | Unique lead ID from the lead provider |
prospect.requesttype |
No | Type of request, e.g. sales, service |
prospect.recordcall |
No | Whether to record the call (0 or 1) |
prospect.customer.contact.first_name |
No | Lead's first name |
prospect.customer.contact.last_name |
No | Lead's last name |
prospect.customer.contact.email |
No | Lead's email address |
prospect.customer.contact.phone |
No | Lead's phone number |
prospect.customer.contact.city |
No | Lead's city |
prospect.customer.contact.state |
No | Lead's state/province |
prospect.customer.contact.postalcode |
No | Lead's postal code |
prospect.customer.contact.language |
No | Lead's preferred language (e.g. nl-NL) |
prospect.customer.comments |
No | Comments from the customer |
prospect.customer.whisper |
No | Additional whisper text appended to the agent's whisper |
prospect.vehicle.year |
No | Vehicle year |
prospect.vehicle.make |
No | Vehicle make |
prospect.vehicle.model |
No | Vehicle model |
prospect.vehicle.interest |
No | Lead's interest, e.g. buy |
prospect.vehicle.status |
No | new or used |
prospect.vehicle.vin |
No | Vehicle VIN |
prospect.vehicle.stock |
No | Stock number |
prospect.vehicle.license_plate |
No | License plate number |
prospect.vehicle.bodystyle |
No | Body style, e.g. Coupe |
prospect.vehicle.fueltype |
No | Fuel type, e.g. Diesel |
prospect.vehicle.type |
No | Trim/type description |
prospect.vehicle.comments |
No | Comments about the vehicle |
prospect.trade_in.* |
No | Trade-in vehicle fields (same structure as vehicle) |
prospect.vendor.name |
Yes* | Dealer/vendor name — must match a registered vendor |
prospect.vendor.id |
Yes* | Dealer/vendor ID — used as fallback if name not found |
prospect.vendor.address |
No | Vendor street address |
prospect.vendor.postalcode |
No | Vendor postal code |
prospect.provider.name |
No | Provider/lead source name |
prospect.provider.service |
No | Call-to-action / type of request |
prospect.provider.source |
No | Source identifier |
prospect.provider.url |
No | URL with more lead information |
{primary} * Either
vendor.nameorvendor.idmust match a vendor registered in Calldrip by support. If neither matches, the request will return a "No Account Found" error.
Send the request with Content-Type: application/json. API credentials can be included in the JSON body or as request headers.
{
"apiuser": "your_api_username",
"apikey": "your_api_key",
"prospect": {
"id": "6f69d7fe-a277-40c4-94a8-cbf8a66c1045",
"requesttype": "sales",
"recordcall": "1",
"customer": {
"contact": {
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@example.com",
"phone": "31999999999",
"city": "Amsterdam",
"state": "Noord-Holland",
"postalcode": "1234AB",
"language": "nl-NL"
},
"comments": "I am interested in a test drive.",
"whisper": "Looking for a family car"
},
"vehicle": {
"year": "2018",
"make": "Ford",
"model": "Focus",
"interest": "buy",
"status": "new",
"vin": "1FADP3F24EL123456",
"stock": "STK001",
"license_plate": "XLZ28",
"bodystyle": "Coupe",
"fueltype": "Diesel",
"type": "2WD 2.0 VVT-IE Comfort",
"comments": "Grey color is preferred"
},
"trade_in": {
"year": "2015",
"make": "Toyota",
"model": "Corolla",
"status": "used",
"interest": "trade",
"vin": "9876543210",
"stock": "TRD001"
},
"vendor": {
"name": "LEFTestDealer",
"id": "LEFTestDealerID001",
"address": "Waalplein 128",
"postalcode": "4285CN"
},
"provider": {
"name": "sourcelead",
"service": "Please send me a brochure",
"source": "Source Name",
"url": "https://leadurl.com/leads"
}
}
}
apiuser and apikey in the JSON bodycurl --request POST \
--url 'https://app.calldrip.eu/api/nl' \
--header 'Content-Type: application/json' \
--data '{
"apiuser": "YOUR_API_USER",
"apikey": "YOUR_API_KEY",
"prospect": {
"first_name": "John",
"last_name": "Doe",
"phone": "+31612345678",
...
}
}'
apiuser and apikey in the request headerscurl --request POST \
--url 'https://app.calldrip.eu/api/nl' \
--header 'Content-Type: application/json' \
--header 'apiuser: YOUR_API_USER' \
--header 'apikey: YOUR_API_KEY' \
--data '{
"prospect": {
"first_name": "John",
"last_name": "Doe",
"phone": "+31612345678",
...
}
}'
Below are the different responses you may receive from the API as well as what to do if you receive an error.
This error occurs when the vendor.name or vendor.id in the request does not match a vendor registered in Calldrip.
Contact support to ensure your vendor is registered.
NOTE: lead is received, do not (re)send leads to Calldrip until your vendor is registered.
{ "reason": "No active account found!" }
This error occurs when the request does not match any JSON (ADF/XML) parsing rules configured for your account. Contact support to ensure parsing rules are configured for your account.
NOTE: lead is received, do not (re)send leads to Calldrip until parsing rules are configured.
{ "reason": "No parsing rule was found on the account for this lead." }
This error occurs when the request matches a parsing rule that is configured to not process leads. Contact support to ensure parsing rules are (properly) configured for your account.
NOTE: lead is received, do not (re)send leads to Calldrip until parsing rules are configured.
{ "reason": "Lead was successfully parsed as a Do Not Process lead." }
API Username blank (403):
{ "reason": "API Username cannot be blank" }
API Key blank (403):
{ "reason": "API Key cannot be blank" }
API Credentials invalid (403):
{ "reason": "No account found with the given API username/password. Please check your credentials and try again." }
JSON blank (403):
{ "reason": "JSON cannot be blank" }
JSON invalid (400):
{ "reason": "Unable to parse JSON. Please check that the JSON is well-formed and try again." }
The Whisper is made up of these fields:
interest, vehicle status (translated: new→Nieuw / used→Gebruikt), year, make, model, trade-in info (if present), customer.whisper (if present)
Notes are made up of these fields:
alt lead id (if present), vendor name, provider service, interest, vehicle status, year, make, model, license plate (if present), body style (if present), type (if present), fuel type (if present), trade-in info (if present), provider URL (if present), customer comments, vehicle comments
Enable Calldrip for:
Disable Calldrip for: