Adding the WhatsApp Channel using Infobip Application
To complete this procedure, you must already have an Infobip account. This is one of the messaging providers for enabling WhatsApp Business Messaging on the Kore Platform.
Steps to configure Infobip:
- Login to the Infobip developer portal.
- On the left navigation menu, click the Channels and Numbers option and select the WhatsApp channel on the Channel Essentials panel.
- To configure a new number for the Infobip and WhatsApp messaging platforms’ integration, follow one of the steps given below:
- Scan the QR code under Overview > Connect on the WhatsApp page on the Infobip portal using the camera or QR scanner on your mobile device.
- Follow the instructions for steps 2 and 3 shown in the image below.
- Alternatively, add the number shown on the screen of the Infobip sender to your WhatsApp contacts.
Note: The mobile number should have the country code preceded by a plus (+) sign to activate the Infobip and WhatsApp connections.
- Once the number is associated, select the Senders tab to view or edit the numbers for WhatsApp messaging.
- Click the ellipses icon under Action and select Edit Configuration.
- On the Edit Configuration page, click the edit icon, add the URL for incoming messages (copy the Webhook URL from the Kore Platform under Deploy > Channels > WhatsApp Business Messaging > Configurations tab) and click Back.
- Next, to add Infobip’s Base URL, follow these steps:
- On the Kore.ai Platform, click the Virtual Assistants tab, and select the published virtual assistant to add the WhatsApp Business Message channel.
- Under Deploy > Channels, click WhatsApp Business Messaging.
- On the WhatsApp Business Messaging panel, click the Configurations tab and provide inputs for the following fields:
- Messaging Partner – Select Infobip from the dropdown list.
- Phone Number – Copy and paste the number displayed on the Infobip portal for your account under the Connect section (please refer to step 3). The Platform now supports adding multiple phone numbers on the WhatsApp Messaging Channel for the same Virtual Assistant. The Virtual Assistant responds to only the source number from which it receives the message rather than a common phone number. Learn more.
- Base URL: Copy the Base URL from this page. This URL will be used on Kore.ai to send the messages when the WhatsApp Business Messaging channel is enabled.
- Username and Password: The username and password of the Infobip account holder. Infobip’s API requires authentication and uses the basic authorization for sending and receiving messages over the API with these values.
- Webhook URL: Copy the webhook URL provided in the configuration tab and update the same on the Infobip developer portal for Infobip to send the received messages from the subscriber (WhatsApp Business Messaging).
- Select Yes to enable the WhatsApp Business Messaging channel.
- Click Save to complete the integration setup.
- On the Kore.ai Platform, click the Virtual Assistants tab, and select the published virtual assistant to add the WhatsApp Business Message channel.
Viewing WhatsApp Message Logs on Infobip
Once you’ve sent a message to Infobip using the WhatsApp Business Messaging channel, you can track the text, Virtual Assistant responses, delivery status, and errors (if any) on your Infobip account under Channels and Numbers > Channel Essentials > WhatsApp > Overview > View Logs.
Messaging Templates
WhatsApp for business communications supports the following messaging types for the Infobip channel:
- Templates: Formatted, non-editable, and pre-registered messages approved by WhatsApp.
- Free-Form texts: Free-flowing text messages.
The Kore.ai XO Platform now supports public APIs for WhatsApp templates on the Infobip channel. These templates can be used during virtual assistant conversations to structure the messages exchanged. Since global UI/rich template formats are not supported, the bot designer should register the required templates with Infobip and get them approved.
The Platform automatically decides the payload to be sent to the channels after parsing Advanced Messages (JS) that include one of the following:
- String: A free-form text message template is used if the JS result is a string.
- Object: A message template is used if the JS result is an object.
Additional Information
- To learn more about creating and managing templates, please refer to this link.
- To know more about various message types and the structure of templates, please refer to this link.
- To learn more about sending template messages, please refer to this link.
Adding the WhatsApp Channel Using GupShup Application
The Platform supports integration with GupShup to enable WhatsApp business as a channel. In this integration, the platform provides a Webhook URL to be called by GupShup during a conversation to enable events and exchange messages.
The important steps in completing this channel enablement are as follows:
1. Create a GupShup Application.
2. Configure the Channel Enablement.
- Create a WABA (WhatsApp Business Account).
- Set up the WABA Parameters on the Platform.
- Configure the Callback URL/Webhook URL.
Step 1: Create a GupShup Application
The first step in the WhatsApp Messaging Channel integration is to create a GupShup application, To create an app, follow the steps below:
- Log in to the GupShup portal and navigate to the Dashboard → WhatsApp section.
- Click the + Create App button.
- On the Create App screen, click Access API to select the app type.
- Provide a unique name for the application and click Submit.
- For Step 2: Onboard your Users, click Next.
Step 2: Configure the Channel Enablement
To send messages to your GupShup users on the WhatsApp Business Messaging Channel, follow the steps below:
Step 2(a): Create a new WhatsApp Business Account
Once you have created a GupShup app, you need to create a WABA to set up the integration with a number. To create a WABA, follow the steps below:
- Navigate to the WhatsApp Dashboard on your GupShup Developer Console.
- Click the Go Live button of the desired app in the list.
- On the Let’s Get Started window, select the New Number option under Managed onboarding with Gupshup.
- Click Proceed.
- Enter your details to set up your WhatsApp Business account and click Next.
- Follow all the instructions on the screen to Setup the WhatsApp Account, Get WhatsApp Approvals, and Complete Verification.
- Once the account is verified with your Facebook Business ID, the WABA ID, Mobile number, and Password are displayed.
Step 2(b): Set up the WABA Parameters on the Platform
To integrate your GupShup service using the WBM channel to the Kore.ai XO Platform, follow the steps below:
- Copy the Mobile number, WABA ID, and the Password from the GupShup WhatsApp Dashboard.
- On the Kore.ai Bot Builder, navigate to Deploy > Channels > WhatsApp Business Messaging (under Enterprise Channels).
- Click the Configurations tab on the WhatsApp Business Messaging window.
- Select GupShup from the dropdown list for Messaging Partner.
- Paste the copied values for Mobile number, WABA ID, and <b.Password in the respective input fields.
Step 2(c): Configure the Callback URL/Webhook URL
To link to your bot on the Kore.ai Platform to receive inbound messages/events, you must configure the Callback/Webhook URL on your GupShup WhatsApp Dashboard.
To set up the Callback URL, follow the steps below:
- On the Kore.ai Bot Builder, navigate to Deploy > Channels > WhatsApp Business Messaging (under Enterprise Channels).
- Click the Configurations tab on the WhatsApp Business Messaging window.
- Ensure you have selected GupShup for the Messaging Partner field. Click Copy to copy the Webhook URL.
- Navigate to your GupShup WhatsApp Dashboard.
- Click the Settings icon for your app of type Access API.
- On the Settings page, scroll down to the Test Access API and set callback URL section.
- Click the Callback URL / Link your Bot tab.
- Turn on the toggle switch and paste the Webhook URL you copied from the Bot Builder in the Enter your Callback URL input field.
- Click Set.
Refer to this link for more information on setting up the Callback/Webhook URL on the Gupshup Dashboard.Note: Contact the Gupshup customer support team to help configure the Kore.ai webhook URL on GupShup and enable inbound messages to the bot. - Once the callback is set successfully on the Kore.ai XO Platform WhatsApp Business Messaging window, follow the steps below:
-
- (Optional) Enable the Associate an App option, if required, and follow the configuration steps.
- Select YES for the Enable Channel option.
- Click Save.
Step 3: Secure the Integration
The Webhook URL used on the WhatsApp Business Messaging Channel for GupShup is a public URL that may cause security vulnerabilities. The Kore.ai XO Platform enforces an authentication mechanism by securing the webhook URL and associating it with a Kore.ai App. The Associate an App feature is used for this purpose.
This feature is available under Deploy > Channels > WhatsApp Business Messaging > Configurations.
How it Works
When Associate an App is enabled, the following happens:
- The URL is called by GupShup (the Callback URL you configure under Settings) where the channel passes the authorization token as the header information.
- The Platform checks for the JWT Token of the associated app in the Header and accepts the Webhook API call(s).
- However, if the Token is missing, the Platform rejects the incoming API call(s) and responds with an error code.
Once you enable Associate an App, you must manually select an app and configure it for the GupShup app (by clicking Copy and pasting the Client ID and Client Secret (shown above) from the Kore.ai XO Platform).
Messaging Templates
As part of the GupShup WhatsApp channel integration, the Platform supports the following Gupshup outbound message types to provide an engaging, interactive end-user experience:
- Templates: WhatsApp-approved, pre-formatted messages that are not editable.
- Free-flowing: Messages that support all media types are known as “free-form.”
You may have to switch between these message types depending on the timing and initiation of the chat.
Whether you are messaging clients inside the messaging window determines the type of message you send. When messaging customers outside of this window, you must follow pre-approved message template rules. Learn more.
Message templates for outbound messages play a crucial role in ensuring businesses adhere to WhatsApp policies when initiating communications. These templates come preformatted with predefined text, providing a structured framework for messages sent to end users. Their reusability is particularly valuable when sending the same message multiple times.
Instead of transmitting the actual message content, the template name serves as the identifier for the message content when sending a message template.
Templates can incorporate placeholders, allowing for the inclusion of values or customized information before sending the template message. Additionally, template headers may include media that provides more detailed information. Introducing buttons to messages further enhances interactivity and engagement.
Message templates typically consist of the following sections. For detailed information on each element, click on the respective section to understand its usage guidelines and limitations:
The Document with Text template is also supported for outbound messages. With this template, developers can send a document along with informative text for end users to download.
A sample template script is given below:
var msg = {
"type": "document",
"message_text":"This is document caption",
"caption":"This document talks about Gupshup features",
"filename": "Developer.pdf",
"document": {"url":"http://enterprise.smsgupshup.com/help/in/EnterpriseAPIDocument.pdf"}
};
print(JSON.stringify(msg))
Prior to submitting notifications through the WhatsApp Business Solution or the WhatsApp Cloud Business Solution, it is imperative to create and register your message templates. This step ensures that the templates comply with WhatsApp’s review requirements, facilitating effective communication within the platform.
The Kore.ai XO Platform supports public APIs for the integration and utilization of WhatsApp Outbound Templates on the GupShup channel. Contact our experts to learn more.
Support for WhatsApp Pay
The XO Platform supports WhatsApp Pay, a digital payment service that enables instant money transfers between banks through mobile devices using the Unified Payments Interface (UPI) system for the GupShup channel. GupShup, as a WhatsApp Business integration provider, supports outbound message types Order Details [Text] and Order Status templates, which are also supported on the XO Platform via APIs.
How it Works
- When the end user completes the transaction using the WhatsApp Pay template rendered on the WhatsApp channel, the Platform receives an inbound message.
- The Inbound message is in the form of a JSON Object containing payment details and their respective status.
- The Platform automatically decides the payload to be sent to the channels after parsing Advanced Messages (JS) that include one of the following:
-
- String: A free-form text message template is used if the JS result is a string.
- Object: A message template is used if the JS result is an object.
- The Platform accepts this JSON object format as the Composite entity type and stores it in the context object under the respective entity.
An example of a success payload is given below:
{ "waNumber": "919XXXXXXXX3", "mobile": "919XXXXXXXX", "interactive": "{\"payment\":{\"transaction_id\":\"31706099xxxx\",\"reference_id\":\"fastag091-12xx\",\"total_amount\":{\"offset\":100,\"value\":300},\"currency\":\"INR\",\"transaction_type\":\"upi\",\"status\":\"success\"},\"type\":\"payment\"}", "name": "ɹɐʞsxxxxx sxxxxxɹɥS", "type": "interactive", "timestamp": "1687160320000" }
Error Response Codes
The table below outlines the various error status codes that may occur when receiving incoming requests through the Gupshup Whatsapp channel:
Scenario | Status Code | Message |
Authorization header is missing | 401 | Access token not found |
Authorization header is incorrect | 401 | Invalid access |
JSON request body is missing | 500 | Internal Server Error |
Invalid “streamId” in the request URL | 500 | Internal Server Error |
Missing “mobile” field in the request body | 500 | Internal Server Error |
Adding the WhatsApp Channel Using Karix Application
To integrate Karix to your WhatsApp Business Messaging channel and enable it for a bot, you’ll need to perform the following setup under the Configuration tab.
Prerequisites
- Gather the following details from the the Karix support team.
-
- Vendor
- Account Key
- From
- Copy the Webhook URL from the Kore.ai Platform and share it with the Karix support team. The Karix support team will need to configure this URL on their platform for a successful handshake between Kore.ai and Karix.
Configuration Steps
On the WhatsApp Business Messaging platform, follow the below steps:
- Select Karix from the list for Messaging Partner.
- Enter the Phone Number to map to the WhatsApp Business Messaging channel.
- Provide the Account Key you’ve received from the Karix support team.
- Provide the Webhook URL shared with the Karix support team.
- Select Yes for Enable Channel.
- Click Save.