SMS და Billing API-ის ყველა რესურსი ერთ სივრცეში - ზუსტი endpoint-ები, Postman-ის სრული აღწერები, headers, request body, response მაგალითები და მზა კოდი.
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.
დაცულ 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
10 endpoint
SMS API / brandName Create
brandName Create
API key · Header
POSThttps://api.ubill.dev/v1/sms/brandNameCreate
Response status
statusID
Description
0
BrandName Created
10
The brandName field is empty
20
The minimum number of characters in the brandName must be 2 and the maximum number 11
30
Unauthorized markings are used in the brandName
40
brandName has already been added
50
Wait for the last added brandName to be authenticated
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 without00 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'
Array of mobile phone numbers. Numbers must be in international format without00 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.
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
Key
Value
წყარო
key
YOUR_API_KEY
ავტორიზაცია
Content-Type
application/json
Header
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)
}
Array of mobile phone numbers. Numbers must be in international format without00 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.
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.