Документация

Быстрый старт

Три запроса закрывают интеграцию с CRM. Проверьте ключ. Передайте клиента после заказа. Посмотрите, что ему ушло. Оценку Evidra пришлёт вебхуком.

Перед началом

  1. В кабинете откройте Разработчикам → Ключи API и выпустите ключ. Прав по умолчанию хватает для шагов ниже.
  2. Скопируйте идентификатор локации, для которой просите отзывы. Список отдаёт GET /locations.
  3. Подтвердите email в кабинете. Для SMS пополните баланс. Без денег на SMS уйдут MAX и Telegram.

1. Проверить ключ

GET /ping доступен любому действующему ключу. Ответ содержит организацию и выданные права.

curl
curl https://evidra.ru/api/v1/ping \
  -H "Authorization: Bearer evd_live_…"
200 OK
{
  "ok": true,
  "organization": { "id": "clx…", "name": "Кофейня «Утро»" },
  "scopes": ["locations:read", "contacts:write", "cascades:write", "cascades:read"]
}

2. Передать клиента после заказа

POST /contacts создаёт или обновляет контакт по вашему externalId. Флаг startCascade сразу ставит его в сценарий каскада. Один закрытый заказ — один вызов.

curl
curl -X POST https://evidra.ru/api/v1/contacts \
  -H "Authorization: Bearer evd_live_…" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-10423" \
  -d '{
    "externalId": "crm-client-8821",
    "name": "Анна",
    "email": "anna@example.com",
    "phone": "+7 912 345-67-89",
    "locationId": "<id локации>",
    "consentAt": "2026-08-30T10:00:00+03:00",
    "startCascade": true
  }'
200 OK
{
  "contact": { "id": "clx…", "externalId": "crm-client-8821", … },
  "cascade": { "id": "clx…", "queued": 1 }
}
Idempotency-Key обязателен. Вебхук CRM повторяется при таймауте. Без ключа каждый повтор отправит ещё одно сообщение. Подставляйте номер заказа или ID сделки.

Передавайте email и телефон, если оба есть. Сценарий может начать с письма и через сутки отправить SMS. Шаг без нужного контакта пропускается.

3. Проверить, что ушло

GET /cascades/{id} принимает идентификатор из прошлого ответа. В ответе получатели, статус каждого шага и оценка, если клиент уже ответил.

curl
curl https://evidra.ru/api/v1/cascades/<id> \
  -H "Authorization: Bearer evd_live_…"

Опрос по расписанию не нужен. Подключите вебхук. Событие cascade.recipient.finished придёт с оценкой клиента и причиной завершения.

Каналы и их методы

Запрос можно отправить и в один канал. У канала свой метод и своё поле контакта. Список отдаёт GET /channels. Не зашивайте его в код. Новый канал появится в этом списке вместе со своим методом.

КаналМетодПоле контакта
EmailPOST /channels/email/sendemail
SMSPOST /channels/sms/sendphone
MAXPOST /channels/max/sendphone
TelegramPOST /channels/telegram/sendphone

Что дальше