RFM Analyzer APIv1

Корпоративный API

Автоматизируйте RFM-анализ

Передавайте транзакции из CRM или CDP, запускайте анализ с собственной моделью сегментации и получайте результат программно.

Авторизация

Создайте ключ в разделе Профиль → API и ключи. Передавайте его в каждом запросе:

X-API-Key: rfm_live_...
Секрет отображается только один раз. Не добавляйте его в клиентский JavaScript и публичные репозитории.

Права ключа

ScopeНазначение
analysis:writeЗапуск анализа
results:readСтатус и результаты
exports:readCSV/XLSX-экспорт
stats:readКвоты и журнал запросов

Сценарий работы

1. POST /analyze→2. Получить job_id→3. Проверить статус→4. Забрать результат

Запуск возвращает 202 Accepted. Задание продолжит работу в фоне и восстановится после перезапуска сервиса.

Запуск анализа файла

POST/api/v1/analyze

Принимает CSV или XLSX в формате multipart/form-data.

ПолеТипОписание
filefileОбязательный файл транзакций
methodstringquantile или fixed
scaleintegerШкала 3 или 5
segment_profile_idintegerПрофиль пользовательских сегментов
webhook_urlstringПубличный HTTPS URL уведомления

Запуск анализа JSON

POST/api/v1/analyze/json

Используйте для прямой передачи массива транзакций. Каждая запись содержит customer_id, amount и дату либо готовое количество платежей.

Добавляйте Idempotency-Key, чтобы повтор запроса при сетевой ошибке не создал второе задание.

Статус задания

GET/api/v1/jobs/{job_id}

Статусы: queued, processing, completed, failed. Ответ также содержит ссылки на статус и результаты.

Получение результатов

GET/api/v1/jobs/{job_id}/results

Возвращает клиентов, RFM-баллы, код, сегмент и сводку. Параметры пагинации: page и per_page до 10 000.

Экспорт

GET/api/v1/jobs/{job_id}/export?fmt=csv

Форматы: csv и xlsx. Требуется scope exports:read.

Лимиты

GET/api/v1/usage

Показывает использование квоты за 30 дней. Текущие ограничения: 1000 анализов за 30 дней и 120 запросов в минуту на ключ.

Журнал запросов

GET/api/v1/request-logs

Последние обращения к API: метод, путь, HTTP-статус, request ID и время.

Webhooks

После завершения сервис отправит analysis.completed или analysis.failed. Выполняется до трёх попыток. Поддерживаются только публичные HTTPS URL. Прерванная доставка возобновляется после восстановления очереди, поэтому обработайте повторное событие с тем же job_id.

Ошибки

КодЗначение
401Ключ отсутствует, истёк или отозван
403Недостаточно прав ключа или нужен корпоративный тариф
409Результат задания ещё не готов
422Некорректные параметры или данные
429Превышена квота или частота запросов