Transaction Export API
As a partner with Rokt, you may be interested in receiving data about the users that engage with Rokt placements on your site, in order to integrate this data into an existing CRM or reporting dashboard. Our data management platform provides the ability for you to receive real-time and secure access to transactions data. One of the popular options is sending transactions data via API directly into your CRM.
An API is the most efficient way for Rokt to deliver transactions data to you. This is because it works in real-time, meaning that as soon as a user engages with a placement on your site, the Rokt system will send this data to you. There are a few technical pieces required to get this completed, which are outlined below.
Requirements At a Glance
To begin the API setup, Rokt requires a few pieces of information (please send these responses to your account manager):
- Full API documentation on how to create user entries in your system
- A tech contact details to help troubleshoot setup queries
- Endpoint (production as well as a stage or testing URL, if applicable)
- Method (e.g., GET, POST, PUT)
- Authentication (if any)
- Request body encoding (e.g., JSON, XML, URL Encoded)
- Required API parameters (please see this table for all the attributes Rokt can send you)
- Expected API responses to help Rokt accurately categorize entries delivered successfully versus those that were rejected.
Requirements Breakdown
1. API Documentation
API documentation can encompass some or all of the points listed as requirements such as:
- Endpoint
- Method
- Body
This should detail exactly how Rokt can deliver data to your system.
The API documentation as well as a tech contact (to help address any questions) should be sufficient to kick-start the API setup process.
For example:
Mailchimp API documentation
2. Tech Contact Details
Please provide the relevant contact (either yourself or someone else on your team) who's best suited to address any questions about the API setup process. Some common queries the Rokt operations team may have for you could be:
- verifying that test deliveries have been recorded successfully in your system
- understanding why we're receiving a response status of 403
For example:
John Smith
Technical Support
john.smith@company.com
3. Endpoint
This is the location that Rokt will be sending data to. If you have a staging/testing endpoint, this will help the Rokt team during the setup and QA process so that no test data is delivered to your live CRM.
For example:
https://us9.api.mailchimp.com/3.0/lists/abcdefghij/members
4. Method
This is the HTTP request type that Rokt will use to send data to your list. The majority of the time, this will simply be a POST request.
Rokt supports the following submit methods:
- GET
- POST
- PUT
5. Authentication
Please provide any authentication details necessary for Rokt to send data to you. This could come in many forms, such as:
- username/password combination
- An API key
- Client ID and secret
6. Required API Parameters
Please provide a list of parameters for Rokt to send through in each API request. If possible, please identify:
- required attributes (attributes that must be sent in order for the request to succeed)
- optional attributes
- the parameter name for each attribute (whether to use firstname, FirstName, or first-name, for example)
Common attributes include:
- First Name
- Last Lame
- Source
- Country
For reference, here are all the attributes Rokt can send you.
Rokt supports the following body encoding:
- JSON
- URL Encoded
- Plain Text
- XML
7. Expected API Responses
By providing a list of possible API responses, Rokt can setup response handling logic to quickly identify leads that were delivered successfully, versus those that failed to deliver or were labelled as duplicates.
The response handling could be created based on the status code we receive or the response body, depending on how your API is setup.
Example status codes:
- 201 (entry created successfully)
- 400 (unauthorized)
- 500 (server error)
Example response body values:
- "successfully delivered"
- {"status": "duplicate"}
- {"success": false}