uBill DevelopersREST API · v1 Production

სრული API დოკუმენტაცია

SMS და Billing API-ის ყველა რესურსი ერთ სივრცეში - ზუსტი endpoint-ები, Postman-ის სრული აღწერები, headers, request body, response მაგალითები და მზა კოდი.

24 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-ებზე გასაღები გადაიცემა key header-ში; რამდენიმე legacy GET/XML endpoint-ზე - key query პარამეტრით.

არ გაასაჯაროოთ 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

11 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 / API Event Callbacks

API Event Callbacks

API key · Query
GET https://example.com/callback?key=YourCallbackKey&event=sms.brand.activated&brandID=12&brandName=MyBrand&authorized=1&date=2026-08-10 15:30:00

API Event Callbacks

API application settings contain one shared HTTPS callback URL. Delivery reports, SMS brand activation notifications, and future API events are sent to this same URL with a GET request.

Use the event parameter to determine the notification type. Return any 2xx HTTP status after successful processing.

Common parameters

ParameterDescription
keyCallback validation key from the API application settings
eventEvent type
dateEvent timestamp (Y-m-d H:i:s)

Supported events

EventAdditional parameters
sms.delivery.updatedsmsID, number, statusID
sms.brand.activatedbrandID, brandName, authorized=1

SMS brand activation example

https://example.com/callback?key=YourCallbackKey&event=sms.brand.activated&brandID=12&brandName=MyBrand&authorized=1&date=2026-08-10%2015:30:00

URL parameters 6

keyqueryYourCallbackKey
eventquerysms.brand.activated
brandIDquery12
brandNamequeryMyBrand
authorizedquery1
datequery2026-08-10 15:30:00

კოდის მაგალითები

cURL · PHP · JavaScript

Response examples

0 მაგალითი
ამ endpoint-ის response მაგალითი არ არის.
SMS API / SMS Delivery Callback

SMS Delivery Callback

API key · Query
GET https://example.com/callback?key=YourCallbackKey&event=sms.delivery.updated&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 6

keyqueryYourCallbackKey
eventquerysms.delivery.updated
smsIDquery12345678
numberquery9955XXXXXXXX
statusIDquery1
datequery2026-02-01 12:02:02

კოდის მაგალითები

cURL · PHP · JavaScript

Response examples

0 მაგალითი
ამ endpoint-ის response მაგალითი არ არის.
API GROUP

Billing API

13 endpoint

RESOURCE

Customers

5 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-ის response მაგალითი არ არის.
Billing API / Customers / Create Customer

Create Customer

API key · Header
POST https://api.ubill.dev /v1/customers/create

Creates a new customer together with its phone numbers. The customer number (id in the response, cID internally) is generated automatically and is unique inside the company.

Required permission: customers.create. The request body must be JSON and the Content-Type: application/json header is mandatory.

Request body

FieldTypeRequiredDescription
typeIDintegeryesLegal type of the customer, must exist in the uBill customer type list (1 = individual).
namestring, max 50noCustomer name.
personalNostring, max 11noPersonal number or company identification code, alphanumeric only.
emailstringnoMust be a valid email address when sent.
birthDatestringnoDate in YYYY-MM-DD format.
langstringnoOne of ka, en, ru. Defaults to the default customer language configured for the company.
addressstring, max 50noCustomer address.
column1, column2string, max 50noFree additional fields.
numbersarrayyesPhone numbers of the customer, at least one is required.

numbers[] object

FieldTypeDescription
numberstringLocal number without the country code, 6 to 15 digits.
mobilestringFull international number. When this key is used the country code is removed from the beginning of the number.
countryCodestringCountry code, defaults to +995.
isPrimary0 or 1Marks the main number. When no number is flagged, the first item of the list becomes the primary one.
smsEnabled0 or 1Whether the number receives SMS notifications, defaults to 1.
notestring, max 100Free note for the number.

A single number may also be sent with the short form {"mobile": "9955XXXXXXXX", "countryCode": "+995"} instead of the numbers array. Repeated numbers are silently removed, and a number that already belongs to another customer of the same company is rejected.

Responses

HTTPstatusIDDescription
2010Customer created, data holds the new customer.
400400Validation failed, the errors object names every invalid field.
50099The customer could not be saved, nothing is written.

Request headers 2

KeyValueწყარო
keyYOUR_API_KEYავტორიზაცია
Content-Typeapplication/jsonHeader

Request body JSON

Request body
{
    "typeID": 1,
    "name": "გიორგი მაისურაძე",
    "personalNo": "XXXXXXXXXXX",
    "email": "[email protected]",
    "birthDate": "1990-05-17",
    "lang": "ka",
    "address": "ვაჟა-ფშაველას 1",
    "column1": "",
    "column2": "",
    "numbers": [
        {
            "number": "5XXXXXXXX",
            "countryCode": "+995",
            "isPrimary": 1,
            "smsEnabled": 1,
            "note": "პირადი"
        },
        {
            "mobile": "9955XXXXXXXX",
            "smsEnabled": 0,
            "note": "ბიოს"
        }
    ]
}

კოდის მაგალითები

cURL · PHP · JavaScript
cURL
curl --request POST \
  --url 'https://api.ubill.dev/v1/customers/create' \
  --header 'key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "typeID": 1,
    "name": "გიორგი მაისურაძე",
    "personalNo": "XXXXXXXXXXX",
    "email": "[email protected]",
    "birthDate": "1990-05-17",
    "lang": "ka",
    "address": "ვაჟა-ფშაველას 1",
    "column1": "",
    "column2": "",
    "numbers": [
        {
            "number": "5XXXXXXXX",
            "countryCode": "+995",
            "isPrimary": 1,
            "smsEnabled": 1,
            "note": "პირადი"
        },
        {
            "mobile": "9955XXXXXXXX",
            "smsEnabled": 0,
            "note": "ბიოს"
        }
    ]
}'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/customers/create',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => <<<'BODY'
{
    "typeID": 1,
    "name": "გიორგი მაისურაძე",
    "personalNo": "XXXXXXXXXXX",
    "email": "[email protected]",
    "birthDate": "1990-05-17",
    "lang": "ka",
    "address": "ვაჟა-ფშაველას 1",
    "column1": "",
    "column2": "",
    "numbers": [
        {
            "number": "5XXXXXXXX",
            "countryCode": "+995",
            "isPrimary": 1,
            "smsEnabled": 1,
            "note": "პირადი"
        },
        {
            "mobile": "9955XXXXXXXX",
            "smsEnabled": 0,
            "note": "ბიოს"
        }
    ]
}
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/customers/create',
  {
  method: 'POST',
  headers: {
    'key': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: "{\n    \"typeID\": 1,\n    \"name\": \"გიორგი მაისურაძე\",\n    \"personalNo\": \"XXXXXXXXXXX\",\n    \"email\": \"[email protected]\",\n    \"birthDate\": \"1990-05-17\",\n    \"lang\": \"ka\",\n    \"address\": \"ვაჟა-ფშაველას 1\",\n    \"column1\": \"\",\n    \"column2\": \"\",\n    \"numbers\": [\n        {\n            \"number\": \"5XXXXXXXX\",\n            \"countryCode\": \"+995\",\n            \"isPrimary\": 1,\n            \"smsEnabled\": 1,\n            \"note\": \"პირადი\"\n        },\n        {\n            \"mobile\": \"9955XXXXXXXX\",\n            \"smsEnabled\": 0,\n            \"note\": \"ბიოს\"\n        }\n    ]\n}"
  }
);

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

Response examples

3 მაგალითი
Customer created 201
Response · JSON
{
    "statusID": 0,
    "message": "Customer created",
    "data": {
        "id": 100001,
        "typeID": 1,
        "name": "გიორგი მაისურაძე",
        "mobile": "9955XXXXXXXX",
        "numbers": [
            {
                "mobile": "9955XXXXXXXX",
                "countryCode": "+995",
                "number": "5XXXXXXXX",
                "isPrimary": 1,
                "smsEnabled": 1,
                "note": "პირადი"
            },
            {
                "mobile": "9955XXXXXXXX",
                "countryCode": "+995",
                "number": "5XXXXXXXX",
                "isPrimary": 0,
                "smsEnabled": 0,
                "note": "ბიოს"
            }
        ],
        "personalNo": "XXXXXXXXXXX",
        "email": "[email protected]",
        "birthDate": "1990-05-17",
        "address": "ვაჟა-ფშაველას 1",
        "lang": "ka",
        "column1": "",
        "column2": "",
        "createdAt": "2026-08-26 13:19:02"
    }
}
Validation failed 400
Response · JSON
{
    "statusID": 400,
    "message": "Validation failed",
    "data": null,
    "errors": {
        "typeID": "typeID does not exist",
        "birthDate": "birthDate must be a valid date in YYYY-MM-DD format",
        "email": "Email is invalid",
        "numbers": "Phone number is invalid"
    }
}
Number already used 400
Response · JSON
{
    "statusID": 400,
    "message": "Validation failed",
    "data": null,
    "errors": {
        "numbers": "+9955XXXXXXXX is already assigned to another customer"
    }
}
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-ის response მაგალითი არ არის.
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-ის response მაგალითი არ არის.
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

5 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 / Create Account

Create Account

API key · Header
POST https://api.ubill.dev /v1/accounts/create

Creates a new account (service) for an existing customer. The account number (id in the response) is generated from the company cID settings, exactly like an account created from the uBill web interface.

Required permission: accounts.create. The request body must be JSON and the Content-Type: application/json header is mandatory.

Request body

FieldTypeRequiredDescription
customerIDintegeryesNumber of the customer the account belongs to, the same id returned by the customer endpoints.
namestring, max 50noAccount name.
birthDatestringnoDate in YYYY-MM-DD format.
areaIDintegernoSettlement identifier of the uBill district list.
addressstring, max 50noService address.
geoLocationstring, max 100noCoordinates in 41.732438,44.7688134 format.
column1, column2string, max 50noFree additional fields.
tariffIDintegernoTariff number of the company.
groupIDintegernoGroup or branch number of the company.
tagsIDarray of integersnoTag numbers of the company that are attached to the account.
numbersarraynoPhone numbers of the account, described in the same way as for a customer. Unlike a customer, an account may be created without any number.

Module dependent fields

These fields are only read when the matching module is enabled for the company.

FieldModuleRequiredDescription
macNetworkyesMAC address of the device, unique inside the company.
onuMacNetworknoONU MAC address, unique inside the company.
ipRangeIDNetworkyesNAS IP range number. The first free address of that range is assigned to the account automatically and returned as ip.
stbMacIPTVnoSTB MAC address, unique inside the company.
gpsProviderIDGPS trackyesGPS provider number of the company.
gpsTrackIdentifierGPS tracknoDevice identifier, unique inside the company.

SMS notification

When the account added SMS notification is switched on in the company settings, the message is sent to every SMS enabled number of the new account and the SMS balance of the company is charged. If the balance is not sufficient, the account is still created and the response carries an extra warning field.

Responses

HTTPstatusIDDescription
2010Account created, data holds the new account.
400400Validation failed, the errors object names every invalid field. Duplicated MAC addresses and phone numbers are reported the same way.
50099The account could not be saved, nothing is written.

Request headers 2

KeyValueწყარო
keyYOUR_API_KEYავტორიზაცია
Content-Typeapplication/jsonHeader

Request body JSON

Request body
{
    "customerID": 100001,
    "name": "ბინა - ვაჟა-ფშაველას 1",
    "birthDate": "1990-05-17",
    "areaID": 1,
    "address": "ვაჟა-ფშაველას 1",
    "geoLocation": "41.732438,44.7688134",
    "column1": "",
    "column2": "",
    "tariffID": 2,
    "groupID": 1,
    "tagsID": [1, 3],
    "mac": "00:11:22:33:44:55",
    "onuMac": "AA:BB:CC:DD:EE:FF",
    "ipRangeID": 1,
    "numbers": [
        {
            "number": "5XXXXXXXX",
            "countryCode": "+995",
            "isPrimary": 1,
            "smsEnabled": 1
        }
    ]
}

კოდის მაგალითები

cURL · PHP · JavaScript
cURL
curl --request POST \
  --url 'https://api.ubill.dev/v1/accounts/create' \
  --header 'key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "customerID": 100001,
    "name": "ბინა - ვაჟა-ფშაველას 1",
    "birthDate": "1990-05-17",
    "areaID": 1,
    "address": "ვაჟა-ფშაველას 1",
    "geoLocation": "41.732438,44.7688134",
    "column1": "",
    "column2": "",
    "tariffID": 2,
    "groupID": 1,
    "tagsID": [1, 3],
    "mac": "00:11:22:33:44:55",
    "onuMac": "AA:BB:CC:DD:EE:FF",
    "ipRangeID": 1,
    "numbers": [
        {
            "number": "5XXXXXXXX",
            "countryCode": "+995",
            "isPrimary": 1,
            "smsEnabled": 1
        }
    ]
}'
PHP
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.ubill.dev/v1/accounts/create',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => <<<'BODY'
{
    "customerID": 100001,
    "name": "ბინა - ვაჟა-ფშაველას 1",
    "birthDate": "1990-05-17",
    "areaID": 1,
    "address": "ვაჟა-ფშაველას 1",
    "geoLocation": "41.732438,44.7688134",
    "column1": "",
    "column2": "",
    "tariffID": 2,
    "groupID": 1,
    "tagsID": [1, 3],
    "mac": "00:11:22:33:44:55",
    "onuMac": "AA:BB:CC:DD:EE:FF",
    "ipRangeID": 1,
    "numbers": [
        {
            "number": "5XXXXXXXX",
            "countryCode": "+995",
            "isPrimary": 1,
            "smsEnabled": 1
        }
    ]
}
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/create',
  {
  method: 'POST',
  headers: {
    'key': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: "{\n    \"customerID\": 100001,\n    \"name\": \"ბინა - ვაჟა-ფშაველას 1\",\n    \"birthDate\": \"1990-05-17\",\n    \"areaID\": 1,\n    \"address\": \"ვაჟა-ფშაველას 1\",\n    \"geoLocation\": \"41.732438,44.7688134\",\n    \"column1\": \"\",\n    \"column2\": \"\",\n    \"tariffID\": 2,\n    \"groupID\": 1,\n    \"tagsID\": [1, 3],\n    \"mac\": \"00:11:22:33:44:55\",\n    \"onuMac\": \"AA:BB:CC:DD:EE:FF\",\n    \"ipRangeID\": 1,\n    \"numbers\": [\n        {\n            \"number\": \"5XXXXXXXX\",\n            \"countryCode\": \"+995\",\n            \"isPrimary\": 1,\n            \"smsEnabled\": 1\n        }\n    ]\n}"
  }
);

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

Response examples

4 მაგალითი
Account created 201
Response · JSON
{
    "statusID": 0,
    "message": "Account created",
    "data": {
        "id": 100001,
        "customerID": 100001,
        "name": "ბინა - ვაჟა-ფშაველას 1",
        "mobile": "9955XXXXXXXX",
        "numbers": [
            {
                "mobile": "9955XXXXXXXX",
                "countryCode": "+995",
                "number": "5XXXXXXXX",
                "isPrimary": 1,
                "smsEnabled": 1,
                "note": null
            }
        ],
        "personalNo": "XXXXXXXXXXX",
        "birthDate": "1990-05-17",
        "areaID": 1,
        "area": "თბილისი",
        "address": "ვაჟა-ფშაველას 1",
        "geoLocation": "41.732438,44.7688134",
        "column1": "",
        "column2": "",
        "groupID": 1,
        "tagsID": [1, 3],
        "tariffID": 2,
        "balance": "0.00",
        "statusID": 1,
        "createdAt": "2026-08-26 13:19:39",
        "mac": "00:11:22:33:44:55",
        "onuMac": "AA:BB:CC:DD:EE:FF",
        "ipRangeID": 1,
        "ip": "192.168.5.21"
    }
}
Created without sms balance 201
Response · JSON
{
    "statusID": 0,
    "message": "Account created",
    "data": {
        "id": 100002,
        "customerID": 100001,
        "name": "მეორე ბინა",
        "mobile": "9955XXXXXXXX",
        "numbers": [
            {
                "mobile": "9955XXXXXXXX",
                "countryCode": "+995",
                "number": "5XXXXXXXX",
                "isPrimary": 1,
                "smsEnabled": 1,
                "note": null
            }
        ],
        "personalNo": "XXXXXXXXXXX",
        "birthDate": null,
        "areaID": null,
        "area": "არ არის მითითებული",
        "address": "",
        "geoLocation": null,
        "column1": "",
        "column2": "",
        "groupID": null,
        "tagsID": [],
        "tariffID": null,
        "balance": "0.00",
        "statusID": 1,
        "createdAt": "2026-08-26 13:20:11"
    },
    "warning": "account was created, but the notification sms was not sent - not enough messages on the balance"
}
Validation failed 400
Response · JSON
{
    "statusID": 400,
    "message": "Validation failed",
    "data": null,
    "errors": {
        "customerID": "Customer not found",
        "geoLocation": "geoLocation must look like 41.732438,44.7688134",
        "tariffID": "tariffID does not exist",
        "mac": "mac is required",
        "ipRangeID": "ipRangeID is required"
    }
}
MAC already used 400
Response · JSON
{
    "statusID": 400,
    "message": "Account creation failed",
    "data": null,
    "errors": {
        "account": [
            "ეს MAC მისამართი უკვე მითითებულია სხვა ანგარიშზე"
        ]
    }
}
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-ის response მაგალითი არ არის.
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?

ინტეგრაციის მხარდაჭერა

თუ API-სთან დაკავშირებისას კითხვა გაგიჩნდათ, uBill-ის გუნდი დაგეხმარებათ.

დაგვიკავშირდით
ინფრასტრუქტურა და ტექნოლოგიები

ვიყენებთ წამყვან და სანდო ტექნოლოგიებს

uBill დაფუძნებულია თანამედროვე ინსტრუმენტებზე, რომლებიც უზრუნველყოფს სტაბილურობას, უსაფრთხოებას და მარტივ მასშტაბირებას

ზემოთ ასვლა