Skip to content

WhatsApp with Syniverse

In collaboration with Syniverse, PeopleStage can send business-initiated messages directly into a WhatsApp conversation that a user has started. The user must have given consent to receiving communications via WhatsApp.

The integration supports:

  • Once a user-initiated chat has started and an opt-in has been captured, commercial business-led messages can be sent into the WhatsApp conversation within a 24-hour window.
  • Messages sent at any time using approved templates in business-initiated chats, for opted-in recipients only.

Messages are pre-approved by WhatsApp and can be personalised using data held in your Apteco system.

WhatsApp Business API campaigns can be set up in PeopleStage as a single-stage single-channel campaign or as part of a multi-stage multi-channel journey. Recipients can opt out at any time and be automatically excluded by PeopleStage. Statistics such as opt-out, seen, and delivered are available in PeopleStage.

Before you begin

This guide assumes you have created the Response Database, set up your FastStats Email Response Gatherer (FERG) folders, and set up your BULK insert folder. Contact your support department if you need more information.

Note

You do not need to create a Response Database if your system includes PeopleStage.

Creative template

You must have admin permissions to access this function and define the WhatsApp creative template in PeopleStage.

You need your WhatsApp Business API template information, including the:

  • Template name(s)
  • Message content for each template
  • List name(s)
  • The number of variables and variable(s) to map in the FastStats system, for example FirstName

Note

For more information on what can be included in a template, see the Syniverse developer documentation for the WhatsApp Business API.

To set up your creative template in PeopleStage:

  1. Open the Creative Template Editor: File > Administration > Creative Template Editor.
  2. Click New Creative Template.

    Creative Template Editor

  3. Select WhatsApp.

    New WhatsApp Template

  4. Enter the approved template name in the Name field.

  5. Enter the approved creative message in the content area.
  6. Use double curly brackets and the variable number to add a variable placeholder, for example {{1}}.
  7. Click Save.

    WhatsApp Template

Channel configuration in PeopleStage

Note

Values shown may be examples only—options differ for each broadcaster.

A system administrator must create the WhatsApp for Business API channel. Once configured, it is available in the deliveries area of the Library.

Syniverse Channel

Basic settings

Name Description
Channel Name (required) Enter a name for the channel, e.g. WhatsApp Syniverse
Allow In Transactional Broadcasts Never
Produce output for tests Not used

Broadcaster settings

Name Description
Broadcaster (required) Select Syniverse from the dropdown
Email Variable Not used
Variable Description Override Not used
Mobile Number Variable (required) Select the mobile number variable from the dropdown
Variable Description Override Optional
Reply Email Address The reply email address used for the message
Reply Mobile Number (required) The mobile number that receives notifications when the channel is used. Must include the + number format. The integration does not work without this number
Number of Retries 0 (zero)
Response File Key Type Email
Message Content Type (required) PeopleStage WhatsApp Template

File settings

File Settings

Leave the default settings on this tab.

Parameter settings

Parameter Settings

Parameter Name Parameter Value
Message Type (required) Select a Syniverse messaging channel option: SMS or WABA (WhatsApp Business API)
Access Token (required) The authorised access token for your Syniverse application
Base Url (required) The base URL for the Syniverse API call, e.g. https://api.syniverse.com
Base Path (required) The base path for the Syniverse API call, e.g. scg-external-api/api/v1/
WhatsApp Namespace (required) The WhatsApp namespace for messaging via the WhatsApp Business API
Language Code (required) A valid language code associated with the approved template(s)
Sender Id (required) The sender address from your Syniverse WhatsApp Business API application
Auto Exclude Opt-Out Automatically exclude recipients who have opted out of receiving messages from the WhatsApp Business number. Default: True. Not required for Syniverse SMS
App Id Application ID of the Syniverse app
Urn Field Name Overrides the URN field name used in your FastStats system
Communication Key Field Name Overrides the communication key field name used in your FastStats system
File Mapping A pipe-delimited list of fields (these headings overwrite any defined in your output sequence), e.g. Urn\|FirstName\|LastName\|Company\|Email\|Message\|Discount
Encoding UTF8

Additional variables

Use this section to map FastStats variables to the broadcaster's variable names. For example, the Forename variable in FastStats may need to be named FirstName in the broadcaster so that templates using that variable are populated correctly.

Additional Variables

Variable Description
Variable Click to search the FastStats system for the additional variable
Variable Description Override Optional—override the variable header description to match the name in the broadcaster, e.g. Forename → FirstName
Formatting Default is Unformatted; options are UPPERCASE, lowercase, or TitleCase
Unclassified as blanks How to handle unclassified selector data: use the system setting From Design, or send no content Empty
Append Additional Variables Directly Deselected by default; select to change whether variables are appended at the End or Beginning of the list

Delivery step

Create a campaign to use with WhatsApp, or add an additional Delivery step to an existing campaign.

  1. Drag the Syniverse WABA channel onto the delivery step.
  2. Click Refresh Channel Message Names to select from the available WABA creative templates.
  3. A separate list name is not required for this channel.

    WABA Delivery

  4. Click Preview and Test to verify that the message name is recognised by Syniverse and that the WhatsApp channel is working correctly before publishing.

    Message Template

Note

Test before publishing to ensure the message is delivered as expected. PeopleStage cannot validate whether the template name specified for a WhatsApp Business API message is correct and approved by WhatsApp (Meta). If an incorrectly named or unapproved message name is used, PeopleStage appears to function normally but Syniverse does not send the message and reports an error.

Once set up and tested, add a campaign schedule and publish the campaign as you would for any other channel in PeopleStage.

WABA Campaign

Response gatherer

You can use the FastStats Email Response Gatherer (FERG) with multiple integrations by using a separate XML and batch file for each integration.

  1. Browse to the directory where you installed the Email Response Gatherer and open EmailResponseConfig.exe.
  2. Enter your Connection String and click Test.
  3. Select Syniverse from the Broadcaster dropdown.
  4. Enter the FTP Username and Password for the WABA API.
  5. Click Add to add all required parameters for the broadcaster.
  6. Use the File menu to save the XML file to the batch and XML file folder.

Response Gatherer

Connection settings

Name Value
Connection String (required) Connection string to the response database for your system
Timeout (secs) Timeout in seconds for connection and query steps; default is 1200
Bulk insert folder (required) Location to store results; SQL Server can BULK COLLECT from this location to optimise processing of high-volume campaigns
PeopleStage Connection String Used for certain broadcasters to retrieve metadata from the PeopleStage database. Not applicable for WhatsApp

Broadcaster parameters

Name Value
Broadcaster (required) Select Syniverse from the dropdown
Username (required) Your FTP/API username, available from Syniverse
Password (required) Your FTP/API password
ACCESSTOKEN (required) Authorised access token of the Syniverse application; unique token provided by Syniverse
BASEURL Base URL for the Syniverse API call; default is https://api.syniverse.com
BASEPATH Base path for the Syniverse API call; default is scg-external-api/api/v1/
MESSAGEPERIOD Period to check for responses, in days (xD) or months (xM); default is 7D
MESSAGESTARTDATE Specify a start date for response retrieval
MESSAGEENDDATE Specify an end date for response retrieval
OPTOUTKEYWORDS Opt-out keyword(s) defined for recipients to stop receiving WhatsApp messages; comma-delimited if multiple, e.g. STOP, OPTOUT
AdditionalFields Pipe-delimited list of additional fields to include in the Response Details table (acts as a filter; only fields in the extract file can be specified). Enter Language for this integration
ConstantFields Pipe-delimited key–value constants separated by #, e.g. Key1#Value1\|Key2#Value2. Enter Broadcaster#Syniverse\|System#Media for this integration
EXECUTIONTAG WABA
EXECUTIONBUFFER Buffer in minutes added to the start of the response window to allow for delayed notifications. Use -1 for this integration

Set FERG to run on a scheduled basis, providing it with the broadcaster's communication details in an XML configuration file and the location to output log files. This example uses Windows Task Scheduler, but any similar scheduler or command-line .cmd file works.