Salesforce Marketing Cloud messaging
The integration between Salesforce Marketing Cloud and Infobip lets you use SMS, LMS, MMS, WhatsApp, Viber, RCS, Kakao Alim, and Kakao ChinguTalk in your customer journeys.
Installation
To install Salesforce Marketing Cloud, Infobip provides a package containing up to six data extensions:
Data extension | Purpose |
---|---|
SMS Delivery Reports | Delivery notifications on SMS and LMS |
Omni Reports | Delivery & Seen notifications on MMS, Viber, WhatsApp, Kakao Alim and Kakao ChinguTalk |
Unified URL Tracking | Click notifications on SMS, LMS, MMS, Viber and WhatsApp |
Inbound Messages | Storing inbound message replies on SMS and WhatsApp |
SampleAudience | Audience sample |
To deploy the package provided by Infobip:
- Log into your Salesforce Marketing Cloud account.
- From the home page, go to Platform > Package Manager.
- Click the Deployment tab and then click Upload from File.
- Select the package file shared by Infobip and click Upload.
- Click Next and then click Deploy.
Once the package is deployed, the data extensions listed above are configured automatically. Their purpose is to allow message data, such as delivery reports, to be sent from Infobip to your Salesforce Marketing Cloud instance. This in turn allows your system to take action based on the data. For example, if an SMS delivery report indicates that a message failed, then your system can use that status information to retry sending the message.
If you plan to use multiple business units in Marketing Cloud separately for sending messages, deploy this package in every business unit separately.
App configuration
This section explains how to add components inside the installed package for configuring the connector and sending messages.
Add installed package for integration (Admin)
You must have Admin permissions to do these steps.
- From your Salesforce Marketing Cloud account, go to Setup.
- Select Platform Tools > Apps > Installed Packages.
- Click New, and then enter the package details.
- Click Save.
The next steps are for creating components inside this installed package.
API integration component
To add the API integration component:
- Add Component button.
- Select API integration and click Next.
- Choose Server-to-Server Integration type and click Next.
- Select the Server-to-Server properties:
- Enable Automation Journeys properties:
- Read
- Write
- Execute
- Activate/Stop/Pause/Resume/Send/Schedule
- Delete
- Enable all Data properties:
- Data Extensions Read and Write
- File Locationsread and Write
- Tracking Events Read and Write
- Enable Automation Journeys properties:
Before creating Marketing Cloud and Journey Builder components, contact your account manager to get the required endpoints.
Marketing Cloud component
To add the Marketing Cloud App component:
- Click Add Component.
- Select Marketing Cloud Appand click Next.
- For a convenient configuration, when adding the names of components, consider using Infobip Configuration.
- Enter the same endpoint shared by the Infobip team in both the Login and Logout textbox.
Journey Builder components
Add two different components, for sending messages and receiving delivery reports:
- Click Add Component.
- Select Journey Builder Activity and click Next.
- For a convenient configuration, when adding the names of components, consider using Infobip Messaging for messaging component and Infobip Reports for delivery reports component.
- From the Category drop-down, select the Custom property.
- Enter the endpoint shared by the Infobip team and save.
Once the components are complete, give access to any user who wants to use application inside the Journey Builder. Without these permissions, the application is hidden.
The setup must be done for every business unit separately.
Configure Infobip configuration app
Authorize the Infobip App to access your Salesforce Marketing Cloud data:
- MID – Enter the ID of your business unit, which can be found in top right corner of the SFMC screen.
- Client Id - Copy and paste the tenant-specific Client Id, which can be found in the setup of the installed package.
- Client Secret - Copy and paste the tenant-specific Client Secret, which can be found in the setup of the installed package.
- SOAP Origin – Copy and paste the tenant-specific SOAP Base URI, which can be found in the setup of the installed package.
- Auth Origin – Copy and paste the tenant-specific Authentication Base URI, which can be found in the setup of the installed package.
Once you click Next, the authorization is done and you have to connect the Infobip account to the Salesforce Marketing Cloud account.
Connect multiple Infobip accounts to the same Salesforce Marketing Cloud business unit.
Fill out the next section with the following information. If you don’t have an Infobip account, you can create one (opens in a new tab).
-
Add API Key – Connect one or multiple Infobip accounts to your SFMC account by entering the API key (opens in a new tab). The following API Scopes need to be enabled for the Salesforce Marketing Cloud API key:
Channel Scopes General (all channels) account-management:manage
numbers:manage
WhatsApp whatsapp:logs:read
whatsapp:manage
whatsapp:message:send
Viber viber-bm:logs:read
viber-bm:manage
viber-bm:message:send
SMS/LMS sms:logs:read
sms:manage
sms:message:send
MMS mms:logs:read
mms:manage
mms:message:send
Kakao kakao:logs:read
kakao:manage
kakao:message:send
RCS rcs:manage
rcs:message:send
-
Add API Base URL – Add your Infobip Base URL and connect your account to the Salesforce. You can find it on the Homepage in the upper right section:
-
To connect to another Infobip account, click
CONNECT ANOTHER ACCOUNT
and repeat the steps. -
When you have connected all the Infobip account/s, go to the next step.
-
Configure the channels to be used within Salesforce:
- Custom Domain - Add the custom domain you want to use when sending URLs. To use a Custom domain for URL shortening, start by registering and verifying the domain through the Infobip web interface (opens in a new tab). It is recommended that you create a subdomain for shortening, following the format
test.sample.com
. The custom domain is then accessible for use within messaging activities. - Choose a messages delivery tracking option - Select between the native and external ways of storing delivery notifications:
- Custom Domain - Add the custom domain you want to use when sending URLs. To use a Custom domain for URL shortening, start by registering and verifying the domain through the Infobip web interface (opens in a new tab). It is recommended that you create a subdomain for shortening, following the format
Native | External |
---|---|
SMS delivery reports - Select from the dropdown list where to save SMS, LMS and MMS delivery reports. Default data extension would be SMS Delivery Reports. | SMS Notification URL – Add webhook resource URL which will be used for storing SMS reports. |
Omni delivery reports - Select from the dropdown list where to save MMS, WhatsApp, Viber, RCS, Kakao Alim, and Kakao Chingu delivery reports. Default data extension would be Omni Reports. | OMNI Notification URL – Add webhook resource URL which will be used for storing Omni reports. |
Url click reports - Select from the dropdown list where to save click reports for all channels. We suggest using Unified URL Tracking data extension. |
If you select the Native method of storing report data, it is not recommended that you add custom fields in the report's data extensions, unless those custom fields are designated as optional. Custom fields are not populated automatically. Be aware that you need to populate them after reports are saved.
If you intend to add custom data fields in report data extensions, it is advisable that you select an External method and use cloud pages for the storage.
- Add your custom Alphanumeric senders:
- SMS Sender Name – your sender name for SMS channel
- Viber Sender Name – your sender name for Viber channel
- Kakao Sender name – your sender name for Kakao channel
- RCS Sender name - your sender name for RCS channel
Custom domain, SMS Sender Name, Viber Sender Name, RCS Sender Name, and WhatsApp Sender Name fields are optional. When adding Alphanumeric sender names or custom domain, after typing the name, press Enter to create a token similar to that in the following screenshot.
Data is saved securely in the Infobip Configuration data extension using encryption methods and the next section is enabled.
Sender names are mandatory in case you are using senders that are not configured for 2-way communication.
When all fields are added, click Save and then save changes for the connected account. When you save changes for every connected account go to the next step and finish configuration. If everything is successful, you receive confirmation that the application has been successfully configured.
Journey Audience Builder
To prepare the Journey Audience and create Audience data extension, consider the following:
- Enable the Is Sendable? feature
- Adding Mobile phone is mandatory - add it with Phone attribute type
- Setting Subscriber key is mandatory - set unique relationship for Subscriber key (for example, ContactKey)
Attribute names must not include any spaces because Infobip Message will not be able to process it.
For reconfiguring the Subscriber key relationship and Sending feature, enter the data extension Audience you want to reconfigure and click Edit on the left side of the screen, then check Used for Sending and map your ContactKey field to relate to the Subscriber key. Click Save.
Your data extension is now ready for use in the Journey Builder. You can add your custom attributes to data extension. The next step is to map the Journey data extension to system data and message reports.
Infobip connector also works with Salesforce Data entry source (Salesforce Campaign and Salesforce Data are supported).
If there are multiple fields with Phone type in the audience data extension, messages are sent to the first populated phone-type field encountered.
Whitelist Infobip IP address
If you have enabled the Log Violations & Deny Access option in the Restrict Logins by IP Address (IP Allowlisting) feature, add the following IP addresses:
20.126.166.5520.126.166.7420.126.166.9020.126.167.11320.126.167.16820.126.167.3920.23.163.14720.23.32.1320.23.33.1120.23.33.13320.23.33.920.23.34.10820.23.34.1620.23.34.4320.23.35.2120.23.35.23020.23.38.2720.23.38.3120.23.38.5820.31.80.11420.31.80.1720.31.80.4520.31.81.17320.4.153.241 | 20.4.153.25020.4.153.25520.4.154.14020.4.154.18120.4.154.19020.4.154.20320.4.154.2220.4.154.22720.4.154.4120.4.154.4620.4.154.5220.4.155.12220.4.155.12420.4.155.13320.4.155.13820.4.155.18220.4.155.1920.4.155.19320.4.156.1620.4.156.18520.4.156.22820.4.156.7420.4.157.10920.4.157.128 | 20.4.157.18520.4.157.21720.4.157.5320.4.158.12620.50.2.9252.137.60.18952.137.60.23452.137.61.8752.137.63.14452.137.63.21652.137.63.6352.157.237.21452.157.238.052.157.238.11052.157.238.13752.157.238.22652.157.238.3852.157.238.6652.157.239.12652.157.239.14952.157.239.24252.236.144.4952.236.144.93 |
How to create a Journey using Infobip channels
This section gives an example of how to create a journey that includes an SMS, Viber, WhatsApp, or Kakao message. To get started:
- Log into Salesforce Marketing Cloud and go to Journey Builder.
- Create the new journey.
- Select whether to build a multi-step journey with the Data Extension or Salesforce Data entry point.
- Select the data extension that was created for this journey.
Include a Message in a Journey
Make sure that you have Administrator role or you allow the Manage Data (Email/Subscribers/Data Extension) and WebService API (Email/Admin/API Access) permissions in your user settings.
Select Infobip Message Custom Activity and enter the MID and Communication channel you would like to use. Then, click Next.
You must define the data extension before configuring the Infobip Message element. If you include the data extension after already defining the Infobip Message element, you may experience issues with the Journey, for example, not being able to pull records from the data extension when messages are being sent.
By default, Bulk Id in reports is defined for SMS, LMS, MMS, Viber, Kakao, and WhatsApp as Infobip SMS, Infobip LMS, Infobip MMS, Infobip Viber, Infobip Kakao, and Infobip WhatsApp, respectively. To change Bulk Id to a different value, provide a different activity name before the activity is configured.
Sending speed limit
The sending speed limit is an optional feature that allows you to determine the rate at which Infobip dispatches messages to recipients. The sending speed limit can be configured on all channels.
Once enabled, two values must be configured:
- message count of messages
- time unit
Message count is a number between 1 and 100.000, and the time unit can be defined as a minute, hour, or day. This setup defines the maximum number of messages that can be sent within the specified time unit.
Messages will be evenly distributed throughout the chosen time unit. For instance, if the configuration instructs the system to send 500 messages per hour, it will dispatch a message approximately every 7.2 seconds.
The following limitations affect the use of the send speed limit feature.
Systems throughput limitation
Both Salesforce and Infobip systems have inherited limitations on how fast messages can be processed for a single activity, so if the configuration would require to send more than couple hundred messages per second, for example 30.000 per minute, it would be better to just turn this option off.
Journey configuration limitation
Sending speed limit is set per journey version and activity! When a new version of the journey is created and executed, it does not consider the messages sent in the previous version. If journey is configured with two messaging activities sending speed limit is applied separately.
Reports activity limitation
Using Reports activity for Messaging activities with Sending speed limit should be done with a lot of thought. In this context, Salesforce Marketing Cloud moves contacts to the activity based solely on the wait time specified within the journey.
In the screenshot above, the messaging activity is configured with a sending speed limit of 50.000 messages per day, and there is only a one-hour delay between the messaging and reports activities. Considering a total contact count of 100.000, the delivery of all messages will span two days. However, as all contacts reach the reports activity after just one hour, a substantial number will be categorized as undelivered.
Journey stopping/pausing limitation
If you pause or stop the journey after all messages have been queued for sending, it won't affect the delivery process. For instance, if there are 100.000 contacts in the audience with a sending speed limit of 50.000 messages per day, it may take only a couple of minutes for all contacts to pass through the messaging activity. Even if youpause or stop the journey after 10 minutes, the queued messages will continue to be delivered as scheduled over the next 2 days.
Receive inbound messages
With the two-way communication feature, once a journey is activated, the end-user will receive a message. They can respond directly to this message, and their reply text will be captured in the Inbound Messages data extension.
Installation and configuration
To set up the app to receive inbound messages for two-way communication:
- Update the installed package to obtain the Inbound Messages data extension where received messages will be stored. To update the installed package, follow instructions for deployment from the beginning.
- In App permissions update, enable List and Subscribers permissions to trigger API Events.
- Update the number configuration you want to use in the Infobip Numbers app for receiving inbound messages.
- Insert the following link:
https://infobip-reports.ibintegrations.com/infobip/webhooks/inboundMessage
- Select
MO_MESSAGES_API_JSON
for Renderer type.
- Insert the following link:
Enable two-way communication
To enable two-way communication in the journey:
- Add and configure the Wait Until Event activity in your journey:
- Click Create New.
- Select Inbound Messages data extension from the webhooks.
- Set Maximum Wait Duration time. If an event doesn't occur during the specified time period, the contact continues on the No Event path of this split. This setting prevents the contact from remaining in the wait step indefinitely.
- Rename the Wait Until Event (SMS Response in the example below) activity.
- Configure the Infobip Messaging Activity and enable Trigger Event on Response.
- Add the Infobip Reports activity after the Wait Until Event to fetch the response, enabling decision-making within the journey.
- Add a decision split to handle all end-user responses and route contacts to the appropriate paths.
- Check the end-user replies in the Inbound Messages data extension.
During the renaming process, be cautious as this activity must be added first for every messaging activity that requires two-way communication. Ensure that you do not use the same name for this activity more than once.
For inbound WhatsApp messages, we currently support text replies only. Any responses that are not text will not be stored.
Two-way communication is supported for SMS, MMS, and WhatsApp channels. Viber will be supported in the next release.
Enabling custom callback data
Custom callback data is an optional feature that allows you to add custom fields to your callback data.
To add custom callback data, enable the toggle button in the Message Activity configuration and click + Add custom callback data.
You then see the Field name and Field value inputs. Insert free-form values or select and personalize callback data with merge fields from a drop-down.
The following table shows the limitations and recommendations for keywords and file names.
Restricted keywords for field name: | Field name restrictions: |
---|---|
ActivityId BulkId From Message JourneyName ContactKey MID VersionId VersionNumber TemplateName |
|
The callbackData
parameter is limited to 4000 characters both on the Infobip API and data extensions. Salesforce Marketing Cloud currently uses 250-600 characters for callback data, depending on message length, so it is important to stay within the limits. The message fails if the limit is reached.
The following image shows custom callback data saved in the Delivery reports data extension.
Multiple phone fields
The Multiple phone fields feature is applicable only when a data extension contains more than one field of the type phone. This feature is particularly useful in scenarios where different customer phone numbers need to be stored across various columns within the same Data Extension. For example, if a business needs to store separate phone numbers for home, work, and mobile contacts, each can be saved in different columns (for example, "Home Phone," "Work Phone," "Mobile Phone") in the same data extension. This allows for greater flexibility in targeting communications, ensuring the right message reaches the right phone number based on the intended use case.
This feature is automatically activated if the data extension contains more than one phone type field. The feature will not be visible if data extension contains only one field of type "Phone".
SMS
Set up the message according to the form and click Next. For SMS, you can add a link to the message for URL tracking. When an end user clicks the link, a report is sent to the SMS URL Tracking data extension. You can send a test message if you want to, but the journey must be activated and you cannot use placeholders in test messages.
To add tracking and URL shortening for URLs in the SMS body, select URL Shortening & Tracking.
You can use the default domain or choose the domain from the list that was added in the Infobip Config.
To remove https:// from the URL, select Remove https:// from domain.
For India local traffic only
To define the DLT (Distributed Ledger Technology) template, select DLT Template (India local traffic only) and update the following fields:
- Principal Entity ID (mandatory) - Your assigned DLT principal entity ID
- Content Template ID (optional) - The registered DLT content template ID that matches the message you are sending
LMS
LMS stands for Long SMS. Give your message a title and personalize it so every end-user in the journey gets personalized message. Please keep in mind that the Reseller code is mandatory field and you need to enter one to send SMS messages to phone numbers registered in South Korea.
To add tracking and URL shortening for URLs in the LMS body, enable URL Shortening & Tracking.
To include the sending speed limit in this activity, enable the Sending speed limit toggle button. Then, input the amount of the messages that will be sent to recipients within the selected time unit.
MMS
Send interactive MMS messages and get delivery reports. Add MMS segment type and create interactive messages. Text and Media files (image, video, audio, documents, and so on) are supported. Personalize the message by adding merge fields from the dropdown list.
All operators handle messages of up to 300KB of data. Most of the US and Canadian carriers can handle up to 1MB of data. It’s recommended to send a test message before saving.
To include the sending speed limit in this activity, enable the Sending speed limit toggle button. Then, input the amount of the messages that will be sent to recipients within the selected time unit.
Viber
To send more interactive messages, you can send text message and include an image URL, a button name, and a button URL in a Viber message. Choose your message type from the dropdown list.
You can personalize the message by adding merge fields from the dropdown list.
To include the sending speed limit in this activity, enable the Sending speed limit toggle button. Then, input the amount of the messages that will be sent to recipients within the selected time unit.
Viber (deprecated)
Do not use this deprecated activity. Use the new Viber activity instead.
To send journey messages by using the WhatsApp channel, you must create and register your message templates (opens in a new tab) and then submit the templates to WhatsApp for approval. Select a template from the Template drop-down list.
Supported templates are:
- Text Templates
- Media Templates
Personalize templates by adding placeholder values. To add tracking and URL shortening for URLs in the WhatsApp body, enable URL Shortening & Tracking.
URL Shortening & Tracking are exclusively applied to URLs within the template body parameter. If a URL is placed in the template header, it is shortened but not tracked. Similarly, URLs within the template-defined button are not tracked.
KakaoChinguTalk
This channel lets you include these elements in a message:
- Text
- Image URL
- Image link
- Up to 5 buttons (supported types are web link and app link)
In addition to supporting text, you can include an image UR, a button name, and a button URL in a Viber message, you can also personalize these elements.
After you click Next, then click Verify Scenario Key to finish the configuration.
Custom domain URL shortening is currently only supported for SMS.
To include the sending speed limit in this activity, enable the Sending speed limit toggle button. Then, input the amount of the messages that will be sent to recipients within the selected time unit.
Kakao Alim
This channel is currently in a test version and uses templates to send messages. To register a template, contact Kakao Alim support.
To create a template, there are some mandatory fields you need to fill in. Please make sure you enter the correct data for the template you are trying to use, as currently there are no validations. Templates are built of Mandatory fields: Template name and Message Body, and Optional fields: Template title, Image URL, and Buttons.
Kakao Alim supports seven different button types:
- App Link
- Delivery Tracking
- Web Link
- Chatbot Switch
- Bot Keyword
- Message Delivery
- Add Channel
You can personalize the message by adding merge fields from the dropdown list in the Message Body.
To include the sending speed limit in this activity, enable the Sending speed limit toggle button. Then, input the amount of the messages that will be sent to recipients within the selected time unit.
RCS
To send messages using the RCS channel, you must have a registered sender on your Infobip account.
Send messages to one of the following supported types:
- text
- file
- card
- carousel
You can also add suggestions as clickable actions on the entire message as well as a single suggestion on individual card or cards inside carousel. The possible combinations include:
- Reply
- Open URL
- Dial phone
- Show location
In addition, the RCS channel supports adding custom callback data, enforcing a sending speed limit, and URL shortening and tracking.
Error handling for Infobip message custom activity
In situations where a user makes an error or if Marketing Cloud doesn't send all of the details for a successful request, the app returns messageStatus as outArgument in the Journey Data, rather than a hard error. A hard error would cause the record to become stuck on this activity and not continue with the journey.
So, if something is wrong with the request, the app returns success but with an additional payload that describes the error. You can use this payload to evaluate whether you wish to re-engage the record with another message.
This type of error handling is useful for validating and creating a decision split when the request record is re-engaged. For example, the following scenario describes decision split checking where the phone field is empty. In this example, you can see a data extension where one record has phone and the other record is empty.
To set up the decision split, add the data extension to a journey as an entry source and configure Infobip message activity.
Create the decision split and choose messageStatus from Custom Activity (Infobip SMS).
You can see in this example that messageStatus is: Error: Missing phone number in request.
The result of the sample send is similar to the following:
The record with an empty phone number is injected to the NO PHONE NUMBER path.The record with a phone number follows the WITH PHONEpath.
In the custom activity details, you see a Success status.
In the status detail for the record with the empty phone, you see the BadRequest status.
See the following table for the full list of possible responses for messageStatus and the channels available for that response.
Message status | Channels |
---|---|
Success | SMS, LMS, MMS, Viber, WhatsApp, Kakao ChinguTalk, Kakao Alim |
Error: Missing phone number in request | SMS, LMS, MMS, Viber, WhatsApp, Kakao ChinguTalk, Kakao Alim |
Error: Invalid text length | SMS, WhatsApp, Viber |
Error: Invalid template name | |
Error: Invalid scenario key | Viber |
Error: Invalid promotional flag | Viber |
Error: Invalid image url length | Viber, Kakao |
Error: Invalid from field | WhatsApp, Kakao, Viber |
Error: Invalid buttons field length | Kakao |
Error: Invalid button url length | Viber |
Error: Invalid button text length | Viber, Kakao |
Error: Invalid button text length | Kakao |
Error: Invalid androidScheme and iosScheme length | Kakao |
Get message report
After you add the Infobip Message element, you can add the Infobip Get Reports element to retrieve a report from the message that was sent.
You can select the message that was configured inside the journey under Select message activity and the data extension where the report has been saved under the Select data extension drop-down list.
The available data extensions for reports are:
- Delivery Reports - fetching information if the message was delivered, rejected, or seen.
- URL Tracking Reports - fetching information if the URL link inside the message, for that proper channel, was clicked.
Message status is saved under Journey Data and it is available in the decision split.
In the cases where Infobip is trying to deliver a message on a device for some time, no report is created in the data extension. For this, you see Journey Data NOT_AVAILABLE for delivery reports and NOT_CLICKED for click reports.
Set Up a Decision Split
After you set up the activity for saving messageId, you can define a decision split in the flow:
- Click Edit.
- Under Attributes, click Journey Data.
- Click Custom Activity: Infobip Reports
- Depending on the report data extension that you selected in the previous step, you see statusName for Delivery reports and the URL for URL Tracking reports.
The available parameters for Delivery reports are:
- statusName
- statusGroupName*
- errorName
- doneAt
- sentAt
- seenAt (for Omni reports)**
The available parameters for URL Tracking reports are:
- notificationType
- url***
* statusGroupName equals to DELIVERED to check delivery status
** If seenAt is not empty, add SEEN as the value in decision split. Otherwise, use NOT_SEEN.
*** For URL clicks in SMS messages, you can check the exact value of URL parameters (for example, which URL is being tracked).
For example, if https://www.infobip.com (opens in a new tab) was the URL sent in the message, the decision split branch should check if the URL is equal to https://www.infobip.com (opens in a new tab). If there is no click report saved for a specific customer, check if the URL is equal to NOT_CLICKED.To see if a Viber message was viewed, check whether the seenAt value in the Omni message report is not null.
For descriptions of the possible message statuses, see the Response Status and Error Codes documentation.
There are five statuses that are returned to Journey Data in a Decision Split:
-
DELIVERED
- The message has been successfully processed and delivered.
- If you want to check whether the message arrived to the customer's device, DELIVERED_TO_HANDSET is returned and checked in the decision split.
-
UNDELIVERABLE
- This status is returned if the message was sent to the operator but it was rejected by them or they returned UNDELIVERED status.
- Multiple statuses can be returned, so it's best to check if statusName begins with UNDELIVERABLE.
-
REJECTED
- The message has been received but has either been rejected by Infobip or the operator has reverted REJECTED as final status.
- Multiple statuses can be returned, so it's best to check if statusName begins with REJECTED.
-
EXPIRED
- The message has been sent and has either expired due to pending past its validity period (our platform default is 48 hours), or the delivery report from the operator has reverted the expired as a final status.
- Multiple statuses can be returned, so it's best to check if statusName begins with EXPIRED.
-
NOT_AVAILABLE
- Delivery of the message is pending (message is not yet delivered, however it can technically be delivered), the operator keeps trying to deliver the message until its expiry.
- To check this status, add a new branch and check if statusName begins with or is equal to NOT_AVAILABLE.
Set Up Contact Information for the Journey
After you finish setting up the journey, you need to select a Contact Entry to use. You map the default mobile number to the data type, Phone, in your data extension. This is available from the drop-down.
When setting up a Journey based on a copy of an already existing Journey, make sure that you've reconfigured the Infobip message activity, otherwise you receive an error message.
When activating Journeys based on automations, make sure that the data extension entry source is already defined and the automation already exists before running journeys.
Reports
This section show the full list of attributes available for each of the reports.
OMNI reports
OMNI delivery reports
OMNI delivery reports fetch the information about whether the message was delivered, rejected, or seen.
Attribute Name | Attribute Type | Is nullable | Default value | Length | Description |
messageId | Text | 50 | The ID that uniquely identifies the message sent. | ||
messageCount | Integer | x | 1 | Number of messages sent to end user. Count is always 1. | |
to | Text | 50 | Message destination address. Addresses must be in international format | ||
pricePerMessage | Decimal | x | The price per individual message. | ||
priceCurrency | Text | x | 5 | The currency in which the price is displayed. | |
statusGroupId | Integer | Status group ID. | |||
statusGroupName | Text | 50 | Group name for the status. | ||
statusId | Integer | Status ID. | |||
statusName | Text | 50 | Status name. | ||
statusDescription | Text | 100 | Human-readable description of the status. | ||
errorGroupId | Integer | x | Yes | Error group ID. | |
errorGroupName | Text | x | 50 | Error group name. | |
errorId | Integer | x | Error ID. | ||
errorName | Text | x | 50 | Error name. | |
errorDescription | Text | x | 1000 | Human-readable description of the error. | |
errorPermanent | Boolean | x | Indicates whether the error is permanent. | ||
callbackData | Text | x | 4000 | The callback data sent through the callbackData field in your fully featured message. | |
sentAt | Date | 50 | Date and time the message was sent. | ||
doneAt | Date | 50 | Date and time the message was finished processing by Infobip. | ||
seenAt | Date | x | 50 | Tells when the message was seen. | |
from | Text | x | 50 | ||
channel | Text | x | 50 | Channel which was used for sending messages |
Viber URL Tracking
Viber URL Tracking (soon to be deprecated) fetches information about whether the link inside message was clicked.
Attribute Name | Attribute Type | Is nullable | Default value | Length | Description |
notificationType | Text | x | 50 | CLICKED | |
messageId | Text | x | 50 | The ID that uniquely identifies the message sent. | |
recipient | Text | x | 50 | Contact who clicked on the URL | |
url | Text | x | 1000 | URL that was clicked in message | |
sendDateTime | Text | x | 50 | Date and time contact clicked on the URL in UNIX format. | |
deviceType | Text | x | 50 | Phone or desktop | |
os | Text | x | 50 | OS running on the device | |
deviceName | Text | x | 50 | Device manufacturer (Samsung, PC, Apple) | |
callbackData | Text | x | 4000 | The callback data sent through the callbackData field in your fully featured message. |
SMS reports
SMS delivery reports
SMS delivery reports fetch the information about whether the message was delivered, rejected, or seen.
Attribute Name | Attribute Type | Is nullable | Default value | Length | Description |
messageId | Text | 50 | The ID that uniquely identifies the message sent. | ||
messageCount | Integer | x | 1 | Long SMS messages have a character limit on how much can be sent over one message. | |
to | Text | 50 | Message destination address. Addresses must be in international format | ||
pricePerMessage | Decimal | x | The price per individual message. | ||
priceCurrency | Text | x | 5 | The currency in which the price is displayed. | |
statusGroupId | Integer | Status group ID. | |||
statusGroupName | Text | 50 | Group name for the status. | ||
statusId | Integer | Status ID. | |||
statusName | Text | 50 | Status name. | ||
statusDescription | Text | 100 | Human-readable description of the status. | ||
errorGroupId | Integer | x | Yes | Error group ID. | |
errorGroupName | Text | x | 50 | Error group name. | |
errorId | Integer | x | Error ID. | ||
errorName | Text | x | 50 | Error name. | |
errorDescription | Text | x | 1000 | Human-readable description of the error. | |
errorPermanent | Boolean | x | Indicates whether the error is permanent. | ||
callbackData | Text | x | 4000 | The callback data sent through the callbackData field in your fully featured message. | |
sentAt | Date | 50 | Date and time the message was sent. | ||
doneAt | Date | 50 | Date and time the message was finished processing by Infobip. | ||
originalMCC | Text | x | 50 | Mobile country code of the recipients number | |
originalMNC | Text | x | 50 | Mobile network code of the recipients number | |
channel | Text | x | 50 | Channel which was used for sending messages |
SMS URL tracking
SMS URL tracking reports fetches information about whether the link inside message was clicked.
Attribute Name | Attribute Type | Is nullable | Default value | Length | Description |
notificationType | Text | x | 50 | CLICKED | |
messageId | Text | x | 50 | The ID that uniquely identifies the message sent. | |
recipient | Text | x | 50 | Contact who clicked on the URL | |
url | Text | x | 1000 | URL that was clicked in message | |
sendDateTime | Text | x | 50 | Date and time contact clicked on the URL in UNIX format. | |
deviceType | Text | x | 50 | Phone or desktop | |
os | Text | x | 50 | OS running on the device | |
deviceName | Text | x | 50 | Device manufacturer (Samsung, PC, Apple) | |
callbackData | Text | x | 4000 | The callback data sent through the callbackData field in your fully featured message. |
Unified URL tracking
Unified URL tracking fetches information about whether the link inside message was clicked.
Attribute Name | Attribute Type | Is nullable | Default value | Length | Description |
---|---|---|---|---|---|
notificationType | Text | x | 50 | CLICKED | |
messageId | Text | 50 | The ID that uniquely identifies the message sent. | ||
recipient | Text | x | 50 | Contact who clicked on the URL | |
url | Text | x | 1000 | URL that was clicked in message | |
sendDateTime | Date | x | 50 | Date and time contact clicked on the URL. | |
deviceType | Text | x | 50 | Phone or desktop | |
os | Text | x | 50 | OS running on the device | |
deviceName | Text | x | 50 | Device manufacturer (Samsung, PC, Apple) | |
callbackData | Text | x | 4000 | The callback data sent through the callbackData field in your fully featured message. | |
channel | Text | 50 | Channel used for the message (Viber, SMS, Whatsapp…) |