Дашборд работает на REST API, и скоуп-ключ открывает его твоим скриптам: читать лидов, тянуть статистику, управлять флоу. Bearer-аутентификация, ограничение по правам, на твоём же сервере.
Всё, что показывает дашборд d0pe, он берёт из REST API на твоём сервере. API-ключ открывает этот же API твоим скриптам — то есть что видно и можно в UI, то доступно и в JSON. Вытянуть число лидов за сегодня в таблицу, зеркалить статусы в своё хранилище, поднимать и гасить флоу из деплой-скрипта — это твои данные на твоём боксе, теперь с программным доступом.
Settings → API → New key. Дай имя, отметь нужные скоупы и скопируй ключ — он показывается один раз и больше никогда. Потерял — отзови и создай новый; отозванный ключ перестаёт работать сразу.
Отправляй ключ как Bearer-токен, ровно как дашборд отправляет свой сессионный:
curl https://your-crm-host/api/leads/search?limit=50 \ -H "Authorization: Bearer d0pe_your_key_here"
Нет ключа, неверный или отозванный → 401. Ключ с IP, который заблокирован allow-list твоего аккаунта → 403, как и в UI.
Ключ действует от имени создавшего его оператора и может только МЕНЬШЕ. Скоупы — второй предел поверх этого: они вида module:action — leads:view, flows:edit, analytics:view — тот же словарь прав, что у ролей. Ключ, выданный на leads:view, получит отказ на любую запись, а скоуп, которого нет у твоей роли, вообще нельзя выдать.
Ключи достают ресурсный API — лиды, флоу, кампании, аналитику и остальное. Сессионные экраны (твой профиль, панели хостинга и лицензии) для ключей закрыты намеренно: они для вошедшего человека, а не для скрипта.
Твой инстанс публикует живую интерактивную OpenAPI-схему на /api/docs (Swagger UI) и /api/openapi.json — каждый эндпоинт, его параметры и форма ответа, сгенерированные из работающего сервера, то есть всегда ровно то, что делает твоя версия. Открой https://твой-crm-хост/api/docs в браузере, чтобы кликать по вызовам и пробовать их; наведи генератор клиента на /api/openapi.json — и типизированный SDK готов за минуту.
# Список партнёров, кампаний и источников трафика curl -H "Authorization: Bearer d0pe_…" https://твой-crm-хост/api/partners curl -H "Authorization: Bearer d0pe_…" https://твой-crm-хост/api/campaigns curl -H "Authorization: Bearer d0pe_…" https://твой-crm-хост/api/traffic-providers # Поиск лидов (те же фильтры, что и в таблице «Лиды») — в строке есть autologin_url curl -H "Authorization: Bearer d0pe_…" \ "https://твой-crm-хост/api/leads/search?limit=50&date_type=registration" # Один лид целиком, включая ссылку автологина партнёра curl -H "Authorization: Bearer d0pe_…" https://твой-crm-хост/api/leads/123
Ссылка автологина, которую партнёр вернул по лиду, — это поле autologin_url: оно есть в каждой строке /api/leads/search и в одиночном /api/leads/{id}. У всего, что показывает дашборд, тоже есть эндпоинт; полный список со всеми параметрами — на странице /api/docs выше.
Относись как к паролю: он несёт твой доступ. Держи в менеджере секретов, а не в репозитории. Дай каждой интеграции свой ключ, чтобы отозвать один, не сломав остальные, поставь срок, если он временный, и смотри «last used» в списке, чтобы заметить ключ, который никто уже не дёргает.