/api/v1/profile/save/ Сохранить профиль
Создаёт или обновляет профиль в Adapty Mail. Профиль содержит email пользователя и атрибуты, которые Adapty Mail использует для идентификации получателей и построения сегментов.
Идентифицируйте каждого пользователя с помощью стабильного external_profile_id. Повторная отправка
того же external_profile_id обновляет существующий профиль, а не создаёт дубликат.
Request body
Стабильный идентификатор пользователя, принадлежащий вашему приложению или бэкенду. Используйте одно и то же значение в разных запросах, чтобы Adapty Mail связывал письма, клики и покупки с одним профилем. Никогда не используйте анонимный или привязанный к установке идентификатор.
Время создания пользователя в формате ISO 8601 (например, "2026-06-01T10:30:00Z").
Эту дату можно использовать в сегментах.
Email-адрес пользователя. Adapty Mail доставляет рассылки на этот адрес.
Имя пользователя.
Фамилия пользователя.
Пол пользователя.
Дата рождения пользователя в формате ISO 8601 (например, "1990-05-21").
Страна пользователя в виде двухбуквенного кода ISO 3166-1 alpha-2 в верхнем регистре (например, US).
Регион стора пользователя в виде двухбуквенного кода ISO 3166-1 alpha-2 в верхнем регистре (например, US).
Произвольные пары ключ-значение (строковые или числовые значения) для добавления к профилю. Используйте их для
построения сегментов — например, plan, signup_source или trial_days.
Платформа пользователя, например iOS или Android.
Модель устройства, например iPhone15,2.
Версия операционной системы, например 17.5.
Локаль пользователя, например en-US.
Часовой пояс пользователя, например America/New_York.
Версия вашего приложения, которую использует пользователь, например 3.1.0.
Responses
Профиль успешно сохранён. Тело ответа — пустой объект.
Schema
Example
{} Ошибка валидации — обязательное поле отсутствует или содержит недопустимое значение. field_name указывает, какое поле вызвало ошибку.
Schema
Стандартный ответ об ошибке. Каждый сбой возвращает статус 4XX с этой структурой.
Описание ошибки в читаемом виде.
Машиночитаемый идентификатор ошибки.
HTTP-код статуса для данной ошибки.
Поле запроса, вызвавшее ошибку, или null, если ошибка не связана с конкретным полем.
Example
{
"errors": [
{
"message": "Field required",
"error_code": "base_error",
"status_code": 400,
"field_name": "email"
}
]
} Секретный API-ключ отсутствует или недействителен.
Schema
Стандартный ответ об ошибке. Каждый сбой возвращает статус 4XX с этой структурой.
Описание ошибки в читаемом виде.
Машиночитаемый идентификатор ошибки.
HTTP-код статуса для данной ошибки.
Поле запроса, вызвавшее ошибку, или null, если ошибка не связана с конкретным полем.
Example
{
"errors": [
{
"message": "Secret key doesn't exist",
"error_code": "secret_key_does_not_exist_error",
"status_code": 403,
"field_name": null
}
]
}