Skip to main content

CDP integration

What's CDP?

The Customer Data Platform (CDP) is a powerful tool that enables partners to return enriched data points to FACEIT via the account linkage feature. By integrating with the CDP, advertisers can seamlessly share valuable user data, such as registration, KYC status, last deposit, and last bet. This data allows us to segment users and create targeted, custom tasks (called bonus tasks) that incentivize specific actions on the advertiser's side, such as making a deposit to receive a free FACEIT Premium Subscription. The CDP helps maximize user engagement and drive conversions, delivering measurable value for our advertising partners.

Documentation

This POST request is used to send user events (KYC, deposit, etc.).

Endpoint

   POST https://open.faceit.com/cdp/v1/users/events/send

Header (required)

Content-Type: application/json

Authorization: We use Bearer authentication. We will share API key.

Data (JSON format)

Request body with following params:

Parameter nameTypeDescription
platform_user_idstringThe user id on the FACEIT platform.
platformstringPartner or internal platform that sends events.
eventEventEvent on partner side.

The Event contains the following fields:

Field nameTypeDescription
idstringDefines event id. It should be unique for every event. We will use it to check if we already handled this event. If you send the same id, we do nothing and return OK. For two different events you should send two different ids.
namestringHuman-readable event name.
created_atint64Date timestamp when event actually happened, not when event was sent.
attributesarray AttributeEvent specific information. It can be empty.

The Attribute contains the following fields:

Field nameTypeDescription
namestringHuman-readable attribute name.
valuestringAttribute value.

An example of a well-formed request:

   POST https://open.faceit.com/cdp/v1/users/events/send
Authorization: Bearer <API key>
Content-Type: application/json

{
"platform_user_id": "1ee5c514-8064-6a42-ab01-0242ac17000a",
"platform": "partner",
"event": {
"id": "some-request-id-1",
"name": "kyc",
"created_at": 1708703778,
"attributes": [
{
"name": "attr-name",
"value": "attr-value"
}
]
}
}

Method returns:

200 HTTP code if an event was sent successfully.

4XX HTTP code with an error object in the response body with the following parameters:

Parameter nameTypeDescription
codestringA human-readable error code used to identify the error that occurred.
messagestringA detailed error message.

An example of a response:

{
"error": {
"code": "UserNotFound",
"message": "user is not found"
}
}

The method can return the following errors:

CodeDescription
UserNotFoundUser is not found. It means that user didn't link account.

Data Points Rules

The event, whether it’s a conversion (Trade, Buy, Sell, etc.), must be sent starting from the last event that occurred before the account was linked. Each event must include its timestamp, which is crucial for internal analytical conversion calculations. Following this initial event, the advertiser must continue sending all subsequent events along with their corresponding timestamps.

  1. Registration → one timestamp only is expected

  2. Identification

  3. Confirmed Email

  4. Conversion (some example below)

    a. Trade

    b. Buy

    c. Sell

    d. Transaction

    e. Issue

Important Notes

  • Each event should be sent with the accurate timestamp
  • Data points must be sent only after a successful account linkage
  • Events integrations must be sent near real time
  • If a user acts (Registration, Identification, etc.), you must send the event right after this action.
  • If a user acts (Registration, Identification, etc.) before account linkage, you must send these events right after account linkage.
  • If you integrate account linkage and, after one month, start sending events, you must send all required events for users who linked the account link this month.

Restriction

  1. API rate limit is 40rps.