projects/codeauth.md

3.1 KiB
Raw Permalink Blame History

Авторизация, ввод кода на стороне клиента

  1. Сайт: Пользователь вводит номер телефона. Сайт генерирует временный уникальный код (случайное число) и сохраняет его в сессии с временем жизни 5 минут.
  2. Сайт: Через API отправляет это случайное число в момент запроса в бота пользователю (и выводит инструкцию как открыть бота).
  3. Бот: При первом запуске запрашивает номер (чтобы привязать user_id Telegram/МАКС к номеру телефона). При следующих запусках номер телефона не запрашивается, пользователь находится по номеру телефона и сразу отправляется проверочный код. Код удаляется из чата с пользователем через 5 мин.
  4. Пользователь вводит этот код на сайте.
  5. Сайт сверяет введенный код с тем, что отправил в бота.

API Endpoint

Отправить проверочный код

Номер телефона нормализуется на клиенте до 79********* - 11 цифр, начиная с 7.

curl -X POST "https://api.botboom.ru/shop/codeauth" \
  -H "Authorization: Bearer your_token" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "79204421997", \
    "code": 1234
    }'

Овет:

http 200

{
    "is_registered": true,
    "tg_link": "https://t.me/Agrokomplexshop_bot?start=tgauth",
    "max_link": "https://max.ru/id2328000083_1_bot?start=tgauth"
}

"is_registered": true - пользователь уже зарегистрирован, код успешно отправлен сразу "is_registered": false - пользователь ещё не регистрировался и должен при входе в бота поделиться номером телефона. Код присылается сразу после отправки номера.

Проверить что номер телефона уже зарегистрирован.

Номер телефона нормализуется на клиенте до 79********* - 11 цифр, начиная с 7.

curl -X POST "https://api.botboom.ru/shop/codeauth" \
  -H "Authorization: Bearer your_token" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "79204421997"
  }'

Овет:

Номер зарегистрирован: http 200

{
    "is_registered": true,
    "tg_link": "https://t.me/Agrokomplexshop_bot?start=tgauth",
    "max_link": "https://max.ru/id2328000083_1_bot?start=tgauth"
}

Номер не зарегистрирован: http 404

{
    "is_registered": false,
    "tg_link": "https://t.me/Agrokomplexshop_bot?start=tgauth",
    "max_link": "https://max.ru/id2328000083_1_bot?start=tgauth"
}