REST API

Используйте клиентские ключи проекта для вызовов SDK и сессию пользователя для управления проектом.

Адрес API и справочник

https://api.push-dk.ru/api/v1

Интерактивный справочник OpenAPI содержит схемы запросов и ответов для каждого метода.

Открыть Swagger ↗

Авторизация

Панель использует JWT пользователя в заголовке Authorization: Bearer для управления проектом и отчётов. Клиентская регистрация и события уведомлений используют ключ проекта в X-API-Key. Ключ должен относиться к проекту в URL и иметь нужное право.

Группы методов

  • POST /auth/register, POST /auth/login, POST /auth/refresh — доступ к аккаунту
  • GET /organizations, GET /projects, POST /projects — организации и проекты
  • GET/POST /projects/PROJECT_ID/api-keys — ключи проекта
  • GET /projects/PROJECT_ID/providers, POST /projects/PROJECT_ID/providers/fcm, POST /projects/PROJECT_ID/providers/web-push — настройка провайдеров
  • POST /projects/PROJECT_ID/devices, GET /projects/PROJECT_ID/devices — регистрация и список устройств
  • POST /projects/PROJECT_ID/events/notification — события открытия и нажатия
  • GET/POST /projects/PROJECT_ID/campaigns, POST /projects/PROJECT_ID/campaigns/CAMPAIGN_ID/send — кампании
  • GET/POST /projects/PROJECT_ID/segments, GET/POST /projects/PROJECT_ID/campaigns/CAMPAIGN_ID/schedule — сегменты и расписания
  • GET /projects/PROJECT_ID/analytics/overview — аналитика

Регистрация устройства

Передайте постоянный anonymousId или externalUserId и актуальный токен FCM. Ответ содержит ID устройства DK Push. Повторная регистрация обновляет устройство.

curl -X POST "https://api.push-dk.ru/api/v1/projects/PROJECT_ID/devices" \
  -H "X-API-Key: SDK_KEY" -H "Content-Type: application/json" \
  -d '{"anonymousId":"player-123","platform":"ANDROID","pushToken":{"provider":"FCM","token":"FCM_TOKEN"}}'

Передача события уведомления

Когда приложение фиксирует реальное открытие или нажатие, отправьте ID кампании и задания из push-данных вместе с ID устройства. Не считайте подтверждение провайдера доставкой.

curl -X POST "https://api.push-dk.ru/api/v1/projects/PROJECT_ID/events/notification" \
  -H "X-API-Key: SDK_KEY" -H "Content-Type: application/json" \
  -d '{"kind":"OPENED","campaignId":"CAMPAIGN_ID","jobId":"JOB_ID","deviceId":"DEVICE_ID"}'

Корректное событие возвращает HTTP 202 с полями accepted и duplicate. Некорректные данные, отсутствующий или отозванный ключ, неверные права и неизвестные ресурсы дают HTTP-ошибку; проверяйте статус и ответ.