uBill DevelopersREST API · v1 Production

Полная документация API

Все ресурсы SMS и Billing API в одном месте - точные endpoint-ы, полные описания Postman, headers, request body, примеры response и готовый код.

21 endpoint API key auth JSON / XML
POST /v1/sms/send
1curl --request POST \2  --url api.ubill.dev/v1/sms/send \3  --header 'key: ••••••••'
200 OK{ "statusID": 0, "message": "SMS Sent" }
GETTING STARTED

Работа с uBill API

UBill API - provides programmatic access to our resources. You will be able to integrate our service into your system and communicate with clients easily.

API examples

API implementations in different languages, provided by different sources.

Предпочитаете Postman?

Документацию и примеры API-запросов также можно изучить в публичной коллекции uBill в Postman.

Открыть в Postman
Base URLhttps://api.ubill.dev
Versionv1
ProtocolHTTPS
EncodingUTF-8
01
SECURITY

Авторизация

Запросы к защищённым endpoint-ам должны содержать секретный API-ключ компании. Большинство endpoint-ов принимают его в header key; несколько legacy GET/XML endpoint-ов используют query-параметр key.

Не публикуйте API-ключ

Храните ключ в server-side переменной окружения. Не размещайте его во frontend JavaScript, мобильном приложении или публичном Git-репозитории.

Request headers
key: YOUR_API_KEY
Content-Type: application/json
02
CONVENTIONS

Форматы и статусы

API преимущественно возвращает ответы JSON. Результат операции определяется полем statusID; успешный запрос имеет значение 0. XML endpoint возвращает ответ в формате XML.

0SMS отправлено
1Получено
2Не доставлено
3Ожидание статуса
4Ошибка
API REFERENCE

Все ресурсы и endpoint-ы

Информация ниже синхронизирована с последней версией публичной коллекции Postman.

API GROUP

SMS API

10 endpoint

SMS API / brandName Create

brandName Create

API key · Header
POST https://api.ubill.dev /v1/sms/brandNameCreate

Response status

statusIDDescription
0BrandName Created
10The brandName field is empty
20The minimum number of characters in the brandName must be 2 and the maximum number 11
30Unauthorized markings are used in the brandName
40brandName has already been added
50Wait for the last added brandName to be authenticated
90Json Error
99General error

Request headers 2

KeyValueИсточник
keyYOUR_API_KEYАвторизация
Content-Typeapplication/jsonHeader

Request body JSON

Request body
{
    "brandName" : "test"
}

Примеры кода

cURL · PHP · JavaScript
cURL
curl --request POST \
  --url 'https://api.ubill.dev/v1/sms/brandNameCreate' \
  --header 'key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "brandName" : "test"
}'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/sms/brandNameCreate',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => <<<'BODY'
{
    "brandName" : "test"
}
BODY,
    CURLOPT_HTTPHEADER => [
        'key: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

echo $response;
JavaScript
const response = await fetch(
  'https://api.ubill.dev/v1/sms/brandNameCreate',
  {
  method: 'POST',
  headers: {
    'key': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: "{\n    \"brandName\" : \"test\"\n}"
  }
);

const data = await response.json();
console.log(data);

Response examples

1 пример
brandName Create Example
Response · JSON
{
    "statusID": 0,
    "brandID": 1,
    "message": "BrandName Created"
}
SMS API / brandName Delete

brandName Delete

API key · Header
POST https://api.ubill.dev /v1/sms/brandNameDelete

Response status

statusIDDescription
0BrandName Deleted
10BrandName not found
90Json Error
99General error

Request headers 2

KeyValueИсточник
keyYOUR_API_KEYАвторизация
Content-Typeapplication/jsonHeader

Request body JSON

Request body
{
    "brandID": 2
}

Примеры кода

cURL · PHP · JavaScript
cURL
curl --request POST \
  --url 'https://api.ubill.dev/v1/sms/brandNameDelete' \
  --header 'key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "brandID": 2
}'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/sms/brandNameDelete',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => <<<'BODY'
{
    "brandID": 2
}
BODY,
    CURLOPT_HTTPHEADER => [
        'key: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

echo $response;
JavaScript
const response = await fetch(
  'https://api.ubill.dev/v1/sms/brandNameDelete',
  {
  method: 'POST',
  headers: {
    'key': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: "{\n    \"brandID\": 2\n}"
  }
);

const data = await response.json();
console.log(data);

Response examples

1 пример
brandName Delete Example
Response · JSON
{
    "statusID": 0,
    "brandID": "2",
    "message": "BrandName Deleted"
}
SMS API / Get All BrandNames

Get All BrandNames

API key · Header
GET https://api.ubill.dev /v1/sms/brandNames
Для этого endpoint-а в коллекции Postman отсутствует отдельное описание.

Request headers 2

KeyValueИсточник
keyYOUR_API_KEYАвторизация
Content-Typeapplication/jsonHeader

Примеры кода

cURL · PHP · JavaScript
cURL
curl --request GET \
  --url 'https://api.ubill.dev/v1/sms/brandNames' \
  --header 'key: YOUR_API_KEY' \
  --header 'Content-Type: application/json'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/sms/brandNames',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => [
        'key: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

echo $response;
JavaScript
const response = await fetch(
  'https://api.ubill.dev/v1/sms/brandNames',
  {
  method: 'GET',
  headers: {
    'key': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
  }
  }
);

const data = await response.json();
console.log(data);

Response examples

1 пример
Get All BrandNames Example
Response · JSON
{
    "statusID": 0,
    "data": [
        {
            "id": "1",
            "name": "test",
            "authorized": "1",
            "createdAt": "2020-11-14 20:42:44"
        },
        {
            "id": "2",
            "name": "test2",
            "authorized": "2",
            "createdAt": "2021-03-27 00:22:38"
        }
    ]
}
SMS API / Send SMS

Send SMS

API key · Query
GET https://api.ubill.dev /v1/sms/send?key=YOUR_API_KEY&brandID=1&numbers=9955XXXXXXXX,9955XXXXXXXX&text=message&stopList=false

Required Parameters

Parameter Description
key Secret API key used to authenticate requests. The key can be viewed and managed in the company settings.
brandID Unique brand identifier within the system.
numbers Comma-separated list of mobile phone numbers. Numbers must be in international format without 00 or +.
text SMS message content. Any Unicode characters are supported.

Optional Parameters

Parameter Description
stopList stopList=false - disables stop list validation. The message will be sent even if the recipient number exists in the stop list.
otp otp=true - marks the message as an OTP (one-time password / verification code).
OTP messages are processed with the highest priority.
⚠️ Must be used only for authentication codes.
sendTime Scheduled SMS delivery time.
Format: Y-m-d H:i (example: 2026-02-01 23:30).
The specified time must be in the future.
If omitted, the message is sent immediately.
callbackUrl Individual callback URL for this SMS request. Works only if a default callback URL is configured globally in the API application settings.

Notes

  • OTP messages are intended strictly for authentication flows (login, verification, password reset).

  • Misuse of the otp parameter may result in delivery restrictions or account limitations.


Response Status

statusID Description
0 SMS Sent
10 brandID not found
20 Numbers not found
30 Empty message text
40 Not enough SMS
50 Valid numbers not found
60 Invalid sendTime format. Use Y-m-d H:i
90 JSON Error
99 General error

⚠️ GET Method Limitations

  • The API does not enforce a strict limit on the number of recipient numbers.

  • Actual limits are imposed by URL and HTTP header size constraints (Cloudflare, proxies, browsers).

Practical Limits

  • ✅ Up to ~1500 numbers per request works reliably.

  • ⚠️ Around 2000+ numbers may result in Header overflow errors.

  • These errors occur before the request reaches the API, at the HTTP / proxy level.

Recommendation

  • Use GET only for small to medium requests.

  • For large recipient lists, always use POST.

URL parameters 5

keyqueryYOUR_API_KEY
brandIDquery1
numbersquery9955XXXXXXXX,9955XXXXXXXX
textquerymessage
stopListqueryfalse

Примеры кода

cURL · PHP · JavaScript
cURL
curl --request GET \
  --url 'https://api.ubill.dev/v1/sms/send?key=YOUR_API_KEY&brandID=1&numbers=9955XXXXXXXX,9955XXXXXXXX&text=message&stopList=false'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/sms/send?key=YOUR_API_KEY&brandID=1&numbers=9955XXXXXXXX,9955XXXXXXXX&text=message&stopList=false',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET'
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

echo $response;
JavaScript
const response = await fetch(
  'https://api.ubill.dev/v1/sms/send?key=YOUR_API_KEY&brandID=1&numbers=9955XXXXXXXX,9955XXXXXXXX&text=message&stopList=false',
  {
  method: 'GET'
  }
);

const data = await response.json();
console.log(data);

Response examples

1 пример
Send SMS Example
Response · JSON
{
    "statusID": 0,
    "smsID": "117345",
    "message": "SMS Sent"
}
SMS API / Send SMS

Send SMS

API key · Header
POST https://api.ubill.dev /v1/sms/send

Headers

Key Value
key Your secret API key
Content-Type application/json

Required Parameters (JSON Body)

Parameter Description
brandID Unique brand identifier within the system.
numbers Array of mobile phone numbers. Numbers must be in international format without 00 or +. Example: ["9955XXXXXXXX","9955XXXXXXXX"]
text SMS message content. Any Unicode characters are supported.

Optional Parameters (JSON Body)

Parameter Description
stopList false - disables stop list validation. The message will be sent even if the recipient number exists in the stop list.
otp true - marks the message as an OTP (one-time password / verification code).
OTP messages are processed with the highest priority.
⚠️ Must be used only for authentication codes.
sendTime Scheduled SMS delivery time. Format: Y-m-d H:i (example: "2026-02-01 23:30"). Must be in the future. If omitted, the message is sent immediately.
callbackUrl Individual callback URL for this SMS request. Works only if a default callback URL is configured globally in the API application settings.

Notes

  • OTP messages are intended strictly for authentication flows (login, verification, password reset).

  • Misuse of the otp parameter may result in delivery restrictions or account limitations.

Response Status

statusID Description
0 SMS Sent
10 brandID not found
20 Numbers not found
30 Empty message text
40 Not enough SMS
50 Valid numbers not found
60 Invalid sendTime format. Use Y-m-d H:i
90 JSON Error
99 General error

⚠️ Limits & Notes

  • Max request body size: 100 MB → Requests exceeding this size will be rejected.

  • Cloudflare proxied timeout: 100 seconds → Requests taking longer will return 524 Timeout.

  • For large SMS batches, split requests into smaller chunks to avoid timeouts or memory issues.

  • Use stopList to avoid sending messages to blocked numbers.

Practical Observation from Testing:

In our tests, SMS messages were successfully sent to up to 500,000 numbers in a single request. Sending requests above this number may lead to memory, timeout, or request size issues. Actual limits may vary depending on text length, encoding, and server load.

Recommendation:

For safe and reliable operation, it is recommended to limit requests to around 100,000 numbers per batch.

Request headers 2

KeyValueИсточник
keyYOUR_API_KEYАвторизация
Content-Typeapplication/jsonHeader

Request body JSON

Request body
{
    "brandID": 1,
    "numbers": [
        9955XXXXXXXX,
        9955XXXXXXXX
    ],
    "text": "Message",
    "stopList": false, // Enable/disable checking numbers in the stop list
    "sendTime": "2026-02-01 23:01" // sendTime (optional)
}

Примеры кода

cURL · PHP · JavaScript
cURL
curl --request POST \
  --url 'https://api.ubill.dev/v1/sms/send' \
  --header 'key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "brandID": 1,
    "numbers": [
        9955XXXXXXXX,
        9955XXXXXXXX
    ],
    "text": "Message",
    "stopList": false, // Enable/disable checking numbers in the stop list
    "sendTime": "2026-02-01 23:01" // sendTime (optional)
}'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/sms/send',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => <<<'BODY'
{
    "brandID": 1,
    "numbers": [
        9955XXXXXXXX,
        9955XXXXXXXX
    ],
    "text": "Message",
    "stopList": false, // Enable/disable checking numbers in the stop list
    "sendTime": "2026-02-01 23:01" // sendTime (optional)
}
BODY,
    CURLOPT_HTTPHEADER => [
        'key: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

echo $response;
JavaScript
const response = await fetch(
  'https://api.ubill.dev/v1/sms/send',
  {
  method: 'POST',
  headers: {
    'key': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: "{\n    \"brandID\": 1,\n    \"numbers\": [\n        9955XXXXXXXX,\n        9955XXXXXXXX\n    ],\n    \"text\": \"Message\",\n    \"stopList\": false, // Enable/disable checking numbers in the stop list\n    \"sendTime\": \"2026-02-01 23:01\" // sendTime (optional)\n}"
  }
);

const data = await response.json();
console.log(data);

Response examples

1 пример
Send SMS Example
Response · JSON
{
    "statusID": 0,
    "smsID": 111,
    "message": "SMS Sended"
}
SMS API / Send SMS - Multiple Text

Send SMS - Multiple Text

API key · Header
POST https://api.ubill.dev /v1/sms/send

Headers

Key Value
key Your secret API key
Content-Type application/json

Required Parameters (JSON Body)

Parameter Description
brandID Unique brand identifier within the system.
numbers Array of mobile phone numbers. Numbers must be in international format without 00 or +. Example: ["9955XXXXXXXX","9955XXXXXXXX"]
text SMS message content. Any Unicode characters are supported.

Optional Parameters (JSON Body)

Parameter Description
stopList false - disables stop list validation. The message will be sent even if the recipient number exists in the stop list.
otp true - marks the message as an OTP (one-time password / verification code).
OTP messages are processed with the highest priority.
⚠️ Must be used only for authentication codes.
sendTime Scheduled SMS delivery time. Format: Y-m-d H:i (example: "2026-02-01 23:30"). Must be in the future. If omitted, the message is sent immediately.
callbackUrl Individual callback URL for this SMS request. Works only if a default callback URL is configured globally in the API application settings.

Notes

  • OTP messages are intended strictly for authentication flows (login, verification, password reset).

  • Misuse of the otp parameter may result in delivery restrictions or account limitations.


Response Status

statusID Description
0 SMS Sent
10 brandID not found
20 Numbers not found
30 Empty message text
40 Not enough SMS
50 Valid numbers not found
60 Invalid sendTime format. Use Y-m-d H:i
90 JSON Error
99 General error

⚠️ Limits & Notes

  • Max request body size: 100 MB → Requests exceeding this size will be rejected.

  • Cloudflare proxied timeout: 100 seconds → Requests taking longer will return 524 Timeout.

  • For large SMS batches, split requests into smaller chunks to avoid timeouts or memory issues.

  • Use stopList to avoid sending messages to blocked numbers.

Practical Observation from Testing:

SMS per recipient Maximum numbers per request
1 400,000
2 200,000
3 150,000
4 120,000
5 100,000
6 50,000

Actual limits may vary depending on text length, encoding, and server load.

Recommendation:

For safe and reliable operation, it is recommended to limit requests to the numbers listed above per batch, according to the number of concatenated SMS messages being sent.

Request headers 2

KeyValueИсточник
keyYOUR_API_KEYАвторизация
Content-Typeapplication/jsonHeader

Request body JSON

Request body
{
    "brandID": 1,
    "numbers": [
        {
            "number": 9955XXXXXXXX,
            "text": "Здравствуйте, Николай"
        },
        {
            "number": 9955XXXXXXXX,
            "text": "Здравствуйте, Георгий"
        }
    ],
    "stopList": false, // Enable/disable checking numbers in the stop list
    "sendTime": "2026-02-01 23:01" // sendTime (optional)
}

Примеры кода

cURL · PHP · JavaScript
cURL
curl --request POST \
  --url 'https://api.ubill.dev/v1/sms/send' \
  --header 'key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "brandID": 1,
    "numbers": [
        {
            "number": 9955XXXXXXXX,
            "text": "Здравствуйте, Николай"
        },
        {
            "number": 9955XXXXXXXX,
            "text": "Здравствуйте, Георгий"
        }
    ],
    "stopList": false, // Enable/disable checking numbers in the stop list
    "sendTime": "2026-02-01 23:01" // sendTime (optional)
}'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/sms/send',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => <<<'BODY'
{
    "brandID": 1,
    "numbers": [
        {
            "number": 9955XXXXXXXX,
            "text": "Здравствуйте, Николай"
        },
        {
            "number": 9955XXXXXXXX,
            "text": "Здравствуйте, Георгий"
        }
    ],
    "stopList": false, // Enable/disable checking numbers in the stop list
    "sendTime": "2026-02-01 23:01" // sendTime (optional)
}
BODY,
    CURLOPT_HTTPHEADER => [
        'key: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

echo $response;
JavaScript
const response = await fetch(
  'https://api.ubill.dev/v1/sms/send',
  {
  method: 'POST',
  headers: {
    'key': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: "{\n    \"brandID\": 1,\n    \"numbers\": [\n        {\n            \"number\": 9955XXXXXXXX,\n            \"text\": \"Здравствуйте, Николай\"\n        },\n        {\n            \"number\": 9955XXXXXXXX,\n            \"text\": \"Здравствуйте, Георгий\"\n        }\n    ],\n    \"stopList\": false, // Enable/disable checking numbers in the stop list\n    \"sendTime\": \"2026-02-01 23:01\" // sendTime (optional)\n}"
  }
);

const data = await response.json();
console.log(data);

Response examples

1 пример
Send SMS - Multiple Text Example
Response · JSON
{
    "statusID": 0,
    "smsID": 111,
    "message": "SMS Sended"
}
SMS API / Send SMS XML

Send SMS XML

API key · Query
POST https://api.ubill.dev /v1/sms/sendXml?key=YOUR_API_KEY

Response status

statusIDDescription
0SMS Sended
10brandID not found
20Numbers not found
30Empty message text
40Not enough SMS
50Valid numbers not found
90Json Error
99General error

⚠️ Limits & Notes

  • Max request body size: 100 MB → Requests exceeding this size will be rejected.

  • Cloudflare proxied timeout: 100 seconds → Requests taking longer will return 524 Timeout.

  • For large SMS batches, split requests to smaller chunks to avoid timeouts or memory issues.

  • Use stopList to avoid sending messages to blocked numbers.

URL parameters 1

keyqueryYOUR_API_KEY

Request body XML

Request body
<?xml version="1.0" encoding="UTF-8"?>
<request>
    <brandID>1</brandID>
    <numbers>9955XXXXXXXX</numbers>
    <text>test</text>
    <stopList>false</stopList> <!-- Enable/disable checking numbers in the stop list -->
</request>

Примеры кода

cURL · PHP · JavaScript
cURL
curl --request POST \
  --url 'https://api.ubill.dev/v1/sms/sendXml?key=YOUR_API_KEY' \
  --data '<?xml version="1.0" encoding="UTF-8"?>
<request>
    <brandID>1</brandID>
    <numbers>9955XXXXXXXX</numbers>
    <text>test</text>
    <stopList>false</stopList> <!-- Enable/disable checking numbers in the stop list -->
</request>'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/sms/sendXml?key=YOUR_API_KEY',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => <<<'BODY'
<?xml version="1.0" encoding="UTF-8"?>
<request>
    <brandID>1</brandID>
    <numbers>9955XXXXXXXX</numbers>
    <text>test</text>
    <stopList>false</stopList> <!-- Enable/disable checking numbers in the stop list -->
</request>
BODY
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

echo $response;
JavaScript
const response = await fetch(
  'https://api.ubill.dev/v1/sms/sendXml?key=YOUR_API_KEY',
  {
  method: 'POST',
  body: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<request>\n    <brandID>1</brandID>\n    <numbers>9955XXXXXXXX</numbers>\n    <text>test</text>\n    <stopList>false</stopList> <!-- Enable/disable checking numbers in the stop list -->\n</request>"
  }
);

const data = await response.json();
console.log(data);

Response examples

1 пример
Send SMS XML Example
Response · XML
<?xml version="1.0" encoding="UTF-8"?>
<response>
    <statusID>0</statusID>
    <smsID>11574</smsID>
    <message>SMS Sent</message>
</response>
SMS API / Delivery Report

Delivery Report

API key · Header
GET https://api.ubill.dev /v1/sms/report/{smsID}

Statuses

statusID Description
0 Sent
1 Received
2 Not delivered
3 Awaiting status
4 Error

URL parameters 1

smsIDpath{smsID}

Request headers 2

KeyValueИсточник
keyYOUR_API_KEYАвторизация
Content-Typeapplication/jsonHeader

Примеры кода

cURL · PHP · JavaScript
cURL
curl --request GET \
  --url 'https://api.ubill.dev/v1/sms/report/{smsID}' \
  --header 'key: YOUR_API_KEY' \
  --header 'Content-Type: application/json'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/sms/report/{smsID}',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => [
        'key: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

echo $response;
JavaScript
const response = await fetch(
  'https://api.ubill.dev/v1/sms/report/{smsID}',
  {
  method: 'GET',
  headers: {
    'key': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
  }
  }
);

const data = await response.json();
console.log(data);

Response examples

1 пример
Delivery Report Example
Response · JSON
{
    "statusID": 0,
    "result": [
        {
            "number": "9955XXXXXXXX",
            "statusID": "0"
        },
        {
            "number": "9955XXXXXXXX",
            "statusID": "0"
        }
    ]
}
SMS API / Get SMS Balance

Get SMS Balance

API key · Query
GET https://api.ubill.dev /v1/sms/balance?key=YOUR_API_KEY
Для этого endpoint-а в коллекции Postman отсутствует отдельное описание.

URL parameters 1

keyqueryYOUR_API_KEY

Примеры кода

cURL · PHP · JavaScript
cURL
curl --request GET \
  --url 'https://api.ubill.dev/v1/sms/balance?key=YOUR_API_KEY'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/sms/balance?key=YOUR_API_KEY',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET'
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

echo $response;
JavaScript
const response = await fetch(
  'https://api.ubill.dev/v1/sms/balance?key=YOUR_API_KEY',
  {
  method: 'GET'
  }
);

const data = await response.json();
console.log(data);

Response examples

1 пример
Get SMS Balance Example
Response · JSON
{
    "statusID": 0,
    "sms": 5000
}
SMS API / Callback Report

Callback Report

API key · Query
GET https://example.com/callback?key=YourCallbackKey&smsID=12345678&number=9955XXXXXXXX&statusID=1&date=2026-02-01 12:02:02

Automatic Message Status (Callback)

The SMS API allows you to automatically receive the status of sent messages on your server via the Callback mechanism.

When a message status changes (Sent, Received, Not Delivered, etc.), the system will send a GET request to your specified HTTPS URL.

Callback URL requirements:

  • Must start with https://

  • Method: GET

  • Set in company API settings

Parameters

Parameter Description
key Callback validation key for your server
smsID Unique identifier of the message
number Recipient's mobile number (international format)
statusID Current status code of the message
date Status update timestamp (Y-m-d H:i:s)

Status Codes

statusID Description
0 Sent
1 Received
2 Not Delivered
3 Awaiting Status
4 Error

Example Callback Handling (PHP)

$key    = $_GET['key'] ?? null;
$smsID    = $_GET['smsID'] ?? null;
$number   = $_GET['number'] ?? null;
$statusID = $_GET['statusID'] ?? null;
$date     = $_GET['date'] ?? null;

// Validation: ensure the key matches your callback key
if ($key !== 'YourCallbackKey') {
    http_response_code(403);
    echo 'Forbidden';
    exit;
}

// Process the received status in your system
http_response_code(200);
echo 'OK';
?>

URL parameters 5

keyqueryYourCallbackKey
smsIDquery12345678
numberquery9955XXXXXXXX
statusIDquery1
datequery2026-02-01 12:02:02

Примеры кода

cURL · PHP · JavaScript

Response examples

0 пример
Для этого endpoint-а нет примера ответа.
API GROUP

Billing API

11 endpoint

RESOURCE

Customers

4 endpoint

Billing API / Customers / Get All Customers

Get All Customers

API key · Header
GET https://api.ubill.dev /v1/customers
Для этого endpoint-а в коллекции Postman отсутствует отдельное описание.

Request headers 2

KeyValueИсточник
keyYOUR_API_KEYАвторизация
Content-Typeapplication/jsonHeader

Примеры кода

cURL · PHP · JavaScript
cURL
curl --request GET \
  --url 'https://api.ubill.dev/v1/customers' \
  --header 'key: YOUR_API_KEY' \
  --header 'Content-Type: application/json'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/customers',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => [
        'key: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

echo $response;
JavaScript
const response = await fetch(
  'https://api.ubill.dev/v1/customers',
  {
  method: 'GET',
  headers: {
    'key': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
  }
  }
);

const data = await response.json();
console.log(data);

Response examples

0 пример
Для этого endpoint-а нет примера ответа.
Billing API / Customers / Get Customer

Get Customer

API key · Header
GET https://api.ubill.dev /v1/customers/100001
Для этого endpoint-а в коллекции Postman отсутствует отдельное описание.

Request headers 2

KeyValueИсточник
keyYOUR_API_KEYАвторизация
Content-Typeapplication/jsonHeader

Примеры кода

cURL · PHP · JavaScript
cURL
curl --request GET \
  --url 'https://api.ubill.dev/v1/customers/100001' \
  --header 'key: YOUR_API_KEY' \
  --header 'Content-Type: application/json'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/customers/100001',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => [
        'key: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

echo $response;
JavaScript
const response = await fetch(
  'https://api.ubill.dev/v1/customers/100001',
  {
  method: 'GET',
  headers: {
    'key': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
  }
  }
);

const data = await response.json();
console.log(data);

Response examples

0 пример
Для этого endpoint-а нет примера ответа.
Billing API / Customers / Customer Search

Customer Search

API key · Header
GET https://api.ubill.dev /v1/customers/search?type=mobile&value=9955XXXXXXXX
Для этого endpoint-а в коллекции Postman отсутствует отдельное описание.

URL parameters 2

typequerymobile
valuequery9955XXXXXXXX

Request headers 2

KeyValueИсточник
keyYOUR_API_KEYАвторизация
Content-Typeapplication/jsonHeader

Примеры кода

cURL · PHP · JavaScript
cURL
curl --request GET \
  --url 'https://api.ubill.dev/v1/customers/search?type=mobile&value=9955XXXXXXXX' \
  --header 'key: YOUR_API_KEY' \
  --header 'Content-Type: application/json'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/customers/search?type=mobile&value=9955XXXXXXXX',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => [
        'key: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

echo $response;
JavaScript
const response = await fetch(
  'https://api.ubill.dev/v1/customers/search?type=mobile&value=9955XXXXXXXX',
  {
  method: 'GET',
  headers: {
    'key': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
  }
  }
);

const data = await response.json();
console.log(data);

Response examples

0 пример
Для этого endpoint-а нет примера ответа.
Billing API / Customers / Customer Accounts

Customer Accounts

API key · Header
GET https://api.ubill.dev /v1/customers/accounts/100001
Для этого endpoint-а в коллекции Postman отсутствует отдельное описание.

Request headers 2

KeyValueИсточник
keyYOUR_API_KEYАвторизация
Content-Typeapplication/jsonHeader

Примеры кода

cURL · PHP · JavaScript
cURL
curl --request GET \
  --url 'https://api.ubill.dev/v1/customers/accounts/100001' \
  --header 'key: YOUR_API_KEY' \
  --header 'Content-Type: application/json'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/customers/accounts/100001',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => [
        'key: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

echo $response;
JavaScript
const response = await fetch(
  'https://api.ubill.dev/v1/customers/accounts/100001',
  {
  method: 'GET',
  headers: {
    'key': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
  }
  }
);

const data = await response.json();
console.log(data);

Response examples

1 пример
Customer Accounts Example
Response · JSON
{
    "statusID": 0,
    "message": "Success",
    "draw": 0,
    "recordsTotal": 3,
    "recordsFiltered": 3,
    "data": [
        {
            "id": "170115",
            "name": "Пример клиента",
            "mobile": "5XXXXXXXX",
            "personalNo": "XXXXXXXXXXX",
            "birthDate": "1991-12-08",
            "areaID": "1",
            "area": "ბათუმი - ბათუმი",
            "address": "",
            "column1": "",
            "column2": "",
            "tariffID": null,
            "tariffName": null,
            "tariffPrice": null,
            "balance": "0.00",
            "statusID": "1",
            "statusName": "აქტიური",
            "shutdownDate": null,
            "creditDate": null,
            "mac": null,
            "ip": null,
            "createdAt": "2023-12-02 11:41:37"
        },
        {
            "id": "170114",
            "name": "Пример клиента",
            "mobile": "5XXXXXXXX",
            "personalNo": "XXXXXXXXXXX",
            "birthDate": "1991-12-08",
            "areaID": "1",
            "area": "ბათუმი - ბათუმი",
            "address": "",
            "column1": "",
            "column2": "",
            "tariffID": "1",
            "tariffName": "test2",
            "tariffPrice": "30.00",
            "balance": "-2.00",
            "statusID": "2",
            "statusName": "პასიური",
            "shutdownDate": null,
            "creditDate": null,
            "mac": null,
            "ip": null,
            "createdAt": "2023-11-20 23:56:52"
        },
        {
            "id": "100001",
            "name": "Пример клиента",
            "mobile": "5XXXXXXXX",
            "personalNo": "XXXXXXXXXXX",
            "birthDate": "1991-12-08",
            "areaID": "2",
            "area": "თბილისი - თბილისი",
            "address": "Пример адреса",
            "column1": "",
            "column2": "",
            "tariffID": "1",
            "tariffName": "test2",
            "tariffPrice": "30.00",
            "balance": "-9.71",
            "statusID": "2",
            "statusName": "პასიური",
            "shutdownDate": "2022-07-13",
            "creditDate": null,
            "mac": "Cc:2d:21:0e:c9:41",
            "ip": "192.168.5.2",
            "createdAt": "2020-07-01 21:32:31"
        }
    ]
}
RESOURCE

Accounts

4 endpoint

Billing API / Accounts / Get All Accounts

Get All Accounts

API key · Header
GET https://api.ubill.dev /v1/accounts
Для этого endpoint-а в коллекции Postman отсутствует отдельное описание.

Request headers 2

KeyValueИсточник
keyYOUR_API_KEYАвторизация
Content-Typeapplication/jsonHeader

Примеры кода

cURL · PHP · JavaScript
cURL
curl --request GET \
  --url 'https://api.ubill.dev/v1/accounts' \
  --header 'key: YOUR_API_KEY' \
  --header 'Content-Type: application/json'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/accounts',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => [
        'key: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

echo $response;
JavaScript
const response = await fetch(
  'https://api.ubill.dev/v1/accounts',
  {
  method: 'GET',
  headers: {
    'key': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
  }
  }
);

const data = await response.json();
console.log(data);

Response examples

1 пример
Get All Accounts Example
Response · JSON
{
    "statusID": 0,
    "message": "Success",
    "draw": 0,
    "recordsTotal": 70114,
    "recordsFiltered": 70114,
    "data": [
        {
            "id": "170115",
            "name": "Пример клиента",
            "mobile": "5XXXXXXXX",
            "personalNo": "XXXXXXXXXXX",
            "birthDate": "1991-12-08",
            "areaID": "1",
            "area": "თბილისი - თბილისი",
            "address": "",
            "column1": "",
            "column2": "",
            "tariffID": null,
            "tariffName": null,
            "tariffPrice": null,
            "balance": "0.00",
            "statusID": "1",
            "statusName": "აქტიური",
            "shutdownDate": null,
            "creditDate": null,
            "mac": null,
            "ip": null,
            "createdAt": "2023-12-02 11:41:37"
        },
        {
            "id": "170114",
            "name": "Пример клиента",
            "mobile": "5XXXXXXXX",
            "personalNo": "XXXXXXXXXXX",
            "birthDate": "1991-12-08",
            "areaID": "1",
            "area": "ბათუმი - ბათუმი",
            "address": "",
            "column1": "",
            "column2": "",
            "tariffID": "1",
            "tariffName": "test2",
            "tariffPrice": "30.00",
            "balance": "-2.00",
            "statusID": "2",
            "statusName": "პასიური",
            "shutdownDate": null,
            "creditDate": null,
            "mac": null,
            "ip": null,
            "createdAt": "2023-11-20 23:56:52"
        }
    ]
}
Billing API / Accounts / Get Account

Get Account

API key · Header
GET https://api.ubill.dev /v1/accounts/100001
Для этого endpoint-а в коллекции Postman отсутствует отдельное описание.

Request headers 2

KeyValueИсточник
keyYOUR_API_KEYАвторизация
Content-Typeapplication/jsonHeader

Примеры кода

cURL · PHP · JavaScript
cURL
curl --request GET \
  --url 'https://api.ubill.dev/v1/accounts/100001' \
  --header 'key: YOUR_API_KEY' \
  --header 'Content-Type: application/json'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/accounts/100001',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => [
        'key: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

echo $response;
JavaScript
const response = await fetch(
  'https://api.ubill.dev/v1/accounts/100001',
  {
  method: 'GET',
  headers: {
    'key': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
  }
  }
);

const data = await response.json();
console.log(data);

Response examples

1 пример
Get Account Example
Response · JSON
{
    "statusID": 0,
    "message": "Success",
    "data": [
        {
            "id": "100001",
            "name": "Пример клиента",
            "mobile": "5XXXXXXXX",
            "personalNo": "XXXXXXXXXXX",
            "birthDate": "1991-12-08",
            "areaID": "2",
            "area": "თბილისი",
            "address": "Пример адреса",
            "column1": "",
            "column2": "",
            "tariffID": "1",
            "tariffName": "test2",
            "tariffPrice": "30.00",
            "balance": "-9.00",
            "statusID": "2",
            "statusName": "პასიური",
            "shutdownDate": null,
            "creditDate": null,
            "mac": "Cc:2d:21:0e:c9:41",
            "ip": "192.168.5.2",
            "createdAt": "2020-07-01 21:32:31"
        }
    ]
}
Billing API / Accounts / Accounts Search

Accounts Search

API key · Header
GET https://api.ubill.dev /v1/accounts/search?type=mobile&value=9955XXXXXXXX
Для этого endpoint-а в коллекции Postman отсутствует отдельное описание.

URL parameters 2

typequerymobile
valuequery9955XXXXXXXX

Request headers 2

KeyValueИсточник
keyYOUR_API_KEYАвторизация
Content-Typeapplication/jsonHeader

Примеры кода

cURL · PHP · JavaScript
cURL
curl --request GET \
  --url 'https://api.ubill.dev/v1/accounts/search?type=mobile&value=9955XXXXXXXX' \
  --header 'key: YOUR_API_KEY' \
  --header 'Content-Type: application/json'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/accounts/search?type=mobile&value=9955XXXXXXXX',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => [
        'key: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

echo $response;
JavaScript
const response = await fetch(
  'https://api.ubill.dev/v1/accounts/search?type=mobile&value=9955XXXXXXXX',
  {
  method: 'GET',
  headers: {
    'key': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
  }
  }
);

const data = await response.json();
console.log(data);

Response examples

0 пример
Для этого endpoint-а нет примера ответа.
Billing API / Accounts / Set Credit

Set Credit

API key · Header
POST https://api.ubill.dev /v1/accounts/setCredit
Для этого endpoint-а в коллекции Postman отсутствует отдельное описание.

Request headers 2

KeyValueИсточник
keyYOUR_API_KEYАвторизация
Content-Typeapplication/jsonHeader

Request body JSON

Request body
{
    "accountID": 170114,
    "date": "2023-12-10"
}

Примеры кода

cURL · PHP · JavaScript
cURL
curl --request POST \
  --url 'https://api.ubill.dev/v1/accounts/setCredit' \
  --header 'key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "accountID": 170114,
    "date": "2023-12-10"
}'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/accounts/setCredit',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => <<<'BODY'
{
    "accountID": 170114,
    "date": "2023-12-10"
}
BODY,
    CURLOPT_HTTPHEADER => [
        'key: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

echo $response;
JavaScript
const response = await fetch(
  'https://api.ubill.dev/v1/accounts/setCredit',
  {
  method: 'POST',
  headers: {
    'key': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: "{\n    \"accountID\": 170114,\n    \"date\": \"2023-12-10\"\n}"
  }
);

const data = await response.json();
console.log(data);

Response examples

1 пример
Set Credit Example
Response · JSON
{
    "statusID": 0,
    "message": "Success"
}
RESOURCE

Payments

3 endpoint

Billing API / Payments / Get Payments

Get Payments

API key · Header
GET https://api.ubill.dev /v1/payments
Для этого endpoint-а в коллекции Postman отсутствует отдельное описание.

Request headers 2

KeyValueИсточник
keyYOUR_API_KEYАвторизация
Content-Typeapplication/jsonHeader

Примеры кода

cURL · PHP · JavaScript
cURL
curl --request GET \
  --url 'https://api.ubill.dev/v1/payments' \
  --header 'key: YOUR_API_KEY' \
  --header 'Content-Type: application/json'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/payments',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => [
        'key: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

echo $response;
JavaScript
const response = await fetch(
  'https://api.ubill.dev/v1/payments',
  {
  method: 'GET',
  headers: {
    'key': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
  }
  }
);

const data = await response.json();
console.log(data);

Response examples

1 пример
Get Payments Example
Response · JSON
{
    "status": true,
    "draw": 0,
    "recordsTotal": 9,
    "recordsFiltered": 9,
    "data": [
        {
            "id": "9",
            "accountID": "100001",
            "balance": "0.29",
            "sum": "-10.00",
            "comment": "",
            "transactionID": null,
            "paySystem": null,
            "apiStatus": "0",
            "typeID": "2",
            "typeName": "კორექტირება",
            "admin": "Пример клиента",
            "date": "2022-06-11 10:07:13"
        },
        {
            "id": "8",
            "accountID": "100001",
            "balance": "-0.71",
            "sum": "1.00",
            "comment": "",
            "transactionID": null,
            "paySystem": null,
            "apiStatus": "0",
            "typeID": "1",
            "typeName": "დამატება",
            "admin": "Пример клиента",
            "date": "2022-06-10 22:24:14"
        },
        {
            "id": "7",
            "accountID": "170099",
            "balance": "-1.00",
            "sum": "20.00",
            "comment": "",
            "transactionID": null,
            "paySystem": null,
            "apiStatus": "0",
            "typeID": "2",
            "typeName": "კორექტირება",
            "admin": "Пример клиента",
            "date": "2022-01-29 16:39:50"
        },
        {
            "id": "6",
            "accountID": "170099",
            "balance": "0.00",
            "sum": "-1.00",
            "comment": "",
            "transactionID": null,
            "paySystem": null,
            "apiStatus": "0",
            "typeID": "2",
            "typeName": "კორექტირება",
            "admin": "Пример клиента",
            "date": "2022-01-29 16:39:39"
        },
        {
            "id": "5",
            "accountID": "100001",
            "balance": "39.06",
            "sum": "10.00",
            "comment": "",
            "transactionID": null,
            "paySystem": null,
            "apiStatus": "0",
            "typeID": "1",
            "typeName": "დამატება",
            "admin": "Пример клиента",
            "date": "2021-12-22 17:16:43"
        },
        {
            "id": "4",
            "accountID": "100001",
            "balance": "-0.94",
            "sum": "20.00",
            "comment": "",
            "transactionID": null,
            "paySystem": null,
            "apiStatus": "0",
            "typeID": "1",
            "typeName": "დამატება",
            "admin": "Пример клиента",
            "date": "2021-12-22 17:14:57"
        },
        {
            "id": "3",
            "accountID": "100001",
            "balance": "0.06",
            "sum": "1.00",
            "comment": null,
            "transactionID": "t1",
            "paySystem": "TBCPAY",
            "apiStatus": "0",
            "typeID": "5",
            "typeName": "ჩარიცხვა",
            "admin": null,
            "date": "2021-11-13 15:26:53"
        },
        {
            "id": "2",
            "accountID": "100001",
            "balance": "-0.94",
            "sum": "1.00",
            "comment": "",
            "transactionID": null,
            "paySystem": null,
            "apiStatus": "0",
            "typeID": "1",
            "typeName": "დამატება",
            "admin": "Пример клиента",
            "date": "2021-01-18 10:31:32"
        },
        {
            "id": "1",
            "accountID": "100001",
            "balance": "-1.94",
            "sum": "1.00",
            "comment": "",
            "transactionID": null,
            "paySystem": null,
            "apiStatus": "0",
            "typeID": "1",
            "typeName": "დამატება",
            "admin": "Пример клиента",
            "date": "2021-01-18 10:31:14"
        }
    ]
}
Billing API / Payments / Get Payments by account

Get Payments by account

API key · Header
GET https://api.ubill.dev /v1/payments/account/100001
Для этого endpoint-а в коллекции Postman отсутствует отдельное описание.

Request headers 2

KeyValueИсточник
keyYOUR_API_KEYАвторизация
Content-Typeapplication/jsonHeader

Примеры кода

cURL · PHP · JavaScript
cURL
curl --request GET \
  --url 'https://api.ubill.dev/v1/payments/account/100001' \
  --header 'key: YOUR_API_KEY' \
  --header 'Content-Type: application/json'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/payments/account/100001',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => [
        'key: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

echo $response;
JavaScript
const response = await fetch(
  'https://api.ubill.dev/v1/payments/account/100001',
  {
  method: 'GET',
  headers: {
    'key': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
  }
  }
);

const data = await response.json();
console.log(data);

Response examples

1 пример
Get Payments by account Example
Response · JSON
{
    "statusID": 0,
    "message": "Success",
    "data": [
        {
            "id": "89",
            "accountID": null,
            "balance": "-1.94",
            "sum": "1",
            "comment": "",
            "transactionID": null,
            "paySystem": null,
            "apiStatus": "0",
            "typeID": "1",
            "typeName": "დამატება",
            "admin": "Пример клиента",
            "date": "2021-01-18 10:31:14"
        },
        {
            "id": "90",
            "accountID": null,
            "balance": "-0.94",
            "sum": "1",
            "comment": "",
            "transactionID": null,
            "paySystem": null,
            "apiStatus": "0",
            "typeID": "1",
            "typeName": "დამატება",
            "admin": "Пример клиента",
            "date": "2021-01-18 10:31:32"
        },
        {
            "id": "537",
            "accountID": null,
            "balance": "0.06",
            "sum": "1",
            "comment": null,
            "transactionID": "t1",
            "paySystem": "TBCPAY",
            "apiStatus": "0",
            "typeID": "5",
            "typeName": "ჩარიცხვა",
            "admin": null,
            "date": "2021-11-13 15:26:53"
        },
        {
            "id": "641",
            "accountID": null,
            "balance": "-0.94",
            "sum": "20",
            "comment": "",
            "transactionID": null,
            "paySystem": null,
            "apiStatus": "0",
            "typeID": "1",
            "typeName": "დამატება",
            "admin": "Пример клиента",
            "date": "2021-12-22 17:14:57"
        },
        {
            "id": "642",
            "accountID": null,
            "balance": "39.06",
            "sum": "10",
            "comment": "",
            "transactionID": null,
            "paySystem": null,
            "apiStatus": "0",
            "typeID": "1",
            "typeName": "დამატება",
            "admin": "Пример клиента",
            "date": "2021-12-22 17:16:43"
        },
        {
            "id": "1720",
            "accountID": null,
            "balance": "-0.7057142857142757",
            "sum": "1",
            "comment": "",
            "transactionID": null,
            "paySystem": null,
            "apiStatus": "0",
            "typeID": "1",
            "typeName": "დამატება",
            "admin": "Пример клиента",
            "date": "2022-06-10 22:24:14"
        },
        {
            "id": "1729",
            "accountID": null,
            "balance": "0.29428571428572",
            "sum": "-10",
            "comment": "",
            "transactionID": null,
            "paySystem": null,
            "apiStatus": "0",
            "typeID": "2",
            "typeName": "კორექტირება",
            "admin": "Пример клиента",
            "date": "2022-06-11 10:07:13"
        }
    ]
}
Billing API / Payments / Add Payment

Add Payment

API key · Header
POST https://api.ubill.dev /v1/payments/add
Для этого endpoint-а в коллекции Postman отсутствует отдельное описание.

Request headers 2

KeyValueИсточник
keyYOUR_API_KEYАвторизация
Content-Typeapplication/jsonHeader

Request body JSON

Request body
{
    "accountID" : 170114,
    "sum" : 1,
    "comment": "text",
    "paySystem": "WEB"
}

Примеры кода

cURL · PHP · JavaScript
cURL
curl --request POST \
  --url 'https://api.ubill.dev/v1/payments/add' \
  --header 'key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "accountID" : 170114,
    "sum" : 1,
    "comment": "text",
    "paySystem": "WEB"
}'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/payments/add',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => <<<'BODY'
{
    "accountID" : 170114,
    "sum" : 1,
    "comment": "text",
    "paySystem": "WEB"
}
BODY,
    CURLOPT_HTTPHEADER => [
        'key: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

echo $response;
JavaScript
const response = await fetch(
  'https://api.ubill.dev/v1/payments/add',
  {
  method: 'POST',
  headers: {
    'key': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: "{\n    \"accountID\" : 170114,\n    \"sum\" : 1,\n    \"comment\": \"text\",\n    \"paySystem\": \"WEB\"\n}"
  }
);

const data = await response.json();
console.log(data);

Response examples

1 пример
Add Payments Example
Response · JSON
{
    "statusID": 0,
    "message": "Success",
    "data": {
        "id": "11521"
    }
}
NEED HELP?

Поддержка интеграции

Команда uBill поможет с любыми вопросами по интеграции API.

Связаться с нами
Инфраструктура и технологии

Мы используем передовые и надёжные технологии

uBill построен на современных инструментах, обеспечивающих стабильность, безопасность и удобную масштабируемость

Наверх