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

SendTyping#

Test Postman

Метод предназначен для отправки уведомления о наборе текста в чат.

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

Запрос#

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

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

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

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

Параметр Тип Обязательный Описание
chatId string Да Идентификатор чата
typingTime integer Да Длительность в миллисекундах (от 1000 до 20000)
typingType string Нет Тип действия.
Возможные значения:
text - "печатает..." (по умолчанию)
record_voice_note - "записывает голосовое..."
upload_voice_note - "отправляет голосовое..."
record_video_note - "записывает видео-сообщение..".
upload_video_note - "отправляет видео-сообщение..."
record_video - "записывает видео..."
upload_video - "отправляет видео..."
upload_photo - "отправляет фото..."
upload_document - "отправляет файл..."
choose_sticker - "выбирает стикер..."
choose_location - "выбирает локацию..."
choose_contact - "выбирает контакт..."

Примечание

Время отправки сообщения будет складываться из интервала отправки сообщений из очереди (delaySendMessagesMilliseconds), заданного времени набора текста (typingTime) и временем загрузки файла для медиа сообщений..

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

Отправка уведомления набора текста:

{
    "chatId": "10000000",
    "typingTime": 10000
}

Отправка уведомления записи аудиосообщения:

{
    "chatId": "10000000",
    "typingTime": 10000, 
    "typingType": "record_voice_note"
}

Отправка уведомления отправки видео:

{
    "chatId": "10000000",
    "typingTime": 10000, 
    "typingType": "upload_video"
}

Ответ#

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

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

Выполнение метода с ошибкой#

{
    "status": false,
    "reason": "Validation failed. Details: typingTime must be between 1000 and 20000 ms"
}

Ошибки SendTyping#

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

Код HTTP Идентификатор ошибки Описание
400 Validation failed typingTime должно быть числом
400 Validation failed typingTime должно быть больше или равно 1000
400 Validation failed typingTime должно быть меньше или равно 20000

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

import requests

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

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

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

print(response.text.encode('utf8'))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => '/v4/waInstance/waInstance%7B%7BidInstance%7D%7D/sendTyping/%7B%7BapiTokenInstance%7D%7D',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_TelegramREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
    "chatId": "10000000",
    "typingTime": 10000
}',
CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
curl --location -g --request POST '/v4/waInstance{{idInstance}}/sendTyping/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "chatId": "10000000",
    "typingTime": 10000
}'
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("/v4/waInstance{{idInstance}}/sendTyping/{{apiTokenInstance}}")
.header("Content-Type", "application/json")
.body("{\r\n    \"chatId\": \"10000000\",\r\n    \"typingTime\": 10000,\r\n}")
.asString();