Send Gate Plus is an add-on for setting up an automatic process for transferring contacts included in a sendout to other systems. The integrated system can then for example check live consent (and reject individual messages) or add for example promotional codes, tags or other information to those specific contacts.
How does it work?
When you send e.g. a campaign, Symplify will create the messages for all contacts matching your connected segment. When this is done a webhook will be triggered containing a download URL to a file containing all contacts.
The batch with generated messages will be put on hold until the integrated system accept the batch and the messages will then be sent immediately or at the scheduled time.
Setup
The integrating system needs to provide one single webhook endpoint for the whole account that asynchroniously handles all these request. The endpoint will also need to be able to do different things depending on the actions specified in the payload.
Go to Account settings > (Integrations) > Webhooks and add your endpoint (HTTP or SQS) together with authentication information (basic auth, custom header token or AWS IAM information for SQS).
You can then add project specific action prompts/details to be automatically included in all webhooks triggered within the project.
This is managed on Account settings > (Integrations) > Send gate Plus.
You can have different actions on different projects.
Please note! You will also be able to set additional actions on sendout level which will then be merged to the actions on project level (they will not override). Learn more ahead.
Webhook information
Send gate Plus can be used on all types of sendouts but the payload will be slightly different depending on whether the source is a batch generated sendout or single triggered sendouts.
Batch sendouts
The webhook for batch generated sendouts will include the following details:
finishUri: The unique URI for confirming the sendout and release the paused messages in the batch
actions: The actions with their identifiers informs the integrated system how to manage the contacts in the batch
projectName: The name of the project connected to your sendout
journeyName: The name of your journey/campaign
sendoutName: The name of your sendout as given in Symplify
itemDownloadUri: The presigned download link to the file containing the target group for the sendout. Each contact will have an individual cancelUri which you can use when unique messages should be rejected, example:
{"contactId":"10","rejectUri":"https://{server}/rest/sendgate2/reject/{journeyId}/{version}/{step}/{enduserId}/{trip}/{acceptSignature}"}
{"contactId":"12","rejectUri":"https://{server}/rest/sendgate2/reject/{journeyId}/{version}/{step}/{enduserId}/{trip}/{acceptSignature}"}
The file is downloadable for 24 hours.
Example hook content:
{
"finishUri": "https://{server}/rest/sendgate2/accept/batch/{journeyId}/{version}/{step}/{batchId}/{AcceptSignature}",
"actions": [{
"action": "BONUS",
"id": "LOGIN_200"
},
{
"action": "COMPLIANCE_CHECK",
"id": "GO"
}
],
"context": {
"projectName": "ONBOARDING",
"journeyName": "Welcome Journey",
"sendoutName": "Part2"
},
"itemDownloadUri": "https://{presignedLinkForDownloadFile.com}",
"item": null
}
Single sendouts
The webhook for single sendouts will include the same details except there is no itemDownloadUri. Instead, the contact id (original id) of the single contact this hook concerns is given under items along with the rejectUri.
Example hook content:
{
"finishUri": "https:{server}/rest/sendgate2/accept/individual/{journeyId}/{version}/{step}/{enduserId}/{trip}/{acceptSignature}",
"actions": [{
"action": "BONUS",
"id": "Welcome_100"
},
{
"action": "COMPLIANCE_CHECK",
"id": "GO"
}
],
"context": {
"projectName": "ONBOARDING",
"journeyName": "Welcome Journey",
"sendoutName": "Part1"
},
"itemDownloadUri": null,
"item": {
"contactId": "100",
"rejectUri": "https:{server}/rest/sendgate2/reject/{journeyId}/{version}/{step}/{enduserId}/{trip}/{rejectSignature}"
}
}
Accepting/rejecting
To accept a batch and/or reject specific messages you trigger a POST to the specific URi.
Since the URi contains all information and is presigned, you don't have to add either body or authentication when posting.
curl --location --globoff --request POST 'https://{server}/rest/sendgate2/reject/{journeyId}/{version}/{step}/{enduserId}/{trip}/{rejectSignature}'
Managing sendouts
Single contacts or batches of contacts that are not yet approved will pause on a message step until you respond (accept or reject). If you have not responded until the next scheduled step in your campaign flow or until the timeout limit as been reached in a journey, the contacts will either enter the timeout path or exit the flow, depending on your setup.
When adding a message step to your campaign or journey and click edit you will see the tab Send Gate Plus.
Here you can enable the advanced Send Gate Plus split control which will provide three paths in your flow to give you more flexibility to adjust future events if contacts are rejected or timed out on a sendout.
Please note! With split paths disabled, contacts that are rejected or have timed out will not continue the campaign after this step.
Time outs
Time outs are used to release contacts you haven't accepted or rejected. In a well oiled setup, this path should never process any contacts.
For Journey, you can set a time out limit for when contacts should be released from the step, in the case a contact or batch is not accepted/rejected.
In Campaign Manager, the time out is always one (1) hour and you must respond within that hour. Not accepted/rejected contacts will be processed at the time of the next step execution (on any path).
Note that if the upcoming execution is within an hour (the time out period) and you haven't responded to Send Gate, the contacts will not continue the campaign flow.
When scheduling your sendouts you must make sure you have enough time between your steps. All batches must have time to be processed and you must have time to react on the Send gate information.
Therefore, be careful scheduling steps too tight, especially if you are unsure of your response time.
Actions on sendout level
In addition to any actions added on project level, you can also set sendout specific actions. These will be unique for the sendout (and not stored for reuse).
This add-on is available in Campaign Manager and Journeys.
Do you want to learn more about this add-on? Reach out to your Success Manager at Symplify.