SendTyping#
Бета-версия
Функциональность находится в стадии бета-тестирования. Функции могут быть изменены, а также могут работать нестабильно.
Метод предназначен для отправки уведомления о наборе текста или записи аудио в чат.
Запрос#
Для отправки уведомления требуется выполнить запрос по адресу:
POST
{{apiUrl}}/waInstance{{idInstance}}/sendTyping/{{apiTokenInstance}}
Для получения параметров запроса apiUrl
, idInstance
и apiTokenInstance
обратитесь к разделу Перед началом работы.
Параметры запроса#
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
chatId | string | Да | Идентификатор чата |
typingTime | integer | Нет | Время показа уведомления набора сообщения в чате собеседника. Время ограничено значениями от 1000 до 20000 миллисекунд (от 1 до 20 секунд). Если поле отсутствует, то набор будет продолжаться в течение 1000 миллисекунд (1 секунды). |
typingType | string | Нет | Тип набора сообщения. Для отправки уведомления для записи аудио необходимо отправить строку recording |
Примечание
Время доставки уведомления будет складываться из интервала отправки сообщений из очереди (delaySendMessagesMilliseconds
) и заданного времени набора текста (typingTime
).
Пример тела запроса#
Отправка уведомления набора текста:
{
"chatId": "79876543210@c.us",
"typingTime": 5000
}
Отправка уведомления записи аудио:
{
"chatId": "79876543210@c.us",
"typingTime": 5000,
"typingType": "recording"
}
Ответ#
Поля ответа#
Поле | Тип | Описание |
---|---|---|
idMessage | string | Идентификатор отправленного сообщения |
Пример тела ответа#
{
"idMessage": "3EB0C767D097B7C7C030"
}
Ошибки SendTyping#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки
Примеры кода#
import requests
url = "{{apiUrl}}/waInstance{{idInstance}}/sendTyping/{{apiTokenInstance}}"
payload = {
"chatId": "79876543210@c.us",
"typingTime": 5000
}
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 => '/waInstance%7B%7BidInstance%7D%7D/sendTyping/%7B%7BapiTokenInstance%7D%7D',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"chatId": "79876543210@c.us",
"typingTime": 5000
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
curl --location -g --request POST '/waInstance{{idInstance}}/sendTyping/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"chatId": "79876543210@c.us",
"typingTime": 5000
}'
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("/waInstance{{idInstance}}/sendTyping/{{apiTokenInstance}}")
.header("Content-Type", "application/json")
.body("{\r\n \"chatId\": \"79123456789@c.us\",\r\n \"typingTime\": 5000,\r\n}")
.asString();
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "/waInstance%7B%7BidInstance%7D%7D/sendTyping/%7B%7BapiTokenInstance%7D%7D"
method := "POST"
payload := strings.NewReader(`{`+"
"+`
"chatId": "79123456789@c.us",`+"
"+`
"typingTime": 5000`+"
"+`
}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}