В CRMservice есть входящие вебхук для приёма событий от внешних систем и REST API для интеграции вашего сайта/приложения.
Входящие вебхук (то что мы принимаем)
| Источник | URL |
|---|---|
| Форма с сайта | POST /webhooks/site |
| Telegram Bot | POST /webhooks/telegram/{tenant_slug} |
| ВКонтакте сообщество | POST /webhooks/vk |
| Маркетплейсы (WB / Ozon / Я.Маркет / Avito) | POST /api/v1/sales/webhook/{provider} |
| Телефония MANGO | URL из настроек интеграции |
| Телефония Sipuni | URL из настроек интеграции |
| СДЭК статусы | URL из настроек интеграции |
Все эти вебхук настраиваются в соответствующих разделах Настройки → Интеграции. Бэкенд сам валидирует подписи (HMAC у MANGO, MD5 у Sipuni и т.п.).
REST API для тенантов
Сейчас CRMservice не предоставляет публичный исходящий REST API для тенантов в смысле «вот ключ — делайте что хотите». Идея безопасности — бэкенд строго привязан к session+CSRF (для UI) или к специфичным webhook-эндпойнтам.
Что есть:
- Внутренний REST API (
/api/v1/*), который использует CRM-SPA — для сторонних интеграций не публикуется. - Webhook-источники (см. выше) — для получения данных извне.
Исходящие вебхук (то что CRM отправляет)
Сейчас CRM не отправляет исходящие вебхук на ваш URL по событиям (например, «при создании заказа дёргать ваш сервер»). Это в roadmap.
Безопасность
Вебхук от провайдеров (MANGO, СДЭК) проверяются по подписи (HMAC/MD5). Запрос без валидной подписи отбивается 403.
Возможные проблемы
- Вебхук не приходит — у провайдера в кабинете не выставлен URL или не включены типы событий. Проверьте в логах caddy:
docker logs crm-caddy-1 | grep вебхук. - Подпись не сходится — изменили API-секрет в кабинете провайдера, не обновили в CRM. Перевыпустите.
- Нужен исходящий вебхук — пока такого нет, опрашивайте через опрос или ждите roadmap.