Server-side API Authorization and request format

Авторизация

Запросы к API должны быть аутентифицированы с помощью секретного или публичного ключа API, передаваемого в заголовке Authorization. Найти их можно в разделе App Settings. Формат значения: Api-Key {your-secret-api-key}, например Api-Key secret_live_....

Important

Ключи API привязаны к конкретному приложению. Если у вас несколько приложений, убедитесь, что для каждого используется отдельный ключ.

Формат запроса

Заголовки

Запросы к серверному API требуют определённых заголовков и тела в формате JSON. Используйте приведённые ниже сведения для формирования запросов.

ЗаголовокОписание
adapty-profile-id

Adapty profile ID пользователя. Отображается в поле Adapty ID на странице Adapty Dashboard -> Profiles -> конкретный профиль.

Взаимозаменяем с adapty-customer-user-id — используйте любой из них.

adapty-customer-user-id

ID пользователя в вашей системе. Отображается в поле Customer user ID на странице Adapty Dashboard -> Profiles -> конкретный профиль.

Взаимозаменяем с adapty-profile-id — используйте любой из них.

⚠️ Работает только если вы идентифицируете пользователей в приложении в коде приложения с помощью Adapty SDK.

adapty-platform(необязательно) Укажите платформу устройства, на котором установлено приложение. Рекомендуем задавать этот параметр в запросах Create profile и Update profile при изменении объекта Installation Meta, поскольку он зависит от устройства пользователя, а у одного пользователя может быть несколько устройств. Допустимые значения: iOS, macOS, iPadOS, visionOS, Android или web.
Content-TypeУкажите application/json, чтобы API обрабатывал запрос.
Body

API ожидает тело запроса в формате JSON с необходимыми данными.

Ограничения по количеству запросов

Ограничения действуют на уровне API-ключа: каждому ключу назначен собственный лимит — единого значения для всех приложений нет. Если вы планируете интеграцию с высокой нагрузкой или начинаете получать ответы 429, уточните у службы поддержки, какой лимит применяется к вашему приложению.

Два момента, которые стоит учесть при проектировании:

  • Лимит — это устойчивая скорость, а не поминутный бюджет. Запросы сглаживаются по временному окну, и лишь короткий всплеск выше допустимой скорости поглощается, поэтому стабильный поток запросов работает значительно лучше, чем отправка всего минутного трафика сразу.
  • У некоторых эндпоинтов есть собственный, более низкий лимит. Создание транзакции виртуальной валюты по умолчанию допускает 600 запросов в минуту на приложение, независимо от общего лимита вашего приложения.

Запросы, превышающие лимит, завершаются ошибкой 429 Too Many Requests. Повторяйте запросы с задержкой и учитывайте заголовок Retry-After, если он присутствует в ответе.

Ротация API-ключей

Если нужно сменить секретные API-ключи:

  1. В разделе Settings → General нажмите Generate new key, затем нажмите на иконку корзины рядом со старым ключом.
  2. Обновите ключ в своём приложении.

Что дальше: запросы: