Security and Compliance

Passing Promo Codes from Messages to Contact Cards

The HTTP request data source allows you to send a unique promo code from a trigger message, record it to a contact card, or pass it to your server. Thus, you can automatically fix which particular promo code one or another of your subscribers received.

Setting process:

1. Generate and upload a file with promo codes to your eSputnik account.

2. Create an additional field for contact cards in which the promo code will be recorded.

3. Connect the HTTP request data source in your eSputnik account.

4. Prepare a message with velocity variables to transfer promo codes.

5. Create a workflow by which a message will be sent, and a promo code will be transmitted.

1. Uploading a file with promo codes to eSputnik

Prepare a list of promo codes in the following format:

File example

Mandatory fields of the table with promo codes:

  • “code” — promo code in any format;
  • “expirationDate” — date and time of promo codes expiration in the format 2017-12-31T23:59;
  • “discount” — promo code value from 0 to 99;
  • “type” — an arbitrary name of the promo code type;
  • “inUse” — a flag indicating whether a promo code has been used or not (true/false).

More about promo codes downloading >>

2. Adding additional field Promo code to contact cards

Read more on the creation of additional fields in the instructions. After creating an additional field, copy its ID - you will need to specify it in the body of the JSON request as a field for recording the corresponding promo codes.

Additional field ID

3. Connecting HTTP request

1. Go to your account settings -> Data sources -> New data source -> External data sources.

New data source

2. Select the HTTP request external data source.

HTTP request

3. Set the arbitrary source name.

4. Select the POST protocol type and specify the protocol https://yespo.io/api/v1/contact. This API resource will update the data of the contacts participating in the campaign, adding the received promo codes to contact cards in eSputnik. If you need to update the contact information in your system, specify the appropriate protocol.

POST protocol

5. Activate the Pass JSON in the request body switcher and enter the request body in the corresponding field:

     "channels": [
               "type": "contact unique identifier: email, sms or mobilepush",
               "value": "$data.get('contact_unique_identifier')"
     "fields": [
               "id": "ID of the contact card field created at the previous stage, where the promo code will be recorded",
               "value": "$data.get('promocode')"

JSON in the rquest body

4. Message creating

This functionality works in each of the channels available in the eSputnik system. We will demonstrate how to set it up using a mobile push notification as an example.

1. Set an arbitrary name for the message.

2. Fill the message with the necessary content. Add a velocity variable to it, which will provide data exchange with the HTTP request external data source.

Construction syntax:

#set($url=$!data.get('your data source name'))

In the message body where the promo code should be substituted, specify the variable in the following form:


Variables in message

Contacts who receive the message will see it like this (depending on the OS of the mobile device):

Final message look

5. Workflow creation

The workflow should have 5 required blocks:

Workflow scheme

1. The Start block.

2. Get contact task — the block extracts contact data from the eSputnik database, including the contact’s token to which the push will be sent.

3. Get promo code task — the block retrieves the promo code from the previously loaded list to insert it into the message. This task must have 3 required parameters:

  • days — number of days for which the promo code must be valid;
  • type — the specified type of promo code from the previously loaded list;
  • discount — the amount of discount.

4. The message block.

5. The End block.

More on setting up workflow blocks >>

Set the workflow launch conditions and activate it. Each promo code received in a message by this workflow will be recorded in the card of the corresponding contact.

Promo code in contact card

Any Questions?
We’re always happy to help!
Discount services
Schedule a Call
Fill in the form, and our specialists will call you back as soon as possible.
Discount services
Chat Support
We’re waiting for your questions!
Discount services
Contact the support team