API დოკუმენტაცია
sendsms.ge API საშუალებას გაძლევს გააგზავნო SMS, შეამოწმო სტატუსი და ბალანსი პირდაპირ შენი სისტემიდან. ყველა მოთხოვნა HTTPS-ით; პასუხი — JSON.
ავტორიზაცია
ყველა მოთხოვნა მოითხოვს key პარამეტრს — შენი ანგარიშის API გასაღებს. გადააწოდე query-ში ან POST body-ში.
SMS გაგზავნა
GET / POSThttps://www.sendsms.ge/api/v2/send
პარამეტრები
| პარამეტრი | საჭიროება | აღწერა |
|---|---|---|
| key | სავალდებულო | API გასაღები — იხილე პანელში „API" გვერდზე. |
| destination | სავალდებულო | მიმღები ნომერ(ებ)ი საერთაშორისო ფორმატით, + და 00 გარეშე (მაგ. 995599123456). მძიმით გამოყავი მრავალი ნომერი. |
| sender | სავალდებულო | დადასტურებული SMS სათაური (≤ 11 სიმბოლო). |
| content | სავალდებულო | ტექსტი. ნებისმიერი Unicode სიმბოლო, მაქს. 1000 სიმბოლო. |
| contentType | არასავალდ. | შეტყობინების ტიპი: 1 — ჩვეულებრივი (default), 2 — Flash. |
| reference | არასავალდ. | უნიკალური ტეგი, ააქტიურებს delivery report-ს ამ შეტყობინებაზე. |
| urgent | არასავალდ. | true — გვერდს უვლის stop-სიას (sender უნდა იყოს whitelist-ში). |
| otp | არასავალდ. | true — ვერიფიკაციის კოდი, უმაღლესი პრიორიტეტით იგზავნება. |
| scheduledAt | არასავალდ. | Unix timestamp — დაგეგმილი გაგზავნის დრო. |
მაგალითი
curl "https://www.sendsms.ge/api/v2/send?key=YOUR_API_KEY\
&sender=MyShop\
&destination=995599123456,995577654321\
&content=Hello%20World"
<?php
$query = http_build_query([
'key' => 'YOUR_API_KEY',
'sender' => 'MyShop',
'destination' => '995599123456',
'content' => 'Hello World',
]);
$response = file_get_contents("https://www.sendsms.ge/api/v2/send?$query");
$data = json_decode($response, true);
var_dump($data);
import requests
r = requests.get("https://www.sendsms.ge/api/v2/send", params={
"key": "YOUR_API_KEY",
"sender": "MyShop",
"destination": "995599123456",
"content": "Hello World",
})
print(r.json())
const params = new URLSearchParams({
key: "YOUR_API_KEY",
sender: "MyShop",
destination: "995599123456",
content: "Hello World",
});
const res = await fetch(`https://www.sendsms.ge/api/v2/send?${params}`);
console.log(await res.json());
პასუხი
{
"Success": true,
"Message": "Accepted for delivery",
"Output": {
"smsID": "123456",
"sent": 2,
"segments": 1,
"cost": 2,
"invalid": []
},
"ErrorCode": 0
}
{
"Success": false,
"Message": "Insufficient balance",
"Output": null,
"ErrorCode": 20
}
სტატუსის შემოწმება
GEThttps://www.sendsms.ge/api/v2/getMessageStatus
პარამეტრები: key, destination, reference.
curl "https://www.sendsms.ge/api/v2/getMessageStatus?key=YOUR_API_KEY&destination=995599123456&reference=order-42"
→ { "Success": true, "Output": { "Status": "Delivered" }, "ErrorCode": 0 }
სტატუსები: Delivered, Undelivered, Expired, Pending, Unknown.
ბალანსი
GEThttps://www.sendsms.ge/api/getBalance
curl "https://www.sendsms.ge/api/getBalance?key=YOUR_API_KEY"
→ 4520
აბრუნებს დარჩენილი SMS-ების რაოდენობას (რიცხვი).
Delivery reports (Callback)
მიუთითე Callback URL API გვერდზე და გააგზავნე SMS reference-ით. სტატუსის შეცვლისას გამოგიგზავნით GET მოთხოვნას:
GET https://your-server.ge/callback?reference=order-42&status=Delivered
&destination=995599123456×tamp=20260613184500&operator=
შენმა სერვერმა პასუხად უნდა დააბრუნოს OK.
SMS დათვლა
160 სიმბოლომდე = 1 SMS. მეტი — იყოფა 153-სიმბოლოიან სეგმენტებად.
70 სიმბოლომდე = 1 SMS. მეტი — იყოფა 67-სიმბოლოიან სეგმენტებად.
ხარჯი = სეგმენტების რაოდენობა × მიმღები ნომრების რაოდენობა.
შეცდომის კოდები
| ErrorCode | მნიშვნელობა |
|---|---|
| 0 | მიღებულია გასაგზავნად |
| 10 | destination შეიცავს არა-ქართულ ნომერს |
| 20 | არასაკმარისი ბალანსი |
| 40 | ტექსტი აჭარბებს დაშვებულ სიგრძეს |
| 60 | content ცარიელია |
| 70 | destination ცარიელია |
| 75 | ყველა ნომერი stop-სიაშია |
| 76 | ნომრის არასწორი ფორმატი |
| 80 | key-ით მომხმარებელი ვერ მოიძებნა |
| 110 | არასწორი sender |
| 120 | API წვდომა გათიშულია |
| 150 | sender არ არის რეგისტრირებული / აქტიური |
| 500 | key პარამეტრი აკლია |
| 600 | destination პარამეტრი აკლია |
| 700 | sender პარამეტრი აკლია |
| 800 | content პარამეტრი აკლია |
| −100 | დროებითი შეფერხება — სცადე თავიდან |