From 45d77b02850bd5d61b70399e976f10f3988296e0 Mon Sep 17 00:00:00 2001 From: Vassiliy Yegorov Date: Mon, 2 Feb 2026 06:10:04 +0700 Subject: [PATCH] add more error codes --- README.md | 28 ++++++++++++++++++++-------- VERSION | 2 +- server.js | 8 ++++---- 3 files changed, 25 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 407a4ad..51d6262 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # SMS OTP Gateway -Легковесный сервис для логирования SMS-сообщений. Принимает запросы в формате SMS-провайдера и сохраняет их в локальный файл для просмотра. +Легковесный сервис для логирования SMS-сообщений. Принимает запросы в формате [SMSC.ru API](https://smsc.ru/api/http/send/sms/) и сохраняет их в локальный файл для просмотра. ## Требования @@ -23,7 +23,9 @@ docker-compose down ## API -### POST /send-msg +Формат ответов совместим с [SMSC.ru API](https://smsc.ru/api/http/send/sms/sms_answer/). + +### POST /send Принимает SMS-сообщение и сохраняет в протокол. @@ -41,7 +43,7 @@ docker-compose down **Пример запроса:** ```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" ``` @@ -49,16 +51,26 @@ curl -X POST http://localhost:3000/send-msg \ ```json { - "status": "ok", - "id": 1705678901234 + "id": 1705678901234, + "cnt": 1 } ``` -**Ответ (неверные credentials):** +**Ответ (ошибка авторизации):** ```json { - "error": "Invalid credentials" + "error": "Ошибка авторизации", + "error_code": 2 +} +``` + +**Ответ (отсутствуют параметры):** + +```json +{ + "error": "Отсутствуют обязательные параметры", + "error_code": 1 } ``` @@ -156,7 +168,7 @@ environment: ``` При `BASE_PATH=/sms` все эндпоинты будут доступны по путям: -- `POST /sms/send-msg` +- `POST /sms/send` - `GET /sms/view-all-sms` - `POST /sms/clear-all-sms` - `GET /sms/balance` diff --git a/VERSION b/VERSION index a2268e2..9fc80f9 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.3.1 \ No newline at end of file +0.3.2 \ No newline at end of file diff --git a/server.js b/server.js index 81d16f1..deb9951 100644 --- a/server.js +++ b/server.js @@ -43,16 +43,16 @@ function writeMessages(messages) { } // 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; if (!login || !psw || !phones || !mes) { - return res.status(400).json({ error: "Missing required parameters" }); + return res.json({ error: "Отсутствуют обязательные параметры", error_code: 1 }); } // Validate credentials if (login !== AUTH_LOGIN || psw !== AUTH_PASSWORD) { - return res.status(401).json({ error: "Invalid credentials" }); + return res.json({ error: "Ошибка авторизации", error_code: 2 }); } const message = { @@ -69,7 +69,7 @@ router.post("/send-msg", (req, res) => { 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