Ingest API
We provide Ingest API that enables you to enhance existing data in Salted CX with attributes and facts that are important for your business. You can also use the Ingest API to integrate Salted CX with a platform that is not supported out of the box by Salted CX.
Before You Start
Before you start it is good to have understanding of these topics:
- Logical Model — enables you to understand the data structure expected by Salted CX. The Ingest API expects the data that matches the Logical Model and individual files uploaded to Salted CX represent items in individual data sets.
- Ingest Data Format — enables to understand file naming convention, file format and supported values in the uploaded file.
Get Access to Ingest API
Access to Ingest API requires these information that you need to ask us via help@salted.cx:
- Account ID — UUID that is unique identifier of the customer account and the associated domain
- Secret API Key — long random characters that authorize your code to upload the data
- Source ID — UUID that identifies the data source. We recommend to ask for separate Source IDs if you have multiple implementations that provide data via Ingest API from different sources.
The above information is all you need to upload data to Salted CX. Keep these information is a secure storage such as AWS Secrets Manager or its equivalent in a different infrastructure. Although Only Secret API Key is sensitive we recommend that you do not use any of these in you code and retrieve it via environmental variables or directly from a secrets management service.
Upload Process
The upload process has these steps:
- Prepare the data into a batch of compressed JSONL files to a single ZIP file. Check ingest data format for details on the format of the JSONL files.
- Request upload link from the Ingest API. This requires the
curl --location 'https://9niauunmy2.execute-api.eu-west-1.amazonaws.com/api/v1/ingest/uploadUrl' \
--header 'Content-Type: application/json' \
--header 'AccountId: <Account ID>' \
--header 'Authorization: Bearer <Secret API Key>' \
--header 'IngestionSourceId: <Source ID>'
- Upload the prepared ZIP file from step 1 to the upload link retrieved in step 2 using HTTP PUT method
curl --location --request PUT '<Upload link from step 2>' \
--data-binary '@/<Path to ZIP file from step 1>'
Best Practices
Use a dedicated account for testing purposes if your integration is not yet thoroughly tested. Currently the API supports only additive changes of data or modification of existing data. In case you need to delete data please reach to use help@salted.cx.
Limits
The API has the following limits:
- Maximum size of a single batch is 1GB
- Maximum number batches per 15 minute is 1,000
- Total data size uploaded in 15 minutes is 10GB
Pricing
Adding data using Ingest API influences costs as it creates engagements and other data set items that may impact the overall price for Salted CX.