add more error codes
All checks were successful
Build SMS Gateway / Build image (push) Successful in 15s

This commit is contained in:
2026-02-02 06:10:04 +07:00
parent 1fc17991ae
commit 45d77b0285
3 changed files with 25 additions and 13 deletions

View File

@@ -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`

View File

@@ -1 +1 @@
0.3.1
0.3.2

View File

@@ -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