Interface for Receiving and Processing Upstream Messages Sent by Gupshup
Function
This interface is invoked to receive and process upstream messages sent by Gupshup.
Usage Description
Interface Authentication
This authentication mode is used for WhatsApp access through the Gupshup integrator.
Instructions:
In the AICC, the webhook password is configured on the Channel Configuration page.
The request header Authorization is added to the request and the WhatsAppAdapter interface is invoked. The value of Authorization is the webhook password.
Request Header Parameters
|
Parameter |
Mandatory |
Type |
Default Value |
Description |
|---|---|---|---|---|
|
Content-Type |
Yes |
String |
None |
The value is fixed at application/json; charset=UTF-8. |
|
Authorization |
Yes |
String |
None |
Webhook authentication password configured on the Channel Configuration page in the AICC. |
Interface Prototype
|
Method |
POST |
|
|---|---|---|
|
URL |
https://IP address:Port number/social/on/whatsapp/{whatsAppBsp}/message/{channelId} |
IP address:Port number indicates the IP address and port number of the NSLB exposed externally. {whatsAppBsp} indicates the integrator. {channelId} indicates the channel ID. |
Request Body Parameters
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
timestamp |
Yes |
Long |
Sending time of a message. The value is a Unix timestamp, in seconds. |
|
type |
Yes |
String |
Message type: message. |
|
payload |
Yes |
object |
Message carrier. For details, see Table 4. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
id |
Yes |
String |
Unique code of a customer message. |
|
source |
Yes |
String |
Mobile number when the customer registers for WhatsApp. |
|
type |
Yes |
String |
Message type: The options are text, audio, image, video, location, button_reply, list_reply, and quick_reply. |
|
payload |
Yes |
object |
Message content. |
|
context |
No |
object |
Reference message information. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
context |
No |
object |
Message reference. For details, see Table 6. |
|
sender |
Yes |
object |
Message sender information. For details, see Table 7. |
|
text |
No |
String |
Text message content. This parameter is available when the message type is text. |
|
url |
No |
String |
Multimedia message. This parameter is available when the message type is audio, video, or image. |
|
caption |
No |
String |
Title of a multimedia message. |
|
contentType |
No |
String |
File type. Example: image/jpg |
|
name |
No |
String |
Multimedia file name. |
|
latitude |
No |
String |
Latitude. This parameter is available when the message type is location. |
|
longitude |
No |
String |
Longitude. This parameter is available when the message type is location. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
id |
Yes |
String |
Unique ID of a WhatsApp message. |
|
gsId |
Yes |
String |
Unique ID of a Gupshup message. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
phone |
Yes |
String |
Complete customer number, including the country code. |
|
name |
Yes |
String |
Customer nickname. |
|
country_code |
Yes |
String |
Country code of a customer. For example, 86 indicates China. |
|
dial_code |
Yes |
String |
Mobile number of a customer, excluding the country code. |
Response Parameters
No response is returned when this interface is invoked.
Example
- Request
POST /social/on/whatsapp/gupshup/message/202105102694809992 host: 10.10.10.2:18446 connection: Keep-Alive x-forwarded-for: 10.10.10.3, 10.10.10.4 x-real-ip: 10.10.10.5 content-length: 401 remote-host: 10.10.10.6 user-agent: java/socket Authorization: ************* content-type: application/json; charset=utf-8 accept: */* { "timestamp": 1743146844100, "type": "message", "payload": { "id": "wamid.HBgNODYxODc2NTkwMjAwMRUCABIYIEVCRTAwQUI4RDEyMDVCNzBCQUU0ODEyOUM0NTQ0RUEzAA==", "source": "8618*****1", "type": "image", "payload": { "url": "https://filemanager.gupshup.io/wa/*********", "contentType": "image/jpeg", "urlExpiry": 1743751644100 }, "sender": { "phone": "8618*******1", "name": "AI****i", "country_code": "86", "dial_code": "18*****1" } } }
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot