Авторизует пользователя по номеру телефона и OTP-коду.
Дополнительно клиент обязан передать type_account - ожидаемый тип аккаунта. Допустимые значения: CLIENT, MASTER, SALON. Если type_account = SALON, клиент обязан передать role_in_salon. Допустимые значения: OWNER, MASTER, ADMIN. Если role_in_salon = MASTER или ADMIN, клиент обязан передать invite_token.
Необязательное поле referral_code обрабатывается только при создании нового аккаунта. Его могут использовать клиент (CLIENT), индивидуальный мастер (MASTER) и владелец салона (SALON с role_in_salon = OWNER). Для мастера и администратора салона (SALON с role_in_salon = MASTER или ADMIN) реферальный код игнорируется. Если рефовод с указанным ID не существует, аккаунт создаётся без рефовода.
При входе в уже существующий аккаунт referral_code игнорируется. Если аккаунт был удалён и затем создан повторно с тем же телефоном, сохраняется первоначальный рефовод и прежний статус реферала: новый код не может заменить историческую привязку и повторная награда не начисляется.
В успешном ответе возвращает пару токенов:
JWT- access tokenRT- refresh token Отдельный business_invite_token разрешён только CLIENT и несовместим с непустыми referral_code и invite_token. Некорректный или недоступный MASTER:id / SALON:id даёт invalid_body на этапе валидации. Для валидного идентификатора отказ бизнес-программы (например, ALREADY_BOUND_TO_OTHER_BUSINESS) не блокирует вход и сохраняется в списке бизнеса; персональная рефералка и купоны автоматически не запускаются.
Тип аккаунта, в который выполняется вход.
Роль внутри салона. Обязательна при type_account = SALON.
Токен приглашения. Обязателен при type_account = SALON и role_in_salon = MASTER или ADMIN.
Необязательный ID рефовода. Применяется только при создании аккаунта CLIENT, MASTER или владельца салона (SALON + OWNER). При входе в существующий аккаунт, а также для мастера или администратора салона поле игнорируется. Несуществующий код не мешает регистрации. Повторная регистрация с тем же телефоном восстанавливает первоначальную привязку независимо от переданного нового кода.
Идентификатор бизнеса из ссылки профиля: MASTER:456 (user ID мастера) или SALON:123 (ID салона). Проверяются формат, существование и доступность бизнеса. Старые context_token не принимаются. 70 дней отсчитываются от регистрации с приглашением, повторный вход срок не продлевает. Только CLIENT. Нельзя одновременно передавать непустой referral_code или staff invite_token: это invalid_body до проверки OTP. Пустое/null значение не включает бизнес-приглашение. Новый клиент получает атрибуцию пригласившего бизнеса; существующий клиент проходит обычный вход, а результат попытки сохраняется отдельно. Отказ из-за активной или прошлой чужой привязки не меняет токены входа и не переносит прежнюю привязку.
- https://felmee.comhttps://felmee.com/api/auth/phone/login
- http://localhost:8080http://localhost:8080/api/auth/phone/login
curl -i -X POST \
https://felmee.com/api/auth/phone/login \
-H 'Content-Type: application/json' \
-d '{
"phone": "+79991234567",
"otp": "123456",
"type_account": "CLIENT",
"role_in_salon": null,
"invite_token": null,
"referral_code": "42"
}'Авторизация выполнена успешно
Устаревший camelCase-alias поля error_code; при ошибке оба поля содержат одинаковое значение.
Код ошибки. Для успешных ответов всегда null.
{ "success": true, "message": "The authorization process has been completed successfully!", "error_code": null, "data": { "JWT": "<access_token>", "RT": "<refresh_token>" } }