Rest ADF/XML & JSON API (EU)

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 POST method 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:

  1. 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.
  2. 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.

Getting Started


  1. Contact us at support@dcdw.nl (Phone: +31 318 798 500) to receive your Developer API Credentials.
  2. Have support enable the Netherlands integration on your account with your Vendor Name or Vendor ID.
  3. Have support configure ADF/XML parsing rules for your account.
  4. Send test leads to your connected test account.
  5. Contact us when you receive a success message to verify the lead's success.
  6. Receive your Production API credentials (EU).

API Endpoint


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.

Acceptable Parameters


ADF/XML (form-encoded POST)

Key Value
xml ADF/XML code goes here
apiuser API Username - created and shared by support
apikey API Key - created and shared by support

JSON (Content-Type: application/json)

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.

Example JSON Results:

{"result":"Success"}
{"result":"1","reason":"Username or password were incorrect please check your credentials and try again"}

Example XML

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>

Example XML Reference


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

Example JSON

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"
    }
  }
}

Example JSON Reference


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.name or vendor.id must match a vendor registered in Calldrip by support. If neither matches, the request will return a "No Account Found" error.

Example Using cURL


XML

$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);

JSON

$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);

Whisper/Notes

XML

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

JSON

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

More Info


Best Practices

Use Case (leads to send or not to send)

Enable Calldrip for:

  • Website contact forms
  • Live chat inquiries
  • Social media leads
  • Direct phone inquiries
  • Trade-in requests

Disable Calldrip for:

  • Email newsletter signups
  • Marketing campaign responses
  • Service appointment requests
  • Parts inquiries
  • General information requests

Lead Submission

  • Send leads immediately upon capture in your CRM
  • Send ALL sales leads, even those without phone numbers or outside working hours
  • Configure API connection at the source bucket level to control which lead types are sent

Data Quality

  • Include as many optional fields as possible for better user experience
  • Use consistent formatting for phone numbers and dates
  • Provide meaningful comments and lead source information

Security

  • Store API credentials securely in your database
  • Use HTTPS for all API calls
  • Consider data privacy - Calldrip purges customer data after 6 months by default, minimum 1 day

Testing

  1. Request Test Credentials (Email: support@dcdw.nl)
  2. Use Test Dealer ID (id: 6498) for all test leads. This isolates test data from production
  3. Test Data Guidelines
  • Use fictional customer information
  • Test various scenarios (new vs used vehicles, different sources)
  • Verify whisper content with different field combinations