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-сообщений. Принимает запросы в формате 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`
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user