ДЛЯ РАЗРАБОТЧИКОВ И ИИ
Начните с одного запроса.
Общий HTTP API для обычных аккаунтов WhatsApp, Telegram и MAX. Публичная документация описывает контракт; список ваших аккаунтов доступен только с вашим ключом.
1. Создайте аккаунт и подключение
Зарегистрируйтесь по email, подтвердите адрес письмом и войдите в кабинет. Выберите мессенджер и пройдите доступный ему вход по QR или номеру телефона. Для Telegram потребуются собственные application API credentials. Возможные дополнительные шаги входа показываются в кабинете.
2. Выпустите API-ключ
В разделе «Профиль → Ключи API» создайте отдельный ключ для проекта. Чтение разрешено по умолчанию; право write требуется для отправки и других изменений. Значение показывается один раз. Храните его в секретах backend, не в браузере, Git или промпте ИИ.
3. Получите подключения и весь каталог
curl 'https://api-senden.ru/api/v1/integrations/manifest' \
--header 'Authorization: Bearer YOUR_API_KEY'Ответ содержит instances, connectedMessengers, commands и permissions. Подключения относятся только к вашему пространству, архивные исключены явно. Для отправки выберите аккаунт со state: connected.
4. Выберите чат, отправьте и проверьте результат
Получите реальные ID чатов через GET /api/v1/instances/{id}/chats. Отправка текста и файла — POST /api/v1/instances/{id}/messages с одним стабильным Idempotency-Key. Ответ 202 означает очередь, а не доставку. Статусы и входящие сообщения доступны через историю, SSE, webhook и очередь уведомлений. Конкретные возможности транспорта смотрите ниже.
Для MAX результат contacts.lookup сейчас содержит user ID, который нельзя автоматически считать ID приватного чата. Для назначения используйте ID из списка чатов. Не повторяйте сообщение с новым ключом, если результат первой отправки неизвестен.
События и безопасность webhook
При webhook проверяйте HMAC-подпись и обрабатывайте события идемпотентно. Endpoint должен быть публичным HTTPS-адресом; локальные и приватные сети блокируются. SSE предназначен для потока событий; получение уведомления из очереди создаёт lease и требует write, затем подтверждается ack. Полные параметры и форматы запросов приведены в OpenAPI.
Готовые материалы
Без ключей, QR, сессий и пользовательских данных. Запуск клиентов выполняет только запрос discovery.
Полный каталог: 70 HTTP-команд
Это общий каталог API; поддержка конкретной нативной команды и необходимость активного подключения указаны отдельно. Каталог /methods содержит только нативную часть.
| Метод и путь | Назначение | Поддержка | Права |
|---|---|---|---|
GET/api/v1/health | Проверка процесса | whatsapp, telegram, max | read |
GET/api/v1/status | Подключения и состояния | whatsapp, telegram, max | read |
POST/api/v1/instances | Создать подключение | whatsapp, telegram, max | write |
GET/api/v1/instances | Получить активные или архивные подключения | whatsapp, telegram, max | read |
DELETE/api/v1/instances/{id} | Остановить и архивировать подключение с сохранением истории и сессии | whatsapp, telegram, max | write |
PATCH/api/v1/instances/{id} | Изменить название подключения | whatsapp, telegram, max | write |
GET/api/v1/instances/{id} | Состояние подключения | whatsapp, telegram, max | read |
POST/api/v1/instances/{id}/restore | Восстановить из архива в пределах лимитов, без автоматического подключения | whatsapp, telegram, max | write |
POST/api/v1/instances/{id}/connect | Начать вход | whatsapp, telegram, max | write |
POST/api/v1/instances/{id}/auth | Продолжить текущий шаг входа | whatsapp, telegram, max | write |
POST/api/v1/instances/{id}/stop | Остановить с сохранением сессии | whatsapp, telegram, max | write |
POST/api/v1/instances/{id}/logout | Запросить выход | whatsapp, telegram, max | write |
GET/api/v1/instances/{id}/chats | Получить чаты | whatsapp, telegram, maxНужно подключение | read |
GET/api/v1/instances/{id}/messages | Сохранённая история сообщений | whatsapp, telegram, max | read |
POST/api/v1/instances/{id}/messages | Поставить текст или файл в очередь | whatsapp, telegram, max | writeIdempotency-Key |
POST/api/v1/instances/{id}/messages/from-url | Безопасно загрузить HTTPS-файл и поставить документ в очередь | whatsapp, telegram, max | writeIdempotency-Key |
GET/api/v1/instances/{id}/settings | Настройки подключения и событий | whatsapp, telegram, max | read |
PUT/api/v1/instances/{id}/settings | Изменить настройки | whatsapp, telegram, max | write |
GET/api/v1/instances/{id}/queue | Постоянная очередь сообщений | whatsapp, telegram, max | read |
POST/api/v1/instances/{id}/queue/clear | Отменить все queued сообщения | whatsapp, telegram, max | write |
POST/api/v1/instances/{id}/queue/{messageId}/cancel | Отменить одно queued сообщение | whatsapp, telegram, max | write |
POST/api/v1/instances/{id}/queue/{messageId}/retry | Повторить только подтверждённую ошибку failed | whatsapp, telegram, max | write |
GET/api/v1/instances/{id}/notifications/stats | Число ожидающих и обработанных уведомлений | whatsapp, telegram, max | read |
POST/api/v1/instances/{id}/notifications/receive | Получить уведомление с арендой и ожиданием | whatsapp, telegram, max | write |
DELETE/api/v1/instances/{id}/notifications/{receiptId} | Подтвердить обработку текущей квитанции | whatsapp, telegram, max | write |
GET/api/v1/instances/{id}/deliveries | Результаты доставки webhook | whatsapp, telegram, max | read |
GET/api/v1/instances/{id}/deliveries/stats | Счётчики заданий webhook | whatsapp, telegram, max | read |
POST/api/v1/instances/{id}/deliveries/clear | Отменить ожидающие, повторяемые и dead-letter webhook | whatsapp, telegram, max | write |
GET/api/v1/instances/{id}/deliveries/{jobId}/attempts | Журнал попыток webhook | whatsapp, telegram, max | read |
POST/api/v1/instances/{id}/deliveries/{jobId}/retry | Повторить webhook из dead-letter | whatsapp, telegram, max | write |
GET/api/v1/events | События с курсором | whatsapp, telegram, max | read |
GET/api/v1/stream | Поток событий SSE | whatsapp, telegram, max | read |
POST/api/v1/files | Загрузить файл до 20 МБ | whatsapp, telegram, max | write |
GET/api/v1/files/{fileId} | Скачать ранее загруженный локальный файл | whatsapp, telegram, max | read |
PUT/api/v1/config | Настройки приложения и сетевых подключений | whatsapp, telegram, max | write |
GET/api/v1/methods | Каталог доступных операций | whatsapp, telegram, max | read |
GET/api/v1/integrations/manifest | Подключения текущего пространства, команды и готовые файлы интеграции без ключей и данных авторизации | whatsapp, telegram, max | read |
GET/api/v1/integrations/files/{name} | Скачать шаблон интеграции или общий ZIP без личных данных | whatsapp, telegram, max | read |
POST/api/v1/instances/{id}/operations/account.settings.get | Профиль подключённого аккаунта | whatsapp, telegram, maxНужно подключение | read |
POST/api/v1/instances/{id}/operations/contacts.list | Список контактов | whatsapp, telegram, maxНужно подключение | read |
POST/api/v1/instances/{id}/operations/contacts.get | Информация о контакте | whatsapp, telegram, maxНужно подключение | read |
POST/api/v1/instances/{id}/operations/contacts.lookup | Проверить наличие аккаунта по телефону или ID | whatsapp, telegram, maxНужно подключение | read |
POST/api/v1/instances/{id}/operations/contacts.create | Добавить контакт | telegram, maxНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/contacts.update | Изменить контакт | telegramНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/contacts.delete | Удалить контакт | telegram, maxНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/profile.avatar.get | Получить аватар | whatsappНужно подключение | read |
POST/api/v1/instances/{id}/operations/messages.history | Загрузить историю из мессенджера | telegram, maxНужно подключение | read |
POST/api/v1/instances/{id}/operations/messages.get | Получить сообщение из мессенджера | telegram, maxНужно подключение | read |
POST/api/v1/instances/{id}/operations/messages.read | Отметить сообщения прочитанными | whatsapp, telegram, maxНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/messages.delete | Удалить сообщение | whatsapp, telegram, maxНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/messages.edit | Изменить текст сообщения | whatsapp, telegram, maxНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/messages.forward | Переслать выбранные сообщения | whatsapp, telegram, maxНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/messages.react | Изменить реакцию на сообщение | whatsapp, telegram, maxНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/messages.contact | Отправить карточку контакта | whatsapp, telegramНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/messages.location | Отправить местоположение | whatsapp, telegramНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/messages.poll | Отправить опрос | whatsapp, telegramНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/chats.typing | Показать индикатор набора | whatsapp, telegramНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/chats.archive | Архивировать чат | whatsapp, telegramНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/chats.unarchive | Вернуть чат из архива | whatsapp, telegramНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/chats.expiration | Настроить исчезающие сообщения | whatsapp, telegramНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/chats.reactions | Получить доступные реакции | telegramНужно подключение | read |
POST/api/v1/instances/{id}/operations/groups.get | Информация о группе | whatsapp, telegram, maxНужно подключение | read |
POST/api/v1/instances/{id}/operations/groups.create | Создать группу | whatsapp, telegram, maxНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/groups.rename | Изменить название группы | whatsapp, telegramНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/groups.members.add | Добавить участника | whatsapp, telegram, maxНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/groups.members.remove | Удалить участника | whatsapp, telegram, maxНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/groups.admins.add | Назначить администратора группы | whatsappНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/groups.admins.remove | Снять администратора группы | whatsappНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/groups.leave | Покинуть группу | whatsapp, telegram, maxНужно подключение | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/groups.settings | Изменить одно разрешение группы | whatsappНужно подключение | writeIdempotency-Key |
ОТ ИДЕИ К ИНТЕГРАЦИИ
Подключите первый аккаунт
Создайте аккаунт, подтвердите email и начните с запроса списка подключений.