Перейти к содержанию

ForwardMessages#

Test Postman Apidog

Метод предназначен для пересылки сообщений в личный или групповой чат. Пересылаемое сообщение будет добавлено в очередь на отправку. Сообщение на отправку хранится 24 часа в очереди и будет отправлено сразу же после авторизации телефона. Скорость отправки сообщений из очереди регулирует параметр Интервал отправки сообщений.

Для метода используются ограничения на частоту запросов в секунду.

Запрос#

Для отправки требуется выполнить запрос по адресу:

POST
{{apiUrl}}/waInstance{{idInstance}}/forwardMessages/{{apiTokenInstance}}

Префикс v3 стал необязательным параметром запроса

Для вашего удобства унифицировали формат запросов методов API для всех мессенджеров.
Подробнее о правилах вызова методов читайте в статье Выполнение запросов.

Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.

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

Параметр Тип Обязательный Описание
chatId string Да Идентификатор чата, куда пересылается сообщение
chatIdFrom string Да Идентификатор чата, с которого пересылается сообщение
messages array Да Коллекция идентификаторов пересылаемых сообщений
typingTime integer Нет Время показа уведомления набора сообщения в чате собеседника.
Время ограничено значениями от 1000 до 20000 миллисекунд (от 1 до 20 секунд).

Особенности пересылки сообщений

  • При пересылке любого вложения из альбомного сообщения будет переслан весь альбом со всеми вложениями, а не отдельное сообщение.
  • Сообщения из массива messages, которые не были найдены, а так же сообщения-реакции не будут пересланы.

Настройка инстанса

Для корректной работы механизма пересылки сообщений система должна знать сообщение, которое будет переслано. Убедиться, что сообщение доступно для пересылки, можно с помощью метода журналирования getMessage. Если сообщение отсутствует в системе, переслать его невозможно.

  • Для пересылки входящих сообщений необходимо включить настройку Получать уведомления о входящих сообщениях и файлах.

  • Для пересылки исходящих сообщений отправленных с телефона, включите настройку Получать уведомления о сообщениях, отправленных с телефона.

Так сообщения будут попадать в систему и их можно будет пересылать.
Установку настроек можно сделать методом SetSettings или через личный кабинет.

Для пересылки отредактированного сообщения включите webhook editedMessageWebhook.

Пример тела запроса#

Отправка сообщения в чат:

{
    "chatId": "10000000",
    "chatIdFrom": "10000001",
    "messages": [
        "1769666251000",
        "1769666251001",
        "1769666251002"
    ],
    "typingTime": 5000
}

Ответ#

Поля ответа#

Поле Тип Описание
messages array Идентификаторы отправленных сообщений

Пример тела ответа#

{
  "messages": [
    "1769666251008",
    "1769666251009"
  ]
}

Ошибки ForwardMessages#

Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки

Код HTTP Идентификатор ошибки Описание
400 Bad Request
Validation failed
Ошибка валидации
400 Validation failed.
Details: 'messages' must contain at least 1 items
Ошибка валидации. Поле messages не должно быть пустым.

Отправка с неверным идентификатором сообщения

В случае некорректного указания messages, система вернёт код 200 и id отправляемого сообщения, но оно не будет доставлено получателю.

Получателю приходит неотредактированное сообщение

Неотредактированное сообщение придёт получателю в случае выключенного webhook editedMessageWebhook.

Пример тела запроса#

import requests   

url = "{{apiUrl}}/waInstance{{idInstance}}/forwardMessages/{{apiTokenInstance}}"

payload = {
  "chatId": "10000000",
  "chatIdFrom": "10000001",
  "messages": [
    "1769666251000",
    "1769666251001",
    "1769666251002"
  ],
  "typingTime": 5000
}

headers = {
  'Content-Type': 'application/json'
}

response = requests.post(url, json=payload, headers=headers)

print(response.text.encode('utf8'))
curl --location --request POST '{{apiUrl}}/waInstance{{idInstance}}/forwardMessages/{{apiTokenInstance}}'  
--header 'Content-Type: application/json'  
--data-raw '{
    "chatId": "10000000",
    "chatIdFrom": "10000001",
    "messages": [
      "1769666251000",
      "1769666251001",
      "1769666251002"
    ],
    "typingTime": 5000
}'