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 EU ADF/XML API allows lead data to be sent into your Calldrip account via
POSTmethod in either ADF/XML or 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 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.
EU: 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.
| Key | Value |
|---|---|
| xml | ADF/XML code goes here |
| apiuser | API Username - created and shared by support |
| apikey | API Key - created and shared by support |
API credentials can be passed either in the JSON body or as request headers:
| Location | Key | Description |
|---|---|---|
| Body or Header | apiuser |
API Username |
| Body or Header | apikey |
API Key |
{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.
{"result":"Success"}
{"result":"1","reason":"Username or password were incorrect please check your credentials and try again"}
Template:
<adf>
<prospect>
<id sequence="1">{YOUR_CRM_LEAD_ID} *required*</id>
<vehicle interest="buy" status="used"> *optional* *default to status=used, if vehicle is new use status=new*
<year>{VEHICLE_YEAR} *optional*</year>
<make>{VEHICLE_MAKE} *optional*</make>
<model>{VEHICLE_MODEL} *optional*</model>
<vin>{VEHICLE_VIN} *optional*</vin>
<license_plate>{LICENSE_PLATE} *optional*</license_plate>
<stock>{STOCK_NUMBER} *optional*</stock>
<trim>{TRIM} *optional*</trim>
<doors>{NUMBER_OF_DOORS} *optional*</doors>
<bodystyle>{BODY_STYLE} *optional*</bodystyle>
<transmission>{TRANSMISSION} *optional*</transmission>
<odometer units="km">{ODOMETER_KM} *optional*</odometer>
<colorcombination>
<interiorcolor>{INTERIOR_COLOR} *optional*</interiorcolor>
<exteriorcolor>{EXTERIOR_COLOR} *optional*</exteriorcolor>
</colorcombination>
<price type="quote" currency="EUR">{QUOTE_PRICE_EUR} *optional*</price>
<comments>{CUSTOMER_COMMENTS} *optional*</comments>
</vehicle>
<vehicle interest="trade-in" status="used"> *optional* *always use status=used*
<year>{TRADEIN_YEAR} *optional*</year>
<make>{TRADEIN_MAKE} *optional*</make>
<model>{TRADEIN_MODEL} *optional*</model>
<vin>{TRADEIN_VIN} *optional*</vin>
<license_plate>{TRADEIN_LICENSE_PLATE} *optional*</license_plate>
<trim>{TRADEIN_TRIM} *optional*</trim>
<doors>{TRADEIN_DOORS} *optional*</doors>
<bodystyle>{TRADEIN_BODY_STYLE} *optional*</bodystyle>
<transmission>{TRADEIN_TRANSMISSION} *optional*</transmission>
<odometer status="original" units="km">{TRADEIN_ODOMETER_KM} *optional*</odometer>
<colorcombination>
<interiorcolor>{TRADEIN_INTERIOR_COLOR} *optional*</interiorcolor>
<exteriorcolor>{TRADEIN_EXTERIOR_COLOR} *optional*</exteriorcolor>
</colorcombination>
<price type="appraisal" currency="EUR">{TRADEIN_APPRAISAL_EUR} *optional*</price>
<comments>{TRADEIN_NOTES} *optional*</comments>
</vehicle>
<customer>
<contact>
<name part="full">{CUSTOMER_FULL_NAME} *required* *default to empty string*</name>
<email>{CUSTOMER_EMAIL} *optional*</email>
<phone>{CUSTOMER_PHONE} *optional* *must be filled for setting up a phone call*</phone>
</contact>
<comments>{CUSTOMER_NOTES} *optional* *Put the message here the customer send in with the lead*</comments>
</customer>
<vendor>
<id sequence="1" source="dealerId">{*CALLDRIP_DEALER_ID& GET THIS FROM support@dcdw.nl*} *required*</id>
<vendorname>{DEALER_NAME} *required*</vendorname>
</vendor>
<provider>
<id sequence="1" source="Used Vehicles"></id> *optional* *change "Used Vehicles" to the lead bucket/group/team your use in your CRM*
<name part="full">{LEAD_SOURCE_NAME} *optional*</name>
<service>{LEAD_TYPE} *optional*</service>
<url>{LEAD_SOURCE_URL} *optional*</url>
</provider>
<lms>
<name part="full">{YOUR CRM NAME} *optional*</name>
</lms>
</prospect>
</adf>
Example 1:
<adf>
<prospect>
<id sequence="1" source="leadid">6f69d7fe-a277-40c4-94a8-cbf8a66c1045</id> <requestdate>2018-05-29T16:12:14</requestdate> <requesttype>sales</requesttype>
<vehicle status="New">
<year>2018</year>
<make>Ford</make>
<model>Focus</model>
<license_plate>XLZ_28</license_plate>
<bodystyle>Coupe</bodystyle>
<fueltype>Diesel</fueltype>
<type>2WD 2.0 VVT-IE Comfort</type>
<comments>Grey color is preferred</comments>
</vehicle>
<customer>
<contact>
<name part="full">John Doe</name>
<phone time="" type="">31 999999999</phone>
<language>nl-BE</language>
<address>
<street line="1">Waalplein 128</street>
<city>Woudrichem</city>
<postalcode>4285CN</postalcode>
<country>NL</country>
</address>
</contact>
</customer>
<vendor>
<id sequence="1" source="dealerId">TestDealerID001</id> <vendorname>TestDealer</vendorname>
<contact>
<name part="full">TestDealer</name>
</contact>
</vendor>
<provider>
<id sequence="1" source="sourcename">Source Name</id>
<name part="full">sourcelead</name>
<service>Please send me a brochure</service> <url>https://leadurl.com/leads</url>
</provider>
<lms><name part="full">LMS name</name></lms>
</prospect>
</adf>
Example 2:
<adf>
<prospect>
<id sequence="1">ghyf83h3hf8h8-3f8hfh2</id>
<vehicle interest="buy" status="used">
<year>2022</year>
<make>Peugeot</make>
<model>308</model>
<vin></vin>
<license_plate>HT699F</license_plate>
<stock></stock>
<trim></trim>
<doors>5</doors>
<bodystyle></bodystyle>
<transmission></transmission>
<odometer units="km">299000</odometer>
<colorcombination>
<interiorcolor>black</interiorcolor>
<exteriorcolor>white</exteriorcolor>
</colorcombination>
<price type="quote" currency="EUR">12996</price>
<comments></comments>
</vehicle>
<vehicle interest="trade-in" status="used">
<year>2022</year>
<make>Volkswagen</make>
<model>Golf</model>
<vin>7893893</vin>
<license_plate>GT677D</license_plate>
<trim></trim>
<doors></doors>
<bodystyle></bodystyle>
<transmission></transmission>
<odometer status="original" units="km"></odometer>
<colorcombination>
<interiorcolor></interiorcolor>
<exteriorcolor></exteriorcolor>
</colorcombination>
<price type="appraisal" currency="EUR"></price>
<comments></comments>
</vehicle>
<customer>
<contact>
<name part="full">Joris</name>
<email>joris@dcdw.nl</email>
<phone>+31628866642</phone>
</contact>
<comments>Hello I am looking for a car</comments>
</customer>
<vendor>
<id sequence="1" source="dealerId">6498</id>
<vendorname>Autobedrijf ABC</vendorname>
</vendor>
<provider>
<id sequence="1" source="Used Vehicles"></id>
<name>Cars.com</name>
<service>Chat</service>
<url>https://cars.com/chat/13687893</url>
</provider>
<lms>
<name part="full">CRM NAME</name>
</lms>
</prospect>
</adf>
| Parameter | Description |
|---|---|
<vendor><id sequence="1" source="dealerId">LEFTestDealerID001</id> |
This is the id that identifies the account. Calldrip must have this ID before leads can be sent to the correct account. |
<prospect><id sequence="1" source="leadid"> |
This is a unique id that would come from the lead provider. |
<prospect> <requesttype> |
Type of Request i.e. Sales, Service |
<vehicle status="New"> |
This can be New or Used |
<vehicle><year> |
This is the Year the Vehicle was made i.e. 2019 |
<vehicle><make> |
This is the make of the Vehicle i.e. Ford |
<vehicle><model> |
This is the Model of the Vehicle i.e. Fusion |
<vehicle><type> |
This is the Type of the Vehicle i.e. 2WD 2.0 VVT0IE Comfort |
<vendorname> |
This is the Dealerships name |
<provider><name part="full> |
This is the provider's name |
<provider><service> |
This is the type of request (CTA) |
<lms><name part="full"> |
This is the full name of the LMS system used to deliver the lead |
<vehicle><license_plate> |
This is the license plate number of the vehicle |
<vehicle><bodystyle> |
This is the Body style of the vehicle i.e. Coupe |
<vehicle><fueltype> |
This is the Fuel type of the vehicle i.e. Diesel |
<vehicle><comments> |
Comments about the vehicle |
<customer><comments> |
Comments left by the customer |
<provider><url> |
URL link to more lead information |
<customer><whisper> |
Customer whisper to be read to the customer |
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"
}
}
}
| 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.
$drip=array('xml'=>$xml,'apikey'=>$apikey,'apiuser'=>$apiuser,'user'=>$user);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://app.calldrip.eu/api/nl");
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_SSLVERSION,3);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $drip);
$result = curl_exec($ch);
curl_close($ch);
$data = json_encode([
'apiuser' => $apiuser,
'apikey' => $apikey,
'prospect' => [ /* ... */ ],
]);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://app.calldrip.eu/api/nl");
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
$result = curl_exec($ch);
curl_close($ch);
The Whisper is made up of these fields:
Request type, vehicle status, year, make, model, license plate, whisper
Notes are made up of these fields:
Request type, Vendor, vehicle status, year, make, model, license plate, body style, type fuel, vehicle comments, URL, Customer comments
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
ADF is supported, which is the standard used to communicate consumer purchase requests to automotive dealerships. ADF SpecificationEnable Calldrip for:
Disable Calldrip for: