Как сделать статус "Печатает..." при отправке сообщений?#
При автоматической отправке сообщений часто необходимо эмулировать работу живого человека. Для этого мы создали метод SendTyping, который с помощью API мессенджера MAX передает в мессенджер уведомление о том, что отправитель печатает сообщение от 1 до 20 секунд. Статус можно передать вместе с разными типами сообщений: текстовое, аудиосообщение, видеосообщение, изображение, файл.
Для отправки уведомления используйте один из следующих методов:
1. Метод SendTyping#
Перейдите на страницу метода SendTyping для более подробной инструкции.
Метод вызывается с несколькими параметрами, но при этом сообщение не передается, вам нужно воспользоваться одним из методов отправки SendMessage, SendFileByUrl или SendFileByUpload для передачи сообщения.
Параметры запроса SendTyping#
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
chatId | string | Да | Идентификатор чата |
typingTime | integer | Да | Время показа уведомления набора сообщения в чате собеседника. Время ограничено значениями от 1000 до 20000 миллисекунд (от 1 до 20 секунд). |
typingType | string | Нет | Тип набора сообщения. Для набора текста поле указывать не надо. Для отправки остальных уведомлений нужно передать следующие значения: recording для аудио, video для видеофайлов, image для картинки, file для файлов. |
Пример тела запроса метода SendTyping#
Отправка уведомления набора текста:
{
"chatId": "10000000",
"typingTime": 10000
}
Отправка уведомления записи аудиосообщения:
{
"chatId": "10000000",
"typingTime": 10000,
"typingType": "recording"
}
Отправка уведомления отправки видео:
{
"chatId": "10000000",
"typingTime": 10000,
"typingType": "video"
}
Отправка уведомления отправки файла:
{
"chatId": "10000000",
"typingTime": 10000,
"typingType": "file"
}
Отправка уведомления отправки изображения:
{
"chatId": "10000000",
"typingTime": 10000,
"typingType": "image"
}
2. Метод SendMessage#
Перейдите на страницу метода SendMessage для более подробной инструкции.
Метод предназначен для отправки текстовых сообщений, а для того чтобы отправить уведомление о наборе текста необходимо заполнить необязательное поле typingTime
.
Параметры запроса SendMessage#
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
chatId | string | Да | Идентификатор чата |
message | string | Да | Текст сообщения. Поддерживаются символы emoji 😃. Максимальная длина текстового сообщения составляет 20000 символов. Требуется использовать кодировку UTF-8 без BOM. |
typingTime | integer | Нет | Время показа уведомления набора сообщения в чате собеседника. Время ограничено значениями от 1000 до 20000 миллисекунд (от 1 до 20 секунд). |
Пример тела запроса метода SendMessage#
Отправка сообщения в личный чат:
{
"chatId": "10000000",
"message": "Я использую GREEN-API для отправки этого сообщения!"
"typingTime": 10000,
}
3. Метод SendFileByUrl#
Перейдите на страницу метода SendFileByUrl для более подробной инструкции.
Метод вызывается с несколькими параметрами для выбора отправляемого файла,а для того чтобы отправить уведомление о наборе текста необходимо заполнить необязательные поля typingTime
и typingType
.
Параметры запроса SendFileByUrl#
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
chatId | string | Да | Идентификатор чата |
urlFile | string | Да | Ссылка на отправляемый файл |
fileName | string | Да | Название файла. Должно содержать расширение файла. Требуется использовать кодировку UTF-8 без BOM. Например: test.jpg |
caption | string | Нет | Описание под файлом. Описание добавляется к видео, изображениям, документам, файлам. Принимает значение до 4000 символов включительно. если написать больше 4000, то сообщение не отправится. |
typingTime | integer | Да | Время показа уведомления набора сообщения в чате собеседника. Время ограничено значениями от 1000 до 20000 миллисекунд (от 1 до 20 секунд). |
typingType | string | Нет | Тип набора сообщения. Для отправки уведомлений нужно передать следующие значения: recording для аудио, video для видеофайлов, image для картинки, file для файлов. |
Пример тела запроса метода SendFileByUrl#
Отправка сообщения в личный чат:
{
"chatId": "10000000",
"urlFile": "https://avatars.mds.yandex.net/get-pdb/477388/77f64197-87d2-42cf-9305-14f49c65f1da/s375",
"fileName": "horse.png",
"caption": "лошадка"
"typingTime": 10000,
"typingType": "image"
}
4. Метод SendFileByUpload#
Перейдите на страницу метода SendFileByUpload для более подробной инструкции.
Метод вызывается с несколькими параметрами,а сам файл загружается через форму. Для того чтобы отправить уведомление о наборе текста необходимо заполнить необязательные поля typingTime
и typingType
.
Параметры запроса SendFileByUploa#
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
chatId | string | Да | Идентификатор чата |
file | file | Да | Отправляемый файл |
fileName | string | Нет | Название файла. Должно содержать расширение файла. Требуется использовать кодировку UTF-8 без BOM. Например: test.jpg |
caption | string | Нет | Описание под файлом. Описание добавляется к видео, изображениям, документам, файлам. Принимает значение до 4000 символов включительно. если написать больше 4000, то сообщение не отправится. |
typingTime | integer | Да | Время показа уведомления набора сообщения в чате собеседника. Время ограничено значениями от 1000 до 20000 миллисекунд (от 1 до 20 секунд). |
typingType | string | Нет | Тип набора сообщения. Для отправки уведомлений нужно передать следующие значения: recording для аудио, video для видеофайлов, image для картинки, file для файлов. |
Для отправки уведомления заполните в form-data необязательные поля typingTime
и typingType
.