Sending events to the Driftrock Events API
Building the POST request
You can make POST requests to these URLs:
If you are sending to a Driftrock Webhook capture please use https://external-apis.driftrock.com/v2/event
If you are sending to a Driftrock Affiliate capture please use https://external-apis.driftrock.com/v2/affiliate_event
If you are unsure of which to use please contact your CSM or our Support Team.
Headers:
Content-Type: application/json
Accept: application/json
Authorization: Bearer xxxx-xxxx-xxxx-xxxx
where xxxx-xxxx-xxxx-xxxx is an api key that you can obtain by going to Settings -> Security. You can use a previously created key or create a new one.

Body:
The body must be JSON formatted and containing the required or recommended fields:
- event_type [string] (required) : this should be set to lead, conversion or action.
- event_name [string] (required) : tell us what label you would like to assign to this event (eg: User signed up, Page view, Purchase )
- source_id [string] (required) : this is needed to link the event to the Capture that you created. You can find this on the 'Connect' step (step 2) of your capture
- fields [json] (required) : this is a json field, where you send us the attributes of this event (eg: "fields": {"email": "test@driftrock.com", "question_1": "test answer"} )
- event_id [string] (optional) : this can be any ID that is used in your system to uniquely identify this event. Note that if you send two events with the same event_id, they will be linked to the same person in our system.
- person_id [string] (optional) : this can be any ID that is used in your system to uniquely identify a person. Note that if you send two events with the same person_id, they will be linked to the same person in our system.
- ga_client_id [string] (optional) : this is the Google Analytics ID that you can provide to allow us to extract marketing info.
- created_at [string] (optional) : if you would like to provide a more precise timestamp for when the event occurred. If not provided it will be set to the moment Driftrock receives the event, this is a subtle distinction but may be important to your business case. This should be passed in ISO8601 format, (eg: 2019-12-02T10:00:00.000Z)
Here's an example of what a simple body would look like
{
"event_type": "lead",
"event_name": "User signed up",
"source_id": "034feb07-0cd7-4d44-bbdb-ae18a8a4132f",
"fields": {
"email": "test@driftrock.com",
"first_name": "First name",
"last_name": "Last name",
...
}
}
Send your first test lead.
If your test has been successful, you should see the following response:
- status: 200
- payload: {"data": "ok"}
If your test failed, you will see the following response:
- status: 400
- payload: {"error": "..."}