文档首页/ 云客服/ API参考/ 网页客户端接入/ 提供whatsapp发送下行消息(sendWhatsappMessage)
更新时间:2024-08-02 GMT+08:00

提供whatsapp发送下行消息(sendWhatsappMessage)

场景描述

提供WhatsApp发送下行消息接口。

接口方法

POST

接口URI

https://域名/apiaccess/rest/ccmessaging/omni/1/advanced,例如域名是service.besclouds.com

请求说明

表1 请求头参数

序号

名称

参数类型

是否必选

说明

1

Authorization

string

True

鉴权字段,内容格式为: Bearer +tokenByAKSK接口的返回值中AccessToken(Bearer后有空格)

2

x-app-key

string

True

appKey字段,用户标识,在ApiFabric工具上配置

3

Content-Type

string

True

内容类型

表2 请求体参数

序号

名称

参数类型

是否必选

说明

1.1

scenarioKey

string

False

唯一标识发送消息时将使用的方案的方案密钥。如果未设置此字段,将使用默认方案。

AICC不会发送此字段。

1.2

bulkId

string

True

唯一标识请求的ID。只有当您将消息发送到多个目标地址时,才会收到批量ID。

1.3

destinations

array[object]

True

消息收件人列表。

1.3.1

messageId

string

True

唯一标识已发送消息的ID

1.3.2

to

object

True

消息目的地地址

1.3.2.1

phoneNumber

string

True

目标电话号码。电话号码必须是国际格式(例如:41793026727)

1.4

whatsApp

whatsApp

True

封装的whatsapp对象

1.5

sendAt

string

False

要发送消息的日期和时间。用于计划的OMNI消息传递(OMNI流中的第一条消息不会立即发送,但会在计划的时间发送)。

表3 whatsApp参数结构

序号

名称

参数类型

是否必选

说明

1.1

text

string

False

将发送的消息的文本。

1.2

imageUrl

string

False

WhatsApp消息中发送的图像的URL。最多2048个字符。支持的图像类型:jpg、jpeg、png。最大图像大小为2MB。

1.3

audioUrl

string

False

WhatsApp消息中发送的音频文件的URL。最多2048个字符。支持的音频类型有AAC。最大音频大小为2MB。

1.4

videoUrl

string

False

WhatsApp消息中发送的视频的URL。最多2048个字符。支持的视频类型为MP4。最大视频大小为10MB。

1.5

locationName

string

False

最大长度为1000。

将发送的消息的文本。

1.6

address

string

False

最大长度为1000。

地址位置,可选值。

1.7

longitude

number

False

坐标的经度。该值必须介于-180和180之间。

1.8

latitude

number

False

坐标的纬度。该值必须介于-90和90之间。

1.9

templateName

string

False

模板名称

1.10

templateData

array[string]

False

按模板中注册的顺序排序的模板参数值

1.11

language

string

False

要使用的语言或区域设置的代码。需要与注册模板时使用的代码完全相同。

1.12

mediaTemplateData

mediaTemplateData

False

mediaTemplateData封装对象

表4 mediaTemplateData参数结构

序号

名称

参数类型

是否必选

说明

1.1

header

HeaderObject

False

媒体模板标题。对于包含标题的媒体模板是必需的。

1.2

body

BodyObject

False

媒体模板体

1.3

buttons

array[object]

False

媒体模板按钮

表5 HeaderObject参数结构

序号

名称

参数类型

是否必选

说明

1.1

textPlaceholder

string

False

文本占位符。对于包含文本标题的模板是必需的。

1.2

imageUrl

string

False

图像URL。对于包含图像标题的模板是必需的。支持的图像类型:jpg、jpeg、png。最大图像大小为2MB。

1.3

videoUrl

string

False

视频URL。对于包含视频标题的模板是必需的。支持的视频类型为MP4。最大视频大小为10MB。

1.4

latitude

number

False

位置纬度。该值必须介于-90和90之间。对于包含位置标题的模板是必需的。

1.5

longitude

number

False

位置经度。该值必须介于-180和180之间。对于包含位置标题的模板是必需的。

表6 BodyObject参数结构

序号

名称

参数类型

是否必选

说明

1.1

placeholders

array[string]

False

媒体模板正文占位符。该值不能为空,但可以是空数组。数组中的值不能为Null或空

表7 ButtonObject参数结构

序号

名称

参数类型

是否必选

说明

1.1

urlPlaceholder

string

False

要发送消息的日期和时间。用于计划的OMNI消息传递(OMNI流中的第一条消息不会立即发送,但会在计划的时间发送)。

1.2

quickReplyPayload

string

False

快速回复有效载荷。快速回复按钮需要

表8 destinations参数结构

序号

名称

参数类型

是否必选

说明

1.1

messageId

string

True

唯一标识已发送消息的ID

1.2

to

toObject

True

消息目的地地址

表9 MessageObject参数结构

序号

名称

参数类型

是否必选

说明

1.1

to

toObject

False

消息目的地地址

1.2

status

StatusObject

False

指示消息是否已成功发送、未发送、已传递、未传递、正在等待传递或任何其他可能的状态。

1.3

messageId

string

False

唯一标识已发送消息的ID

表10 toObject参数结构

序号

名称

参数类型

是否必选

说明

1.1

phoneNumber

string

True

目标电话号码。电话号码必须是国际格式(例如:41793026727)。

表11 StatusObject参数结构

序号

名称

参数类型

是否必选

说明

1.1

groupName

string

True

状态组名称

1.2

id

integer

True

状态ID

1.3

groupId

integer

True

状态组ID

1.4

name

string

True

状态名称

1.5

action

string

False

应采取的消除错误的操作

1.6

description

string

True

状态的可读描述

响应说明

  • 响应状态码: 200
    表12 响应体参数

    序号

    名称

    参数类型

    是否必选

    说明

    1.1

    messages

    array[object]

    True

    已发送消息对象数组,每条消息一个对象

    1.1.1

    to

    object

    True

    消息目的地地址

    1.1.1.1

    phoneNumber

    string

    True

    目标电话号码。电话号码必须是国际格式(例如:41793026727)

    1.1.2

    status

    object

    True

    status对象

    1.1.2.1

    groupId

    number

    True

    状态组id

    1.1.2.2

    groupName

    string

    True

    状态组名称

    1.1.2.3

    id

    number

    True

    状态id

    1.1.2.4

    name

    string

    True

    状态名称

    1.1.2.5

    description

    string

    True

    状态的可读描述。

    1.1.2.6

    action

    string

    False

    应采取的消除错误的操作。

    1.1.3

    messageId

    string

    True

    唯一标识已发送消息的ID

    1.2

    bulkId

    string

    True

    唯一标识请求的ID。

  • 响应状态码: 400

    错误的请求:请检查请求路径及参数。

  • 响应状态码: 401

    未授权:1.请确认是否购买了相关服务。2.请联系客服人员检查您账号的当前状态。

  • 响应状态码: 404

    请求的内容未找到:请检查请求的路径。

  • 响应状态码: 500

    错误的请求:请依次确认您请求中各参数的取值。

错误码

无。

报文样例

  • 场景描述:WhatsAPP发送模板消息支持oAuth认证

    URL:请求成功报文

    请求头:

    {
        "x-app-key": "268e19b9-aae6-488a-bec6-5c9a67692946",
        "Authorization": "Bearer 2febd549********************b9daff1",
        "Content-Type": "application/json"
    }

    请求参数:

    {
        "bulkId": "2853BC8B21D23F473AB9AE41B75F34FC18D322B91B01F60FAF206ACEBA9EF7BD",
        "whatsApp": {
            "templateName": "1",
            "templateData": [],
            "language": "zh_CN"
        },
        "destinations": [
            {
                "messageId": "46dbab11-f9cc-4d32-852b-cbba988b7d08",
                "to": {
                    "phoneNumber": "155****8467"
                }
            }
        ]
    }

    响应参数:

    {
        "messages": [
            {
                "messageId": "10011",
                "to": {
                    "phoneNumber": "173****6067"
                },
                "status": {
                    "groupName": "send-test",
                    "groupId": 113,
                    "name": "sendMessage",
                    "description": "description",
                    "id": 1
                }
            }
        ],
        "bulkId": "20221025"
    }