Tracking API
Beware of the authentication method you choose, so that it is adapted to the context running API calls.
User activity API
General information
You can import user activities using our dedicated API endpoint.
Import a user activity
POST
https://api.mediarithmics.com/v1/datamarts/:datamartId/user_activities
The body of the request must be a User Activity object.
Path Parameters
Name | Type | Description |
---|---|---|
datamartId | integer | The ID of the datamart in which the user activity should be imported |
Headers
Name | Type | Description |
---|---|---|
Content-Type | string | application/json |
Request Body
Name | Type | Description |
---|---|---|
body | object | The user activity object to import |
The body must be a valid user activity object.
Identification of the user or of the device is achieved through the $user_identifiers
property. We encourage you to use as many identifiers as available in your environment at the time of the capture.
It is still possible to use the identifiers properties at the activity root level ($user_agent_id
, $user_account_id
+ $compartment_id
, $email_hash)
, however these are to be considered as legacy.
$user_identifiers
property is to be preferred.
Create / Update a user profile from within an activity
A user profile can be created / updated by registering a user activity containing a $set_user_profile_properties
event. In that case you would need to use $user_account_id
and $compartment_id
inside $properties
to identify the user profile to update:
Note that you can used any identifier available on the user point in the user activity object
Create / Update a user choice from within an activity
A user profile can be created / updated by registering a user activity containing a $set_user_choice
event.
This method is used when you want to achieve real-time tracking but can't use the mediarithmics JavaScript Tag. In mobile applications for example.
Please note that those events will go through the processing pipeline before being stored as a user choice. You must ensure no activity analyzers is removing them during that process.
User point API
User point selector
The attribute :userPointSelector
is used to select the user point on which apply the query. You can provide the following values :
Create / Update a user profile
An other way to create / update a user profile is to use the user_profiles API endpoint . Prefer this method if you are able to integrate various API endpoints and if you don't need to track the user profile update as an event for further retrieval.
Create/Update a user profile
PUT
https://api.mediarithmics.com/v1/datamarts/:datamartId/user_points/:userPointSelector/user_profiles/compartment_id=:compartmentId/user_account_id=:userAccount
The body of the request must be a User Profile object.
Path Parameters
Name | Type | Description |
---|---|---|
userAccount | string | The user_account_id linked to the user_profile that should be imported |
compartmentId | integer | The ID of the compartment in which the user profile should be imported |
datamartId | integer | The ID of the datamart in which the user profile should be imported |
userSelector | string | The identifier of the user for whom the user profile should be imported. see the options of the user selector. |
Query Parameters
Name | Type | Description |
---|---|---|
force_replace | boolean (optionnal) | If true, then the User Profile will be completely replaced by the object passed in the user_profile field.
If false, the object passed in the |
merge_objects | boolean (optionnal) | Only considered if Manage the comportement between two objects with a same property. If false (default value), the new object overrides the existing one. If true the new object is merged in deep to the existing one (see example). |
Headers
Name | Type | Description |
---|---|---|
Content-Type | string | application/json |
Request Body
Name | Type | Description |
---|---|---|
body | object | The user profile object to import |
The body must be a valid user profile object.
$compartment_id
& $user_account_id
in the payload are not mandatory since they are already provided as query parameters.
Beware of :
<COMPARTMENT_ID>
&<USER_ACCOUNT_ID>
which are used to select the user point:compartmentId
&:userAccountId
which are used to select the profile to update
Create / Update a user choice
An other way to create / update a user choice is to use the user_choices API endpoint . Prefer this method if you are able to integrate various API endpoints.
Create/Update user choices
PUT
https://api.mediarithmics.com/v1/datamarts/:datamartId/user_points/:userSelector/user_choices/processing_id=:processingId
Path Parameters
Name | Type | Description |
---|---|---|
datamartId | integer | The datamart ID |
userSelector | integer | An identifier to the user point for which the user choice should be added.Could be : |
processingId | integer | The ID of the associated processing |
Request Body
Name | Type | Description |
---|---|---|
Body | object | The payload |
List user choices
GET
https://api.mediarithmics.com/v1/datamarts/:datamartId/user_points/:userSelector/user_choices/processing_id=:processingId
Path Parameters
Name | Type | Description |
---|---|---|
datamartId | integer | The datamart ID |
userSelector | integer | An identifier to the user point for which the user choice should be added.Could be : |
processingId | integer | Optional. The ID of the processing for which you want to list user choices. |
Request Body
Name | Type | Description |
---|---|---|
Body | object | The payload |
User choices history
GET
https://api.mediarithmics.com/v1/datamarts/:datamartId/user_points/:userSelector/user_choices/processing_id=:processingId/change_log
Path Parameters
Name | Type | Description |
---|---|---|
datamartId | integer | The datamart ID |
userSelector | integer | An identifier to the user point for which the user choice should be added.Could be : |
processingId | integer | The ID of the processing for which you want to get user choices history. |
Request Body
Name | Type | Description |
---|---|---|
Body | object | The payload |
Last updated