Rest JSON Lead API

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

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

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 JSON (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.

API Endpoint


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.

Payload Parameters


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.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 JSON Payload

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

Request Examples (curl)


apiuser and apikey in the JSON body

curl --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 headers

curl --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",
      ...
    }
  }'

Responses

Below are the different responses you may receive from the API as well as what to do if you receive an error.

No Account Found (404)

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

No Rule Found (404)

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

Do Not Process (200)

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

Other responses

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

Whisper/Notes

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

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