73 lines
3.1 KiB
Markdown
73 lines
3.1 KiB
Markdown
# Авторизация, ввод кода на стороне клиента
|
||
|
||
1. **Сайт:** Пользователь вводит номер телефона. Сайт генерирует **временный уникальный `код` (случайное число)** и сохраняет его в сессии с временем жизни 5 минут.
|
||
2. **Сайт:** Через API отправляет это случайное число **в момент запроса** в бота пользователю (и выводит инструкцию как открыть бота).
|
||
3. **Бот:** При первом запуске запрашивает номер (чтобы привязать `user_id` Telegram/МАКС к номеру телефона). **При следующих запусках** номер телефона не запрашивается, пользователь находится по номеру телефона и сразу отправляется проверочный код. Код удаляется из чата с пользователем через 5 мин.
|
||
4. **Пользователь** вводит этот код на сайте.
|
||
5. **Сайт** сверяет введенный код с тем, что отправил в бота.
|
||
|
||
# API Endpoint
|
||
|
||
## Отправить проверочный код
|
||
|
||
Номер телефона нормализуется на клиенте до 79********* - 11 цифр, начиная с 7.
|
||
|
||
``` Curl
|
||
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
|
||
|
||
```json
|
||
{
|
||
"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
|
||
curl -X POST "https://api.botboom.ru/shop/codeauth" \
|
||
-H "Authorization: Bearer your_token" \
|
||
-H "Content-Type: application/json" \
|
||
-d '{
|
||
"phone": "79204421997"
|
||
}'
|
||
```
|
||
|
||
# Овет:
|
||
|
||
Номер зарегистрирован: http 200
|
||
|
||
```json
|
||
{
|
||
"is_registered": true,
|
||
"tg_link": "https://t.me/Agrokomplexshop_bot?start=tgauth",
|
||
"max_link": "https://max.ru/id2328000083_1_bot?start=tgauth"
|
||
}
|
||
```
|
||
|
||
Номер не зарегистрирован: http 404
|
||
|
||
```json
|
||
{
|
||
"is_registered": false,
|
||
"tg_link": "https://t.me/Agrokomplexshop_bot?start=tgauth",
|
||
"max_link": "https://max.ru/id2328000083_1_bot?start=tgauth"
|
||
}
|
||
``` |