Custom Email Solution

Integrating a custom Email solution/provider as part of your Operator API

Fast Tracks supports a variety of Email providers, if your business need a provider which is not a part of the list of supported providers then you can build this API.

Fast Track Email Service

The Fast Track Email service can be configured to send Email requests to the Operator API endpoints listed below, which allows the Operator to manage the Email provider. It supports sending messages and to get fetch delivery status.

The following endpoint can be built as a part for your Operator API:

⬆️ POST /channels/email/batch

The Operator can then forward these requests to the Email provider for processing and answer back with the respective responses.

API format and responses need to be formatted as outlined below

It is important that the "meta" data outlined below is sent back to Fast Track in either Webhook or Polling so that conversion data can be stored correctly. Please refer to the shown examples and the tables underneath for further clarification.

Pre-Requisites

  • Advice Fast Track if any rate limiting should be taken into consideration. (If you plan to implement rate limiting please contact Fast Track before, so we can guide you on supported implementation)

  • Advice Fast Track if any batch maximums should be taken into consideration.

  • Provide Fast Track with any credentials specific for the integrated providers (if required)

Batch Email

Batch Email helps to process a collection of Email in one request to the API. The number of messages within the batch request is limited by a set integer amount in the configuration and sent within a configured time span, even when the batch is not yet full.

Endpoint Implementation

Implement the endpoint in the format below to support batch-send Email through API.

⬆️ POST <operator-api-endpoint-url>/channels/email/batch

Request Header

The header of the sent request contains an "X-Api-Key" which is a token required to authenticate the API calls at the endpoint. This token needs to be passed on to Fast Track in order to make these requests.

Request Body Schema

Here is an example of expected format when batching the requests. The requests are stored in an array, one after the other.

[
  {
    "activity": {
      "id": "12312-12312-123123-123123",
      "brand_id": 1,
      "user_id": "1123112",
      "internal_user_id": 1123112,
      "activity_id": 123,
      "action_group_id": 443,
      "trigger_hash": "asd777dsDSD778sd80-asdas",
      "action_id": 1224
    },
    "subject": "Hello World",
    "content": "HTML code from Fast Track",
    "amp_content": "AMP content from Fast Track",
    "email": "john.doe@email.com",
    "sender_name": "Casino1",
    "sender_address": "info@casino1.com",
    "replyto_address": "reply@casino1.com"
  },
  {
    "activity": {
      "id": "32123-231-312312-123131",
      "brand_id": 1,
      "user_id": "1123113",
      "internal_user_id": 1123113,
      "activity_id": 123,
      "action_group_id": 443,
      "trigger_hash": "dawdnawdiawd-asdas",
      "action_id": 1224
    },
    "subject": "Hello World",
    "content": "HTML code from Fast Track",
    "email": "john.doe2@email.com",
    "sender_name": "Casino1",
    "sender_address": "info@casino1.com",
    "replyto_address": "reply@casino1.com"
  }
]
Key
Type
Description

activity.id

string

A unique identifier of the Email

activity.brand_id

integer

The unique identifier of the brand on Fast Track

activity.user_id

string

The unique identifier of the player

activity.internal_user_id

integer

The unique internal identifier of the player

activity.activity_id

integer

The unique identifier of the activity setup in Fast Track

activity.action_group_id

integer

The unique identifier of the action group which the Email originates from Fast Track

activity.trigger_hash

string

Trigger hash

activity.action_id

integer

The unique identifier of the individual action from Fast Track

subject

string

The subject line of the Email

content

string

The content of the Email, as HTML

amp_content

string (optional)

The content of the Email, as AMP

email

string

The email address of the player

sender_name

string

The sender name configured in Fast Track for the email account

sender_address

string

The sender address configured in Fast Track for the email account

replyto_address

string

The reply to address configured in Fast Track for the email account

Expected Responses

The below responses should be returned by the Operator API.

Successful HTTP 200 JSON Response

The "activity.id" initially sent in the request will be returned back in the response as "id". This is required to help Fast Track identify the individual Email message in the initial batch request. The "email_id" will be a unique identifier generated by the Operator API, which Fast Track will use to identify the related Email message when updating its status. If any of the listed categories ("successful", "failed" or "fatal") do not have an associated Email, they should be returned as an empty array.

{
    "successful": [
        {
            "id": "{activity.id(from request)}",
            "email_id": "123123"
        },
        {
            "id": "{activity.id(from request)}",
            "email_id": "123123"
        }
    ],
    "failed": [
        {
            "id": "{activity.id(from request)}",
            "email_id": "unique-id-of-the-email (if applicable)",
            "error": "why it failed"
        }
    ],
    "fatal": [
        {
            "id": "{activity.id(from request)}",
            "email_id": "unique-id-of-the-email (if applicable)",
            "error": "why it failed"
        }
    ]
}
Response Category
Description

successful

Successfully Delivered. Fast Track will acknowledge the message and start processing the next batch in the queue.

failed

Non Successful. When receiving this error, Fast Track will skip the Email message. Additionally, it will send its data to Failed Actions, if the service is enabled.

fatal

Messages will be retried

Any other messages that are not listed within the response will be retried.

ERROR (non 500 response) JSON Response

Fast Track will only support HTTP Status Code 200 in batching. The whole batch request will be retried if any other status code is received with the following response.

{
    "error": "the error"
}

Conversion Data

We support retrieving conversion data through webhook.

Webhook

Fast Track will provide a Webhook URL & X-API-KEY that you can send the conversion data for each Email.

The X-API-KEY supplied is expected as a header in the request.

It's important that the "activity" data which is provided from Fast Track in the Send Email request is sent back

POST {supplied-url}/operator-api/email/conversion

[
    {
        "activity": {
            "id": "12312-12312-123123-123123",
            "brand_id": 1,
            "user_id": "1123112",
            "internal_user_id": 1123112,
            "activity_id": 123,
            "action_group_id": 443,
            "trigger_hash": "asd777dsDSD778sd80-asdas",
            "action_id": 1224
        },
        "email_id": "1234",
        "delivery_status": "delivered" // Refer to table below for the list of statuses
    }
]
Key
Type
Description

activity.id

string

A unique identifier of the Email

activity.brand_id

integer

A unique identifier of the brand on Fast Track

activity.user_id

integer

Identifier of the player

activity.internal_user_id

integer

Internal identifier of the player

activity.activity_id

integer

Identifier of the activity setup in Fast Track

activity.action_group_id

integer

Identifier of the action group which the Email originates from in Fast Track

activity.trigger_hash

string

Trigger hash

activity.action_id

integer

The unique identifier of the individual action from Fast Track

email_id

string

The unique identifier of the Email

delivery_status

string

Delivery status of the Email

Status (delivery_status)
Description

delivered

Message delivered successfully to the ultimate receiver

open

Recipient has opened the email (tracking pixel)

click

Recipient has clicked a link in the email

spam

Recipient marked the message as spam

bounce

Message was rejected by the recipient's mail server

dropped

Message was not sent due to a suppression rule (like hard bounce previously)

failed

Message failed to be sent to the ultimate receiver

Last updated

Was this helpful?