接受并处理gupshup发送的上行消息接口
接口功能
接受并处理gupshup发送的上行消息。
接口鉴权
通过gupshup集成商接入WhatsApp使用该鉴权方式。
使用说明:
在AICC测,渠道配置页面,配置webhook密码。
调用whatsappadapter侧接口,请求中添加请求头Authorization,Authorization的值为webhook密码。
Headers请求参数
|
参数名称 |
选取原则 |
参数类型 |
默认值 |
说明 |
|---|---|---|---|---|
|
Content-Type |
必选 |
String |
无 |
固定填 application/json; charset=UTF-8。 |
|
Authorization |
必选 |
String |
无 |
AICC测渠道配置处配置的webhook认证密码 |
接口原型
|
请求方法 |
POST |
|
|---|---|---|
|
请求URL |
https://ip:port/social/on/whatsapp/{whatsAppBsp}/message/{channelId} |
其中,ip:port为对外暴露的nslb的ip和port,whatsAppBsp为集成方, channelId为渠道id |
BODY请求参数
|
参数名称 |
选取原则 |
参数类型 |
说明 |
|---|---|---|---|
|
timestamp |
必选 |
long |
用户发送消息的时间;为Unix时间戳(秒); |
|
type |
必选 |
String |
消息的类型;message(用户消息) |
|
payload |
必选 |
object |
消息的载体;表4 |
|
参数名称 |
选取原则 |
参数类型 |
说明 |
|---|---|---|---|
|
id |
必选 |
String |
用户消息唯一编码 |
|
source |
必选 |
String |
用户注册whatsapp的手机号 |
|
type |
必选 |
String |
消息类型:text(文本)、audio(音频)、image(图片)、video(视频)、location(位置)、button_reply(交互式按钮回复消息),list_reply(交互式列表回复消息)、quick_reply(模板快速回复消息) |
|
payload |
必选 |
object |
消息内容; |
|
context |
可选 |
object |
引用消息信息; |
|
参数名称 |
选取原则 |
参数类型 |
说明 |
|---|---|---|---|
|
context |
可选 |
object |
消息引用。表6 |
|
sender |
必选 |
object |
消息发送人信息。表7 |
|
text |
可选 |
String |
文本消息内容,消息类型为text。 |
|
url |
可选 |
String |
多媒体消息,消息类型为音频、视频、图片。 |
|
caption |
可选 |
String |
标题,多媒体消息标题。 |
|
contentType |
可选 |
String |
文件类型。如:image/jpg |
|
name |
可选 |
String |
多媒体文件名。 |
|
latitude |
可选 |
String |
纬度,消息类型为location |
|
longitude |
可选 |
String |
经度,消息类型为location |
响应参数
调用本接口无响应内容。
接口示例
- 请求示例
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" } } }