目录

消息回执

为了更安全的网络访问,华为推送服务于2022年11月30日关闭Push相关域名的TLS1.0、TLS1.1协议及规定之外的加密套件,关闭后,应用使用TLS1.2以下协议或使用规定外的加密套件将无法正常推送消息。

若您的应用访问Push相关域名使用协议是TLS1.0或TLS1.1,可能无法正常发送消息,请您务必升级到TLS1.2及以上版本。

功能介绍

华为推送服务器调用此接口给您的服务器推送回执消息。

接口约束

您需要在AppGallery Connect上开通“消息回执”权益,如何开通请参见开通回执权益。

回执接口版本分为V1和V2,场景化消息发送仅V2版本的回执接口支持。

回执接口V2版本支持的场景化消息接口为:

https://push-api.cloud.huawei.com/v3/[projectId]/messages:send

接口原型

承载协议

接口方向

接口URL

数据格式

HTTPS POST

华为Push服务器 -> 开发者回执消息接收服务器

您的回执接收服务器的地址,由您定义,同AppGallery Connect上配置的回执地址一致。

请求消息:Content-Type: application/json

响应消息:Content-Type: application/json

请求参数

[h2]Request Header

参数名

取值描述

样例

X-HUAWEI-CALLBACK-ID

消息头鉴权参数,可选字段。当回执配置中回调用户名与回调秘钥均已配置时为必选参数。

timestamp=1563*****1261; nonce=a07bfa17-6d82-4b53-a9a2-07c*****eef1; value=E4Ye*****HZ6592U8B9S37238E+Hwtjfrmpf8AQXF+c=

  • timestamp为标准unix时间戳
  • nonce为UUID随机数
  • value为待加密字符串(value示例中为了展示各字段,实际上是由timestamp、nonce、回调用户名拼接而成,不需要“+”),使用回调秘钥进行HmacSHA256加密后,经Base64编码后获得,具体请参见示例代码

[h2]Request Body

参数

是否必选

参数类型

描述

statuses

是

Array [statuses Object ]

回执消息内容,包含最多100个statuses结构的数组,分为V1和V2版本。此处仅支持V2版本。

statuses V2版本

参数

是否必选

参数类型

描述

token

是

String

消息发送目标用户Token,携带给应用服务器。

pushType

是

Integer

消息类型,详情见push-type。

appPackageName

是

String

消息发送方的应用包名。

biTag

否

String

您在发送消息时携带的biTag。如果下发推送消息未设置biTag字段,则该字段内容为空。

requestId

是

String

请求ID,在发送接口中返回的值。

deliveryStatus

否

deliveryStatus Object

消息的送达状态deliveryStatus结构体。非卡片刷新消息时回执。

formStatus

否

formStatus Object

卡片刷新消息的送达状态formStatus结构体,仅当消息类型为卡片刷新时回执。

deliveryStatus

参数

是否必选

参数类型

描述

result

是

Integer

消息到达的回执状态码,请参见回执状态码。

timestamp

是

Long

消息成功到达客户端的时间戳(标准unix时间戳),失败则为回执消息生成的时间戳。

formStatus

参数

是否必选

参数类型

描述

formId

是

Long

服务卡片的实例ID,当卡片onAddForm(卡片使用方添加卡片至桌面时)时获取。最大值为2^53-1。

result

是

Integer

消息到达的回执状态码,请参见回执状态码。

timestamp

是

Long

消息成功到达客户端的时间戳(标准unix时间戳),失败则为回执消息生成的时间戳。

请求示例

{
  "statuses": [
    {
      "biTag": "131415",
      "pushType": 0,
      "appPackageName": "com.****",
      "token": "148896*******000001",
      "requestId": "1*******0",
      "deliveryStatus":{
        "result": 0,
        "timestamp": 1607832761768
      }
    }
  ]
}

响应参数

参数

是否必选

参数类型

描述

code

是

String

应用服务器返回的处理结果状态。

message

是

String

应用服务器返回的处理结果描述信息。

响应示例

{
  "code": "0",
  "message": "success"
}