⚙ Настройки → CRM → «Своя CRM» → укажите адрес. Сервис создаст секрет подписи и будет отправлять POST-запросы с JSON. Подпись — заголовок X-Signature = hex(HMAC-SHA256(секрет, тело запроса)), тип события — заголовок X-Event.
contact.lookup {"phone":"79001234567"} → ответьте {"id":"…","name":"…","url":"…"} или {}
contact.create {"name":"Мария","phone":"7900…","channel":"whatsapp"} → ответьте {"id":"…"}
deal.create {"contactId":"…","title":"…","channel":"WhatsApp"} → ответьте {"id":"…","url":"…"} или {}
messages {"contactId":"…","dealId":"…","messages":[{"direction":"in","text":"…","author":"Мария","channel":"WhatsApp","at":"2026-11-01T10:00:00Z","url":"https://…/#15"}]}
ping {} (проверка при подключении)
Отвечайте кодом 200 в течение 15 секунд.
Ключ создаётся в ⚙ Настройки → CRM → «Открытое API». Передавайте его в заголовке Authorization: Bearer <ключ>. До 600 запросов в минуту.
GET /api/v1/conversations?status=open&channel=whatsapp&q=поиск&limit=100 — диалоги
GET /api/v1/conversations/{id}/messages?limit=50&before={id сообщения} — история
POST /api/v1/conversations/{id}/messages {"text":"…","author":"Анна"} — отправить ответ
POST /api/v1/conversations {"channel":"whatsapp","phone":"79001234567","text":"…"} — написать первым
GET /api/v1/contacts/{id} — клиент
Пример:
curl -H "Authorization: Bearer hub_…" https://адрес-сервиса/api/v1/conversations
Если подписка компании закончилась, API отвечает кодом 402.