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

Как сделать статус "Печатает..." при отправке сообщений?#

При автоматической отправке сообщений часто необходимо эмулировать работу живого человека. Для этого мы создали метод SendTyping, который с помощью API мессенджера MAX передает в мессенджер уведомление о том, что отправитель печатает сообщение от 1 до 20 секунд. Статус можно передать вместе с разными типами сообщений: текстовое, аудиосообщение, видеосообщение, изображение, файл.

Для отправки уведомления используйте один из следующих методов:

  1. Метод SendTyping
  2. Метод SendMessage
  3. Метод SendFileByUrl
  4. Метод SendFileByUpload

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.