From b8d5d4abe8efd5b2b27a4bd493e70680900de11f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=A2=D0=BE?= =?UTF-8?q?=D1=80=D0=BE=D0=B2?= Date: Tue, 16 Jun 2026 08:53:00 +0000 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20codeauth.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- codeauth.md | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 codeauth.md diff --git a/codeauth.md b/codeauth.md new file mode 100644 index 0000000..3196e55 --- /dev/null +++ b/codeauth.md @@ -0,0 +1,73 @@ +# Авторизация, ввод кода на стороне клиента + +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" +} +``` \ No newline at end of file