# 撤回通知消息

当推送的通知消息内容有误或者存在违规情况时，可能会引起用户投诉或监管部门处罚等不良后果。Push Kit为您提供消息撤回功能，降低此类推送可能造成的影响。

*   消息撤回仅支持使用token和notifyId撤回。
    
*   若要使用消息撤回功能，请确保您在推送消息时设置了notifyId字段。
    
*   消息撤回仅支持以下类型：
    
    还未下发到端侧的消息。
    
    已在终端展示但用户还未点击的消息。
    
*   消息撤回不会影响应用的通知角标。
    

#### 约束与限制

撤回通知消息能力支持Phone、Tablet、PC/2in1设备。并且从5.1.0(18)版本开始，新增支持Wearable设备；从5.1.1(19)版本开始，新增支持TV设备。

#### 开发步骤

1.  参考开发步骤章节进行消息推送，确保应用可正常收到通知消息。
    
2.  应用服务端调用REST API撤回通知消息，消息详情可参见消息撤回，请求示例如下：
    
    ```
    // Request URL
    POST "]/messages:revoke"
     
    // Request Header
    Content-Type:application/json
    Authorization:Bearer eyJr*****OiIx---****.eyJh*****iJodHR--***.QRod*****4Gp---****
    push-type: 0
     
    // Request Body
    {
      "notifyId": 1234567,
      "token": [
        "pushToken1",
        "pushToken2",
        "pushToken3"
      ]
    }
    ```
    

撤回消息接口使用v1版本URL，并且路径参数使用clientId。与其他场景化消息推送接口使用的v3版本不同，路径参数使用clientId而非projectId。

*   \[clientId\]：请替换为您应用的Client ID，可参见指导获取。
*   Authorization：JWT格式字符串，可参见Authorization获取。
*   push-type：0表示通知消息场景。
*   notifyId：消息ID，消息的唯一标识，详情请参见notifyId。
*   token：Push Token，可参见获取Push Token获取。