📚 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"

💻 Примеры Кода

Выберите язык программирования:

<?php
// DevSMS API - PHP Example

$token = "your_api_token_here";
$baseUrl = "https://devsms.uz/api";

// SMS Yuborish
function sendSMS($token, $baseUrl, $phone, $message) {
    $ch = curl_init("$baseUrl/send_sms.php");
    
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POST => true,
        CURLOPT_HTTPHEADER => [
            "Authorization: Bearer $token",
            "Content-Type: application/json"
        ],
        CURLOPT_POSTFIELDS => json_encode([
            "phone" => $phone,
            "message" => $message
        ])
    ]);
    
    $response = curl_exec($ch);
    curl_close($ch);
    
    return json_decode($response, true);
}

// Balansni olish
function getBalance($token, $baseUrl) {
    $ch = curl_init("$baseUrl/get_balance.php");
    
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => [
            "Authorization: Bearer $token"
        ]
    ]);
    
    $response = curl_exec($ch);
    curl_close($ch);
    
    return json_decode($response, true);
}

// Ishlatish
$result = sendSMS($token, $baseUrl, "998901234567", "Salom!");
print_r($result);

$balance = getBalance($token, $baseUrl);
print_r($balance);
?>