Блокировка пользователей

API блокировки пользователей позволяет вашей компании блокировать попытки злоумышленников связаться с вами.

Принципы работы

Когда вы блокируете пользователя WhatsApp, происходит следующее:

  • этот пользователь не сможет связаться с вашей компанией или увидеть, что вы находитесь в сети;
  • ваша компания не сможет отправлять сообщения этому пользователю (при попытке сделать это вы получите сообщение об ошибке).
  • С помощью этого API нельзя заблокировать другой аккаунт WhatsApp Business.

Ошибки в API происходят в зависимости от номера, поскольку для одних номеров блокировки могут быть успешными, а для других нет.

API блокировки пользователей является синхронным.

Ограничения

  • Вы можете блокировать только тех пользователей, которые отправляли сообщения вашей компании в течение последних 24 часов.
  • Лимит списка блокировки: 64 КБ.

Функции

API содержит 3 конечные точки:

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

Блокировка пользователей

Используйте эту конечную точку для блокировки списка номеров пользователей WhatsApp.

Конечная точка

POST /<PHONE_NUMBER_ID>/block_users

Текст запроса

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

Параметры запроса

Параметр Описание

messaging_product

Строка

Обязательный параметр.

Служба обмена сообщениями, используемая для отправки запроса. Должен иметь значение "whatsapp".

Только облачный API.

block_users

Объект

Обязательный параметр.

Список пользователей, которых нужно заблокировать.

Каждый элемент содержит поле user.

user

Строка

Номер телефона или ID WhatsApp, который необходимо заблокировать.

Объект ответа

SUCCESS (200)

{
  "messaging_product": "whatsapp",
  "block_users": {
    "added_users": [
      {
        "input": "<PHONE_NUMBER> or <WA_ID>",
        "wa_id": "<WA_ID>"
      }
    ]
  }
}

Параметры ответа

Параметр Описание

block_users

Объект

Содержит два списка:

  1. added-users — список заблокированных пользователей.
  2. failed_users — список пользователей, которых не удалось заблокировать.

added_users

Объект

Список заблокированных пользователей.

Содержит значения:

  • input | строка — номер телефона пользователя WhatsApp;
  • wa_id | строка — уникальный ID пользователя WhatsApp.

failed_users

Объект

Список пользователей, которых не удалось заблокировать.

Содержит значения:

  • input | строка — номер телефона пользователя WhatsApp;
  • wa_id | строка — уникальный ID пользователя WhatsApp.
MIXED SUCCESS/FAILURE (400)

{
  "messaging_product": "whatsapp",
  "block_users": {
    "added_users": [
      {
        "input": "<PHONE_NUMBER> or <WA_ID>",
        "wa_id": "<WA_ID>"
      },
      {
        "input": "<PHONE_NUMBER> or <WA_ID>",
        "wa_id": "<WA_ID>"
      },
      ...
    ],
    "failed_users": [
      {
        "input": "<PHONE_NUMBER> or <WA_ID>",
        "wa_id": "<WA_ID>"
      },
      {
        "input": "<PHONE_NUMBER> or <WA_ID>",
        "wa_id": "<WA_ID>"
      },
      ...
        "errors": [{
          "message": "<MESSAGE>",
          "code": "<CODE>",
          "error_data": {
            "details": "<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": "<FBTRACE_ID>"
  }
}

Разблокировка пользователей

Используйте эту конечную точку для разблокировки списка номеров пользователей WhatsApp.

Конечная точка

DELETE /<PHONE_NUMBER_ID>/block_users

Текст запроса

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

Параметры запроса

Параметр Описание

messaging_product

Строка

Обязательный параметр.

Служба обмена сообщениями, используемая для отправки запроса. Должен иметь значение "whatsapp".

Только облачный API.

block_users

Объект

Обязательный параметр.

Список пользователей, которых нужно заблокировать.

Каждый элемент содержит поле user.

user

Строка

Номер телефона или ID WhatsApp, который необходимо заблокировать.

Объект ответа

SUCCESS (200)

{
  "messaging_product": "whatsapp",
  "block_users": {
    "added_users": [
      {
        "input": "<PHONE_NUMBER> or <WA_ID>",
        "wa_id": "<WA_ID>"
      }
    ]
  }
}

Параметры ответа

Параметр Описание

block_users

Объект

Содержит два списка:

  1. added-users — список заблокированных пользователей.
  2. failed_users — список пользователей, которых не удалось заблокировать.

added_users

Объект

Список заблокированных пользователей.

Содержит значения:

  • input | строка — номер телефона пользователя WhatsApp;
  • wa_id | строка — уникальный ID пользователя WhatsApp.

failed_users

Объект

Список пользователей, которых не удалось заблокировать.

Содержит значения:

  • input | строка — номер телефона пользователя WhatsApp;
  • wa_id | строка — уникальный ID пользователя WhatsApp.
MIXED SUCCESS/FAILURE (400)

{
  "messaging_product": "whatsapp",
  "block_users": {
    "added_users": [
      {
        "input": "<PHONE_NUMBER> or <WA_ID>",
        "wa_id": "<WA_ID>"
      },
      {
        "input": "<PHONE_NUMBER> or <WA_ID>",
        "wa_id": "<WA_ID>"
      },
      ...
    ],
    "failed_users": [
      {
        "input": "<PHONE_NUMBER> or <WA_ID>",
        "wa_id": "<WA_ID>"
      },
      {
        "input": "<PHONE_NUMBER> or <WA_ID>",
        "wa_id": "<WA_ID>"
      }
      ...
        "errors": [{
          "message": "<MESSAGE>",
          "code": "<CODE>",
          "error_data": {
            "details": "<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": "<FBTRACE_ID>"
  }
}

Получение списка заблокированных номеров

Используйте эту конечную точку, чтобы получить список заблокированных номеров для вашего номера WhatsApp Business.

Конечная точка

GET /<PHONE_NUMBER_ID>/block_users

Параметры запроса

?limit=10, // Optional
&after=<AFTER_CURSOR>,   // Optional
&before=<BEFORE_CURSOR>  // Optional

Параметры ответа

Параметр Описание

limit

Необязательный параметр

Максимальное количество заблокированных пользователей, которое можно получить в запросе.

after

Необязательный параметр

Подробнее о результатах с разбивкой на страницы в Graph API см. в этой статье

before

Необязательный параметр

Подробнее о результатах с разбивкой на страницы в Graph API см. в этой статье

Объект ответа

SUCCESS

{
  "data": [
    {
      "block_users": [
      {
        "input": "<PHONE_NUMBER> or <WA_ID>",
        "wa_id": "<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

Объект

Подробнее о результатах с разбивкой на страницы в Graph 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": "<FBTRACE_ID>"
  } 
}

Коды ошибок

Код Описание

139100

Не удалось заблокировать или разблокировать некоторых пользователей

При массовой блокировке не удалось заблокировать некоторых или всех пользователей.

139101

Достигнут лимит для списка блокировки

Лимит списка блокировки составляет 64 КБ.

139102

Одновременное обновление списка блокировки

Эта ошибка происходит, когда список блокировки обновляется одновременно с выполнением запроса разбиения на страницы, а version_id не совпадает.

139103

Внутренняя ошибка

Внутренняя ошибка, повторите попытку.

130429

Достигнут лимит обращений

Эта ошибка происходит в следующих случаях:

  1. Сам запрос содержит слишком много номеров.
  2. За короткий промежуток времени сделано слишком много запросов.

131021

Блокировка собственного номера

Не удалось заблокировать собственный номер телефона.

131047

Требуется повторное взаимодействие

Эта ошибка происходит, если компания не получала сообщений с этого номера за последние 24 часа.

Эта ошибка также возвращается, если номер принадлежит недействительному пользователю WhatsApp.