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

DeleteMessage#

Test Postman

Метод удаляет сообщение из чата.

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

Запрос#

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

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

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

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

Параметр Тип Обязательный Описание
chatId string Да Идентификатор корреспондента или группового чата
idMessage string Да ID удаляемого сообщения
onlySenderDelete boolean Нет true — удалить только у себя
false (по умолчанию) — удалить у всех

Ограничения

При удалении сообщения мессенджер Telegram накладывает следующие ограничения:

  1. С помощью API возможно удалить только исходящие сообщения.
  2. С помощью API в группах админы могут удалять только исходящие сообщения.

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

Удаление сообщения в личном чате:

{
    "chatId": "10000000",
    "idMessage": "1763115112345",
    "onlySenderDelete": false 
}

Удаление сообщения в групповом чате:

{
    "chatId": "-10000000000000",
    "idMessage": "1763115112345"
}

Удаление сообщения только у отправителя:

{
    "chatId": "10000000",
    "idMessage": "1763115112345",
    "onlySenderDelete": true
}

Ответ#

Поля ответа#

Тело ответа пустое. При успехе ответ сервера 200.

Ошибки DeleteMessage#

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

Код HTTP Идентификатор ошибки Описание
400 Bad Request
Validation failed
Ошибка валидации
400 Message by id not found Сообщение не найдено или уже удалено
400 Deleting this message type is not supported Нельзя удалить данный тип сообщения (например, сервисное)

Примеры кода#

import requests

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

payload = {
   "chatId": "10000000",
   "idMessage": "1763115112345",
    }
headers = {'Content-Type': 'application/json'}

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

print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/deleteMessage/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
   "chatId": "10000000",
   "idMessage": "1763115112345",
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/deleteMessage/")
    .append({{apiTokenInstance}});

var headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);

var jsonBody = "{\"chatId\": \"10000000\",\"idMessage\": \"1763115112345\"}";

var requestEntity = new HttpEntity<>(jsonBody, headers);

var response = restTemplate.exchange(requestUrl.toString(), HttpMethod.POST, requestEntity, String.class);
System.out.println(response);
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/deleteMessage/")
    .append({{apiTokenInstance}});

var response = Unirest.post(requestUrl.toString())
    .header("Content-Type", "application/json")
    .body("{\"chatId\": \"10000000\",\"idMessage\": \"1763115112345\"}")
    .asString();

System.out.println(response);