消息回执

功能介绍

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

接口约束

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

回执接口版本分为V1和V2,不同版本的回执消息请求头和响应参数相同,仅请求体不同。场景化消息推送仅支持V2版本回执。

接口原型

承载协议 接口方向 接口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为毫秒级时间戳

· 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 消息成功到达客户端的时间戳(毫秒级时间戳),失败则为回执消息生成的时间戳。

formStatus

参数 是否必选 参数类型 描述
formId 是 Long 服务卡片的实例ID,当卡片onAddForm(卡片使用方添加卡片至桌面)时获取。最大值为231-1。
result 是 Integer 消息到达的回执状态码,请参见回执状态码。
timestamp 是 Long 消息成功到达客户端的时间戳(毫秒级时间戳),失败则为回执消息生成的时间戳。

请求示例

{
  "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"
}