
# 接受并处理infobip发送的上行消息接口
#### 接口功能
接受并处理infobip发送的上行消息
#### 使用说明
- 前提条件 正确创建whatsApp渠道配置，选择服务提供商为infobip。
  
- 详见官方文档：https://www.infobip.com/docs
 
#### 接口鉴权
通过infobip集成商接入WhatsApp使用该鉴权方式。
使用说明：
在AICC测，渠道配置页面，配置webhook密码。
调用whatsappadapter测接口，请求中添加请求头AccountKey，AccountKey的值为webhook密码。
#### Headers请求参数
表1请求Headers参数说明 
| 参数名称         | 选取原则 | 参数类型   | 默认值 | 说明                                  |
|:---|:---|:---|:---|:---|
| Content-Type | 必选   | String | 无   | 固定填 application/json;charset=UTF-8。 |
| AccountKey   | 必选   | String | 无   | AICC测渠道配置处配置的webhook认证密码            |
   
#### 接口原型
表2接口原型说明 
|   请求方法    |                                                                                                                    POST                                                                                                                    ||
|---|---|---|
| **请求URL** | https://ip:port/social/on/whatsapp/{whatsAppBsp}/message/{channelId} | 其中，ip:port为对外暴露的nslb的ip和port，whatsAppBsp为集成方， channelId为渠道id |
   
#### BODY请求参数
表3请求Body中参数说明 
| 参数名称    | 选取原则 | 参数类型      | 说明                                                                                                                        |
|:---|:---|:---|:---|
| results | 必选   | Array\[\] | 用户消息列表。[表4] |
   
 表4results中参数说明 
| 参数名称            | 选取原则 | 参数类型       | 说明                                                                                                                    |
|:---|:---|:---|:---|
| from            | 必选   | String     | 用户ID                                                                                                                  |
| to              | 必选   | String     | 渠道ID                                                                                                                  |
| integrationType | 必选   | String     | 接入社交媒体类型，默认为WHATSAPP                                                                                                  |
| messageId       | 必选   | String     | 用户消息唯一编码                                                                                                              |
| message         | 必选   | jsonobject | 具体消息。[表5] |
| contact         | 可选   | jsonobject | [表7]       |
   
 表5message中参数说明 
| 参数名称      | 选取原则 | 参数类型       | 说明                                                                                                                    |
|:---|:---|:---|:---|
| type      | 必选   | String     | 消息类型：text（文本）、audio（音频）、image（图片）、video（视频）、locate（位置）。                                                               |
| context   | 可选   | jsonobject | 消息引用。[表6]。 |
| text      | 可选   | String     | 文本消息内容，消息类型为text。                                                                                                     |
| url       | 可选   | String     | 多媒体消息，消息类型为音频、视频、图片。                                                                                                  |
| caption   | 可选   | String     | 标题，多媒体消息标题。                                                                                                           |
| address   | 可选   | String     | 地址。                                                                                                                   |
| name      | 可选   | String     | 位置名称。                                                                                                                 |
| latitude  | 可选   | BigDecimal | 经度，消息类型为locate                                                                                                        |
| longitude | 可选   | BigDecimal | 纬度，消息类型为locate                                                                                                        |
   
 表6context中参数说明 
| 参数名称 | 选取原则 | 参数类型   | 说明              |
|:---|:---|:---|:---|
| id   | 必选   | String | 引用消息的messageId。 |
| from | 必选   | String | 被引用方。           |
   
 表7contact中参数说明 
| 参数名称 | 选取原则 | 参数类型   | 说明   |
|:---|:---|:---|:---|
| name | 必选   | String | 用户昵称 |
   
#### 响应参数
调用本接口无响应内容。
#### 接口示例
- 请求示例
  ```
  POST /social/on/whatsapp/infobip/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
  accountkey: *************
  content-type: application/json;charset=UTF-8
  cookie: JSESSION*****#*#*****3
  accept: */*
  {"results":[{"from":"861332442355124","to":"447860099299","integrationType":"WHATSAPP","messageId":"ABGHhhMAdBiDLwIQZRJwPq_Gp8cmkj25SvpCDw","message":{"text":"HUAWEI","type":"TEXT"},"contact":{"name":"soebing2021"}}]}
  ```
  
 
