Сайт сервиса: https://avito.ru/
API: https://developers.avito.ru
Действия
Получить список чатов
Возвращает список чатов пользователя с возможностью фильтрации. Доступные параметры:
- user_id (обязательно) - Идентификатор пользователя (клиента)
- item_ids - Получение чатов только по объявлениям с указанными item_id (через запятую)
- unread_only - Только непрочитанные чаты (true/false)
- chat_types - Типы чатов: u2i — чаты по объявлениям; u2u — чаты между пользователями
- limit - Количество чатов для запроса (от 1 до 100, по умолчанию 100)
- offset - Сдвиг чатов для запроса (от 0 до 1000, по умолчанию 0)
Получить чат по ID
Возвращает данные конкретного чата и последнее сообщение в нем. Доступные параметры:
- user_id (обязательно) - Идентификатор пользователя (клиента)
- chat_id (обязательно) - Идентификатор чата
Получить сообщения чата
Получение списка сообщений из чата. Не помечает чат прочитанным. Доступные параметры:
- user_id (обязательно) - Идентификатор пользователя (клиента)
- chat_id (обязательно) - Идентификатор чата
- limit - Количество сообщений для запроса (от 1 до 100, по умолчанию 100)
- offset - Сдвиг сообщений для запроса (от 0 до 1000, по умолчанию 0)
Отправить текстовое сообщение
Отправка текстового сообщения в чат. Доступные параметры:
- user_id (обязательно) - Идентификатор пользователя (клиента)
- chat_id (обязательно) - Идентификатор чата
- message.text (обязательно) - Текст сообщения (максимум 1000 символов)
Загрузить изображение
Загрузка изображения в формате JPEG, HEIC, GIF, BMP или PNG. Максимальный размер файла — 24 МБ, максимальное разрешение — 75 мегапикселей. Доступные параметры:
- user_id (обязательно) - Идентификатор пользователя (клиента)
- uploadfile[] (обязательно) - Файл изображения (binary)
Отправить сообщение с изображением
Отправка сообщения с изображением в чат. Необходимо передать ID изображения, полученного после загрузки. Доступные параметры:
- user_id (обязательно) - Идентификатор пользователя (клиента)
- chat_id (обязательно) - Идентификатор чата
- image_id (обязательно) - Идентификатор загруженного изображения
Удалить сообщение
Удаление сообщения из чата. Сообщение не пропадает из истории, а меняет свой тип на deleted. Удалять сообщения можно не позднее часа с момента их отправки. Доступные параметры:
- user_id (обязательно) - Идентификатор пользователя (клиента)
- chat_id (обязательно) - Идентификатор чата
- message_id (обязательно) - Идентификатор сообщения
Пометить чат как прочитанный
Помечает все сообщения в чате как прочитанные. Доступные параметры:
- user_id (обязательно) - Идентификатор пользователя (клиента)
- chat_id (обязательно) - Идентификатор чата
Получить голосовые сообщения
Получение ссылки на файл с голосовым сообщением по идентификатору voice_id. Ссылка доступна в течение одного часа с момента запроса. Голосовые сообщения используют кодек opus внутри .mp4 контейнера. Доступные параметры:
- user_id (обязательно) - Идентификатор пользователя (клиента)
- voice_ids (обязательно) - ID голосовых сообщений (через запятую)
Добавить в черный список
Добавление пользователя в черный список с указанием причины блокировки. Доступные параметры:
- user_id (обязательно) - Идентификатор вашего пользователя (клиента)
- users.0.user_id (обязательно) - ID пользователя которого хотим заблокировать
- users.0.context.item_id - ID объявления в контексте которого блокируется пользователь
- users.0.context.reason_id (обязательно) - Причина блокировки: 1 - спам, 2 - мошенничество, 3 - оскорбления и хамство, 4 - другая причина
Подписаться на webhook уведомления
Включение webhook-уведомлений V3 для получения сообщений в реальном времени. После регистрации убедитесь, что URL доступен, работает и возвращает статус 200 OK с таймаутом не более 2 секунд. Доступные параметры:
- url (обязательно) - URL на который будут отправляться уведомления
Получить список подписок
Получение списка активных webhook подписок. Параметры не требуются.
Отписаться от webhook уведомлений
Отключение webhook-уведомлений для указанного URL. Доступные параметры:
- url (обязательно) - URL, на который необходимо перестать слать уведомления
Триггеры
Новое сообщение
Событие отправляется при получении нового сообщения в любом из чатов пользователя. Доступные параметры фильтрации:
- chat_type - Тип чата: u2i — чат по объявлению, u2u — чат между пользователями (по умолчанию любой)
- message_type - Тип сообщения: text, image, voice, link, location, item, call, system (по умолчанию любой)
- item_id - Фильтр по конкретному объявлению (только для чатов типа u2i)
Сообщение прочитано
Событие отправляется когда собеседник прочитал ваше сообщение. Доступные параметры фильтрации:
- chat_id - Фильтр по конкретному чату
Подключение
Для подключения к API Мессенджера Авито необходимо:
- Получить токен доступа через OAuth 2.0 используя механизм authorization_code (для доступа к данным других пользователей при разработке стороннего приложения) или client_credentials (для доступа к своей учетной записи).
- Для чтения сообщений требуется scope: messenger:read
- Для отправки и модификации сообщений требуется scope: messenger:write
- Токен необходимо передавать в заголовке Authorization в формате: Bearer ACCESS_TOKEN
- Все запросы выполняются к базовому URL: https://api.avito.ru/
- API имеет ограничение по количеству запросов (rate limit), информация о котором передается в заголовках X-RateLimit-Limit и X-RateLimit-Remaining
После получения токена вы можете использовать все доступные методы API для работы с чатами, сообщениями и webhook-уведомлениями.