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

SendTyping#

Бета-версия

Функциональность находится в стадии бета-тестирования. Функции могут быть изменены, а также могут работать нестабильно.

Test Postman Apidog

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

Запрос#

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

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))
}