📚 API Documentation

DevSMS API

RESTful API для отправки SMS

Базовый URL

https://devsms.uz/api

Важно:

Для всех API запросов требуется Authorization: Bearer {token} заголовок.

🔐 Аутентификация

В каждом запросе необходимо отправлять следующий заголовок:

Authorization: Bearer your_token_here
POST

1. Отправка SMS

https://devsms.uz/api/send_sms.php

Тело запроса:

{
    "phone": "998901234567",
    "message": "Test SMS xabari",
    "from": "4546"
}

Параметры:

Параметр Тип Обязательно Описание
phone string Да Номер телефона (формат: 998901234567)
message string Да Текст SMS
from string Нет От кого (по умолчанию: 4546)

Ответ:

{
    "success": true,
    "message": "SMS muvaffaqiyatli yuborildi",
    "data": {
        "sms_id": 123,
        "request_id": "uuid-here",
        "status": "waiting",
        "parts_count": 1,
        "total_cost": 50,
        "balance": 950
    }
}
GET

2. Получить Историю SMS

https://devsms.uz/api/get_history.php

Query параметры:

Параметр Тип По умолчанию Описание
limit integer 50 Количество SMS (макс: 200)
offset integer 0 Смещение
status string null Фильтр по статусу (DELIVERED, waiting, REJECTED)

Пример:

GET https://devsms.uz/api/get_history.php?limit=10&offset=0&status=DELIVERED
GET

3. Получить Баланс

https://devsms.uz/api/get_balance.php

Ответ:

{
    "success": true,
    "data": {
        "balance": 1000,
        "sms_price": 50,
        "statistics": {
            "total_sms": 100,
            "total_spent": 5000,
            "today_sms": 10,
            "today_spent": 500,
            "month_sms": 50,
            "month_spent": 2500
        }
    }
}
GET

4. Получить Статус SMS

https://devsms.uz/api/get_status.php

Query параметры:

Параметр Тип Описание
sms_id integer SMS ID (ID в базе данных)
request_id string Eskiz request ID

Пример:

GET https://devsms.uz/api/get_status.php?sms_id=123

или

GET https://devsms.uz/api/get_status.php?request_id=uuid-here

📝 Статусы SMS

Статус Описание
waiting SMS в ожидании
ACCEPTED SMS отправлено оператору
DELIVERED SMS доставлено
REJECTED SMS отклонено
UNDELIVERABLE SMS не доставлено

❌ Ошибки

При возникновении ошибки возвращается следующий формат:

{
    "success": false,
    "error": "Xatolik xabari"
}

HTTP коды статуса:

Код Описание
200 Успешно
400 Неверный запрос
401 Ошибка аутентификации
403 Доступ запрещен
404 Не найдено
500 Ошибка сервера

Совет:

Для тестирования API можно использовать Postman или cURL.

🔧 Примеры cURL

Отправка SMS:

curl -X POST https://devsms.uz/api/send_sms.php \
  -H "Authorization: Bearer your_token" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "998901234567",
    "message": "Test SMS"
  }'

Получить Баланс:

curl -X GET https://devsms.uz/api/get_balance.php \
  -H "Authorization: Bearer your_token"