User choices import

Use this feature to UPSERT or DELETE user_choices in your datamart.

How-to

Use the bulk import endpoints to create a document import with theUSER_CHOICEdocument type and APPLICATION_X_NDJSON mime type. Only ndjson data is supported for user choices.

Then, create an execution with your user choice import commands formatted in ndjson .

User choice import command

Each line in the uploaded file can have the following properties:

field

type

description

operation

Enum

Either UPSERT or DELETE

compartment_id

String (Optional)

The Compartment ID, acting as a user identifier in correlation with user_account_id

user_account_id

String (Optional)

The User Account ID, acting as an identifier in correlation with compartment_id

email_hash

String (Optional)

The Email Hash, acting as an identifier

user_agent_id

String (Optional)

The User Agent ID, acting as an identifier

force_replace

Boolean (Optional)

Mandatory when the operation is UPSERT. If true, then the User Choice will be completely replaced by the object passed in the user_choice field.

If false, the object passed in the user_choice field will be merged with the existing User Choice of the User Point.

user_choice

JSON Object (Optional)

Mandatory when operation is UPSERT.

This is a JSON Object representing the User Choice.

Please refer to the User choices page for more

information.

Note that the $processing_id field is always mandatory, and $choice_ts is mandatory when operation is UPSERT.

Example

# Create the document import
curl -X POST \
  https://api.mediarithmics.com/v1/datamarts/<DATAMART_ID>/document_imports \
  -H 'Authorization: <YOUR_API_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{
	"document_type": "USER_CHOICE",
	"mime_type": "APPLICATION_X_NDJSON",
	"encoding": "utf-8",
	"name": "<YOUR_DOCUMENT_IMPORT_NAME>"
}'
# Create the execution
curl -X POST \
  https://api.mediarithmics.com/v1/datamarts/1162/document_imports/<DOCUMENT_IMPORT_ID>/executions \
  -H 'Authorization: <API_TOKEN>' \
  -H 'Content-Type: application/x-ndjson' \
  -d '{ 
        "operation": "UPSERT",
        "compartment_id": "<COMPARTMENT_ID>", 
        "user_account_id": "<USER_ACCOUNT_ID>",
        "force_replace": true,
        "user_choice": {
              "$processing_id": "<PROCESSING_ID>",
              "$choice_ts": "<CHOICE_TS>"
        }
      }'

Last updated

Was this helpful?