ДЛЯ РАЗРАБОТЧИКОВ И ИИ

Начните с одного запроса.

Общий 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 содержит только нативную часть.

Команды публичного и Bearer API Senden
Метод и путьНазначениеПоддержкаПрава
GET/api/v1/healthПроверка процессаwhatsapp, telegram, maxread
GET/api/v1/statusПодключения и состоянияwhatsapp, telegram, maxread
POST/api/v1/instancesСоздать подключениеwhatsapp, telegram, maxwrite
GET/api/v1/instancesПолучить активные или архивные подключенияwhatsapp, telegram, maxread
DELETE/api/v1/instances/{id}Остановить и архивировать подключение с сохранением истории и сессииwhatsapp, telegram, maxwrite
PATCH/api/v1/instances/{id}Изменить название подключенияwhatsapp, telegram, maxwrite
GET/api/v1/instances/{id}Состояние подключенияwhatsapp, telegram, maxread
POST/api/v1/instances/{id}/restoreВосстановить из архива в пределах лимитов, без автоматического подключенияwhatsapp, telegram, maxwrite
POST/api/v1/instances/{id}/connectНачать входwhatsapp, telegram, maxwrite
POST/api/v1/instances/{id}/authПродолжить текущий шаг входаwhatsapp, telegram, maxwrite
POST/api/v1/instances/{id}/stopОстановить с сохранением сессииwhatsapp, telegram, maxwrite
POST/api/v1/instances/{id}/logoutЗапросить выходwhatsapp, telegram, maxwrite
GET/api/v1/instances/{id}/chatsПолучить чатыwhatsapp, telegram, maxНужно подключениеread
GET/api/v1/instances/{id}/messagesСохранённая история сообщенийwhatsapp, telegram, maxread
POST/api/v1/instances/{id}/messagesПоставить текст или файл в очередьwhatsapp, telegram, maxwriteIdempotency-Key
POST/api/v1/instances/{id}/messages/from-urlБезопасно загрузить HTTPS-файл и поставить документ в очередьwhatsapp, telegram, maxwriteIdempotency-Key
GET/api/v1/instances/{id}/settingsНастройки подключения и событийwhatsapp, telegram, maxread
PUT/api/v1/instances/{id}/settingsИзменить настройкиwhatsapp, telegram, maxwrite
GET/api/v1/instances/{id}/queueПостоянная очередь сообщенийwhatsapp, telegram, maxread
POST/api/v1/instances/{id}/queue/clearОтменить все queued сообщенияwhatsapp, telegram, maxwrite
POST/api/v1/instances/{id}/queue/{messageId}/cancelОтменить одно queued сообщениеwhatsapp, telegram, maxwrite
POST/api/v1/instances/{id}/queue/{messageId}/retryПовторить только подтверждённую ошибку failedwhatsapp, telegram, maxwrite
GET/api/v1/instances/{id}/notifications/statsЧисло ожидающих и обработанных уведомленийwhatsapp, telegram, maxread
POST/api/v1/instances/{id}/notifications/receiveПолучить уведомление с арендой и ожиданиемwhatsapp, telegram, maxwrite
DELETE/api/v1/instances/{id}/notifications/{receiptId}Подтвердить обработку текущей квитанцииwhatsapp, telegram, maxwrite
GET/api/v1/instances/{id}/deliveriesРезультаты доставки webhookwhatsapp, telegram, maxread
GET/api/v1/instances/{id}/deliveries/statsСчётчики заданий webhookwhatsapp, telegram, maxread
POST/api/v1/instances/{id}/deliveries/clearОтменить ожидающие, повторяемые и dead-letter webhookwhatsapp, telegram, maxwrite
GET/api/v1/instances/{id}/deliveries/{jobId}/attemptsЖурнал попыток webhookwhatsapp, telegram, maxread
POST/api/v1/instances/{id}/deliveries/{jobId}/retryПовторить webhook из dead-letterwhatsapp, telegram, maxwrite
GET/api/v1/eventsСобытия с курсоромwhatsapp, telegram, maxread
GET/api/v1/streamПоток событий SSEwhatsapp, telegram, maxread
POST/api/v1/filesЗагрузить файл до 20 МБwhatsapp, telegram, maxwrite
GET/api/v1/files/{fileId}Скачать ранее загруженный локальный файлwhatsapp, telegram, maxread
PUT/api/v1/configНастройки приложения и сетевых подключенийwhatsapp, telegram, maxwrite
GET/api/v1/methodsКаталог доступных операцийwhatsapp, telegram, maxread
GET/api/v1/integrations/manifestПодключения текущего пространства, команды и готовые файлы интеграции без ключей и данных авторизацииwhatsapp, telegram, maxread
GET/api/v1/integrations/files/{name}Скачать шаблон интеграции или общий ZIP без личных данныхwhatsapp, telegram, maxread
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Проверить наличие аккаунта по телефону или IDwhatsapp, 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 и начните с запроса списка подключений.