封锁用户

利用封锁用户 API,您的商家能够封锁恶意攻击者,阻止其联系您。

运作方式

封锁 WhatsApp 用户后,会发生以下情况:

  • 被封锁的用户无法联系您的商家,也看不到您是否在线。
  • 您的商家无法向被封锁的用户发送消息。如果发送消息,就会出现错误。
  • 您无法使用此 API 来封锁另一个 WhatsApp Business 用户

并非所有手机号都能成功封锁,因此 API 上出现的每个错误均对应单个手机号。

在封锁用户 API 上执行的操作是同步操作。

限制

  • 您只能封锁过去 24 小时向您的商家发送过消息的用户。
  • 黑名单上限为 64000

功能

此 API 包含 3 个端点:

// Block WhatsApp user numbers
POST //block_users
// Unblock WhatsApp user numbers
DELETE //block_users
// Get list of blocked WhatsApp user numbers
GET //block_users

封锁用户

使用此端点封锁列表中的所有 WhatsApp 用户手机号。

端点

POST //block_users

请求主体

{
  "messaging_product": "whatsapp",
  // List of WhatsApp user numbers to be blocked
  "block_users": [
     {
       "user": " or "
     }  
   ]
}

请求参数

参数 描述

messaging_product

字符串

必要

请求所用的消息服务。必须为 "whatsapp"

仅限云端 API

block_users

对象

必要

要封锁的用户的名单。

每个元素包含一个 user 字段。

user

字符串

要封锁的手机号或 WhatsApp 编号。

响应对象

SUCCESS (200)

{
  "messaging_product": "whatsapp",
  "block_users": {
    "added_users": [
      {
        "input": " or ",
        "wa_id": ""
      }
    ]
  }
}

响应参数

参数 描述

block_users

对象

包含两份名单:

  1. added-users - 成功封锁的用户的名单。
  2. failed_users - 未能封锁的用户的名单。

added_users

对象

成功封锁的用户的名单。

包含两个字符串的值:

  • input | 字符串 — WhatsApp 用户的手机号
  • wa_id | 字符串 — WhatsApp 用户的唯一编号

failed_users

对象

未能封锁的用户的名单

包含两个字符串的值:

  • input | 字符串 — WhatsApp 用户的手机号
  • wa_id | 字符串 — WhatsApp 用户的唯一编号
MIXED SUCCESS/FAILURE (400)

{
  "messaging_product": "whatsapp",
  "block_users": {
    "added_users": [
      {
        "input": " or ",
        "wa_id": ""
      },
      {
        "input": " or ",
        "wa_id": ""
      },
      ...
    ],
    "failed_users": [
      {
        "input": " or ",
        "wa_id": ""
      },
      {
        "input": " or ",
        "wa_id": ""
      },
      ...
        "errors": [{
          "message": "",
          "code": "",
          "error_data": {
            "details": "
"" }] } } ] }, "error": { "message": "(#139100) Failed to block/unblock users", "type": "OAuthException", "code": 139100, "error_data": { "details": "Failed to block some users, see the block_users response list for details" }, "fbtrace_id": "" } }

对用户解除封锁

使用此端点为列表中的所有 WhatsApp 用户手机号解除封锁。

端点

DELETE //block_users

请求主体

{
  "messaging_product": "whatsapp",
  "block_users": [
     {
       // List of WhatsApp user numbers to be unblocked
       "user": " or "
     }  
   ]
}

请求参数

参数 描述

messaging_product

字符串

必要

请求所用的消息服务。必须为 "whatsapp"

仅限云端 API

block_users

对象

必要

要封锁的用户的名单。

每个元素包含一个 user 字段。

user

字符串

要封锁的手机号或 WhatsApp 编号。

响应对象

SUCCESS (200)

{
  "messaging_product": "whatsapp",
  "block_users": {
    "added_users": [
      {
        "input": " or ",
        "wa_id": ""
      }
    ]
  }
}

响应参数

参数 描述

block_users

对象

包含两份名单:

  1. added-users - 成功封锁的用户的名单。
  2. failed_users - 未能封锁的用户的名单。

added_users

对象

成功封锁的用户的名单。

包含两个字符串的值:

  • input | 字符串 — WhatsApp 用户的手机号
  • wa_id | 字符串 — WhatsApp 用户的唯一编号

failed_users

对象

未能封锁的用户的名单

包含两个字符串的值:

  • input | 字符串 — WhatsApp 用户的手机号
  • wa_id | 字符串 — WhatsApp 用户的唯一编号
MIXED SUCCESS/FAILURE (400)

{
  "messaging_product": "whatsapp",
  "block_users": {
    "added_users": [
      {
        "input": " or ",
        "wa_id": ""
      },
      {
        "input": " or ",
        "wa_id": ""
      },
      ...
    ],
    "failed_users": [
      {
        "input": " or ",
        "wa_id": ""
      },
      {
        "input": " or ",
        "wa_id": ""
      }
      ...
        "errors": [{
          "message": "",
          "code": "",
          "error_data": {
            "details": "
"" }] } } ] }, "error": { "message": "(#139100) Failed to block/unblock users", "type": "OAuthException", "code": 139100, "error_data": { "details": "Failed to block some users, see the block_users response list for details" }, "fbtrace_id": "" } }

获取所有已封锁的手机号

使用此端点获取您的 WhatsApp Business 电话号码上所有已封锁的手机号。

端点

GET //block_users

查询参数

?limit=10, // Optional
&after=,   // Optional
&before=  // Optional

响应参数

参数 描述

limit

非必要

请求中可获取的已封锁用户数上限。

after

非必要

在此详细了解图表 API 中的分页结果

before

非必要

在此详细了解图表 API 中的分页结果

响应对象

SUCCESS

{
  "data": [
    {
      "block_users": [
      {
        "input": " or ",
        "wa_id": ""
      } 
      ]
    }
  ],
  "paging": {
    "cursors": {
      "after": "MTAxNTExOTQ1MjAwNzI5NDE=",
      "before": "NDMyNzQyODI3OTQw"
    },
    "previous": "https://graph.facebook.com/{version}/{phone-number-id}/block_users?limit=10&before=NDMyNzQyODI3OTQw",
    "next": "https://graph.facebook.com/{version}/{phone-number-id}/block_users?limit=25&after=MTAxNTExOTQ1MjAwNzI5NDE="
  }
}

响应参数

参数 描述

block_users

对象

必要

要封锁的用户的名单。

每个元素包含一个 user 字段。

wa_id

字符串

已封锁用户的手机号

paging

对象

在此详细了解图表 API 中的分页结果

ERROR
{
  "messaging_product": "whatsapp",
  "error": {
    "message": "(#135002) Blocklist concurrent update",
    "type": "OAuthException",
    "code": 139102,
    "error_data": {
        "messaging_product": "whatsapp",
        "details": "Blocklist was updated during retrieval - retry with offset 0"
    },
    "fbtrace_id": ""
  } 
}

错误代码

代码 描述

139100

无法封锁/解除封锁部分用户

批量封锁失败,未能封锁部分用户或全部用户。

139101

已达黑名单上限

达到黑名单上限 64000。

139102

黑名单并发更新

执行分页请求时更新黑名单,且 version_id 不匹配时,就会出现此错误。

139103

内部错误

内部错误,请重试。

130429

达到流量限制

发生以下任一情况时就会出现此错误:

  1. 请求中包含过多手机号。
  2. 或在短时间内提出过多请求。

131021

封锁自己

无法封锁自己的手机号。

131047

需要再次互动

如果商家在过去 24 小时内没有收到该手机号发送的消息,就会出现此错误。

如果手机号不是有效的 WhatsApp 用户,也会返回此错误。