- DarkLight
Ingest Profiles (Bulk)
- DarkLight
Overview
This API facilitates data ingestion into Data Cloud, allowing the creation and updating of profiles and custom entities. It supports:
Adding records to the profile entity: Send data to create or update profiles, ensuring they are accurately represented in Data Cloud.
Adding records to the custom entity: Ingest custom data into specific entities, allowing for more specialized and tailored data management.
This is a bulk API that enables the addition of large sets of records in a single request.
Endpoint URL
The API endpoint where you send data is:
/cxs/events
HTTP Method
The method to be used for the request:
POST
Authentication Header
Include this header to authenticate your request:
Authorization: Bearer <access token from above request>
Request Body Structure
Profile Data
For sending profile data, structure your request body as follows:
[
{
"properties": {
"FirstName": "Eugena",
"LastName": "Luce",
"Mobile": "7812706500",
"Home": "7812706500",
"Office": "7812706500",
"LastModifiedDate": "2024-04-16T07:35:21.000+0000",
"Email": "eluce@pacificretail.com",
"LeadId": "00QGB00001td5gl2AA",
"Country": "USA"
}
},
{
"properties": {
"FirstName": "Eugena",
"LastName": "Luce",
"Mobile": "7812706501",
"Home": "7812706501",
"Office": "7812706501",
"LastModifiedDate": "2024-04-16T07:35:21.000+0000",
"Email": "eluce@pacificretail1.com",
"LeadId": "00QGB00001td5gl2AA",
"Country": "USA"
}
}
]Custom Entity Data
For sending custom entity data, structure your request body as follows:
[
{
"customObject": {
"objectType": "employeerecords",
"properties": {
"EmployeeName": "John",
"UniqueId": "abcd",
"Home": "123456789"
}
}
}
]Note:
Profile and custom entity data can be sent in a single request. The format provided above is designed to send both profile and custom object data together.
Important:
For Profile Data: When sending profile data, ensure that you include at least one unique identifier for that profile. This identifier is important for correctly merging the profile with existing data.
For Custom Entity Data: When sending a custom entity, ensure to include one unique identifier and the profile link configured for that custom object.
Request Field Description
This table outlines the required fields for the API request, including their types, whether they are mandatory, and their descriptions.
Field Name | Data Type | Required | Description |
|---|---|---|---|
properties | Object | Yes | Contains key-value pairs defining the profile attributes. Each attribute corresponds to a profile field. |
customObject | Object | Yes | Contains details of the custom object being sent, including its type and associated properties. |
objectType | String | Yes | Specifies the type of custom object (Example: employeerecords). |
Note:
If the request includes date and time, provide the date and time details in one of these supported formats. The response also uses these formats.
Sample Response
{
"jobId": "63c474b7-7dc9-42d1-aced-95422d9fc709"
}Response Field Description
This table outlines the response fields for the API request, including their types, whether they are, and their descriptions.
Field Name | Data Type | Description |
|---|---|---|
jobId | Object | A unique identifier that is used to locate and track a specific job that has been sent or submitted. |
Note:
If the request includes the date and time in one of these supported formats, the response also uses these formats.
Limit
The following table outlines the limits and how child entities are handled for the Ingest Profiles API.
Parameter | Limit | Notes |
|---|---|---|
Maximum records per request | 10 MB or 10,000 records | Each request can handle up to 10,000 records or a total size of 10 MB, whichever limit is reached first. |
Error Response
The following table outlines the error responses for the API with descriptions.
Error Response | Description |
|---|---|
401 – Unauthorized | Indicates that the API request is not authenticated. |
400 – Bad Request | The input format is incorrect. Refer to the documentation for the correct format. |
405 – Method not allowed | Indicates that the HTTP method used in the request is not allowed for the specified resource. |
429 - Too Many Requests | Indicates that the client has exceeded the allowed number of requests within a given time frame. |
413 – Entity too large | Indicates that the request payload exceeded the limit of 10 MB or 10,000 records and was rejected. |