/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").
Эту дату можно использовать в сегментах.
Адрес электронной почты пользователя. Adapty Mail доставляет кампании на этот адрес. Адрес доступен только для записи один раз: он устанавливается при создании профиля и последующие сохранения не перезаписывают его.
Идентификатор пользователя в вашей собственной системе, если он у вас есть и Adapty также его знает. Adapty Mail использует его, чтобы распознать человека, который также взаимодействует с ним через Adapty SDK, так что оба источника используют один профиль вместо создания дубликата, который отправляет письма одному и тому же человеку дважды.
Имя пользователя.
Фамилия пользователя.
Пол пользователя.
Дата рождения пользователя в формате 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
}
]
}