Server-side API Authorization and request format
Авторизация
Запросы к API должны быть аутентифицированы с помощью секретного или публичного ключа API, передаваемого в заголовке Authorization. Найти их можно в разделе App Settings. Формат значения: Api-Key {your-secret-api-key}, например Api-Key secret_live_....
Ключи 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 — используйте любой из них. ⚠️ Работает только если вы идентифицируете пользователей в приложении iOS, Android, React Native, Flutter и Unity в коде приложения с помощью 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-ключи:
- В разделе Settings → General нажмите Generate new key, затем нажмите на иконку корзины рядом со старым ключом.
- Обновите ключ в своём приложении.
Что дальше: запросы: