add more error codes
All checks were successful
Build SMS Gateway / Build image (push) Successful in 15s
All checks were successful
Build SMS Gateway / Build image (push) Successful in 15s
This commit is contained in:
28
README.md
28
README.md
@@ -1,6 +1,6 @@
|
|||||||
# SMS OTP Gateway
|
# SMS OTP Gateway
|
||||||
|
|
||||||
Легковесный сервис для логирования SMS-сообщений. Принимает запросы в формате SMS-провайдера и сохраняет их в локальный файл для просмотра.
|
Легковесный сервис для логирования SMS-сообщений. Принимает запросы в формате [SMSC.ru API](https://smsc.ru/api/http/send/sms/) и сохраняет их в локальный файл для просмотра.
|
||||||
|
|
||||||
## Требования
|
## Требования
|
||||||
|
|
||||||
@@ -23,7 +23,9 @@ docker-compose down
|
|||||||
|
|
||||||
## API
|
## API
|
||||||
|
|
||||||
### POST /send-msg
|
Формат ответов совместим с [SMSC.ru API](https://smsc.ru/api/http/send/sms/sms_answer/).
|
||||||
|
|
||||||
|
### POST /send
|
||||||
|
|
||||||
Принимает SMS-сообщение и сохраняет в протокол.
|
Принимает SMS-сообщение и сохраняет в протокол.
|
||||||
|
|
||||||
@@ -41,7 +43,7 @@ docker-compose down
|
|||||||
**Пример запроса:**
|
**Пример запроса:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -X POST http://localhost:3000/send-msg \
|
curl -X POST http://localhost:3000/send \
|
||||||
-d "login=admin&psw=secret&phones=+79001234567&mes=Your code: 1234"
|
-d "login=admin&psw=secret&phones=+79001234567&mes=Your code: 1234"
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -49,16 +51,26 @@ curl -X POST http://localhost:3000/send-msg \
|
|||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"status": "ok",
|
"id": 1705678901234,
|
||||||
"id": 1705678901234
|
"cnt": 1
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
**Ответ (неверные credentials):**
|
**Ответ (ошибка авторизации):**
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"error": "Invalid credentials"
|
"error": "Ошибка авторизации",
|
||||||
|
"error_code": 2
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Ответ (отсутствуют параметры):**
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"error": "Отсутствуют обязательные параметры",
|
||||||
|
"error_code": 1
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -156,7 +168,7 @@ environment:
|
|||||||
```
|
```
|
||||||
|
|
||||||
При `BASE_PATH=/sms` все эндпоинты будут доступны по путям:
|
При `BASE_PATH=/sms` все эндпоинты будут доступны по путям:
|
||||||
- `POST /sms/send-msg`
|
- `POST /sms/send`
|
||||||
- `GET /sms/view-all-sms`
|
- `GET /sms/view-all-sms`
|
||||||
- `POST /sms/clear-all-sms`
|
- `POST /sms/clear-all-sms`
|
||||||
- `GET /sms/balance`
|
- `GET /sms/balance`
|
||||||
|
|||||||
@@ -43,16 +43,16 @@ function writeMessages(messages) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// POST /send-msg - receive and log SMS
|
// POST /send-msg - receive and log SMS
|
||||||
router.post("/send-msg", (req, res) => {
|
router.post("/send", (req, res) => {
|
||||||
const { login, psw, phones, mes } = req.body;
|
const { login, psw, phones, mes } = req.body;
|
||||||
|
|
||||||
if (!login || !psw || !phones || !mes) {
|
if (!login || !psw || !phones || !mes) {
|
||||||
return res.status(400).json({ error: "Missing required parameters" });
|
return res.json({ error: "Отсутствуют обязательные параметры", error_code: 1 });
|
||||||
}
|
}
|
||||||
|
|
||||||
// Validate credentials
|
// Validate credentials
|
||||||
if (login !== AUTH_LOGIN || psw !== AUTH_PASSWORD) {
|
if (login !== AUTH_LOGIN || psw !== AUTH_PASSWORD) {
|
||||||
return res.status(401).json({ error: "Invalid credentials" });
|
return res.json({ error: "Ошибка авторизации", error_code: 2 });
|
||||||
}
|
}
|
||||||
|
|
||||||
const message = {
|
const message = {
|
||||||
@@ -69,7 +69,7 @@ router.post("/send-msg", (req, res) => {
|
|||||||
|
|
||||||
console.log(`[${message.timestamp}] SMS to ${phones}: ${mes}`);
|
console.log(`[${message.timestamp}] SMS to ${phones}: ${mes}`);
|
||||||
|
|
||||||
res.json({ status: "ok", id: message.id });
|
res.json({ id: message.id, cnt: 1 });
|
||||||
});
|
});
|
||||||
|
|
||||||
// GET /view-all-sms - view all logged messages
|
// GET /view-all-sms - view all logged messages
|
||||||
|
|||||||
Reference in New Issue
Block a user