Заголовки, auth и HTTP-поверхность обоих SDK.
Справка API
Базовый URL: YOUR_API_URL
JSON. Конверт: { "data": ... } или { "error": "code", "message": "..." }.
Заголовки
| Header | Когда |
|---|---|
Content-Type: application/json | с телом |
X-Application-Code | идентификация приложения |
X-Application-Id | альтернатива коду |
X-Public-Key | пейвол, платежи, CMS Site |
Authorization: Bearer <jwt> | user-scoped |
Публичные
GET /v1/applications/{app_code}/paywalls/{paywall_code}
X-Public-Key: YOUR_PUBLIC_KEY
GET /v1/applications/{app_code}/config?platform=web&app_version=1.0.0
GET /v1/applications/{app_code}/branding
X-Public-Key: YOUR_PUBLIC_KEY
GET /v1/applications/{app_code}/banners/{banner_code}
X-Public-Key: YOUR_PUBLIC_KEY
GET /v1/sites/{site_code}/banners/{banner_code}
X-Public-Key: YOUR_CMS_SITE_KEY
С авторизацией
POST /v1/applications/{app_code}/users/register
PATCH /v1/applications/{app_code}/users/me
GET /v1/applications/{app_code}/users/me/consents
POST /v1/applications/{app_code}/users/me/consents
GET /v1/applications/{app_code}/entitlements/me
POST /v1/payments
POST /v1/applications/{app_code}/license-keys/activate
POST /v1/devices/register
GET /v1/devices?application_code=YOUR_APP_CODE
DELETE /v1/devices/{device_id}
GET /v1/applications/{app_code}/features
POST /v1/events
POST /v1/events/batch
Приложение для события: application_id / application_code в теле или заголовки X-Application-Id / X-Application-Code (lookup через service role).
Регистрация / профиль
POST /v1/applications/{app_code}/users/register
Authorization: Bearer YOUR_ACCESS_TOKEN
{
"platform": "web",
"display_name": "Иван",
"avatar_url": "https://cdn.example.com/a.jpg",
"timezone": "Europe/Moscow",
"acquisition_source": "organic",
"explicit_consent": true,
"consents": [
{
"document_id": "YOUR_LEGAL_DOCUMENT_UUID",
"version": "1",
"checkbox_text": "Я принимаю Пользовательское соглашение",
"accepted": true
}
]
}
GET /v1/applications/{app_code}/users/me/consents
Authorization: Bearer YOUR_ACCESS_TOKEN
POST /v1/applications/{app_code}/users/me/consents
Authorization: Bearer YOUR_ACCESS_TOKEN
{
"source_screen": "reconsent_modal",
"consents": [ /* document_id, version, checkbox_text, accepted */ ]
}
PATCH /v1/applications/{app_code}/users/me
Authorization: Bearer YOUR_ACCESS_TOKEN
{
"display_name": "Иван П.",
"avatar_url": "https://cdn.example.com/a2.jpg"
}
Имя и avatar_url попадают в админку Platform. Гео (country_code, city, timezone) заполняется по IP при первом контакте. Гайд: Пользователи и профиль.
Платёж free → 400 free_plan_offline.
Webhook провайдера платежей настраивается на Platform API, не на маркетинг-сайт. Секреты провайдера — только на сервере.
CMS Site (публичное чтение)
GET /v1/applications/YOUR_APP_CODE/sites/YOUR_SITE_CODE/blog/posts
GET /v1/applications/YOUR_APP_CODE/sites/YOUR_SITE_CODE/kb/tree
GET /v1/applications/YOUR_APP_CODE/sites/YOUR_SITE_CODE/downloads
GET /v1/applications/YOUR_APP_CODE/sites/YOUR_SITE_CODE/changelog
X-Public-Key: YOUR_PUBLIC_KEY
Гайд: CMS Сайт.