Базовая схема
- 1. Внешняя система вызывает `POST /api/v2/pages` и создаёт страницу.
- 2. Сервис возвращает `page_id`, `url`, `pdf_url`, `page_slug`.
- 3. Клиент открывает страницу по `url`.
- 4. VARICA фиксирует открытие у себя.
- 5. Если настроен Sensei, VARICA отправляет событие открытия наружу.
- 6. Когда по исходной сущности наступает бизнес-результат, внешняя система вызывает `POST /api/v2/entity-results`.
Шаг 1. Создание страницы
На этом шаге передаются `template_id`, `source_entity_id`, при необходимости `page_slug`, обычные поля `data.*` и табличные строки `rows.*`.
Если страница создана успешно, ответ нужно сохранить во внешней системе. Особенно полезно сохранить `page_id`, `url`, `pdf_url` и `page_slug`. `pdf_url` можно сразу передать пользователю: GET-запрос по ней начнёт скачивание PDF.
{
"page_id": 48,
"url": "https://varica.ru/K7x_9Q.template_lab.zinker",
"pdf_url": "https://varica.ru/K7x_9Q.template_lab.zinker/download.pdf",
"page_slug": "kp45d51041"
}
Шаг 2. Открытие страницы
Открытие фиксируется автоматически, отдельного входящего вызова от CRM для этого не нужно.
Если в организации настроен Sensei, событие открытия отправляется автоматически от VARICA наружу.
Шаг 3. Результат по сущности
Когда во внешней системе появился результат по исходной сущности, нужно вызвать `POST /api/v2/entity-results` и передать `source_entity_id` плюс итоговый статус.
{
"source_entity_id": "9999999",
"result": "success"
}
Шаг 4. Тестовая проверка Sensei
Если нужно руками проверить исходящее событие, можно использовать `POST /api/v2/sensei/test-open` с `X-Admin-Token`.
Это полезно до боевого запуска интеграции, чтобы проверить токен, процесс и payload.
Что хранить у клиента
- `template_id` — чтобы понимать, из какого шаблона была создана страница.
- `source_entity_id` — чтобы потом обновлять результат по сущности.
- `page_id` — как внутренний идентификатор страницы VARICA.
- `page_slug` — как дополнительный идентификатор и диагностическое поле.
- `url` — как ссылка, которую реально отправляют клиенту.
Для ИИ и интегратора
Сначала создай страницу через POST /api/v2/pages.
Сохрани page_id, url, page_slug и source_entity_id.
Открытия сервис фиксирует сам.
Когда по исходной сущности наступил результат, отправь POST /api/v2/entity-results.
Если нужен тест Sensei, используй административный метод POST /api/v2/sensei/test-open.