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

sendsms.ge API საშუალებას გაძლევს გააგზავნო SMS, შეამოწმო სტატუსი და ბალანსი პირდაპირ შენი სისტემიდან. ყველა მოთხოვნა HTTPS-ით; პასუხი — JSON.

Base URL: https://www.sendsms.ge/api
გასაღების მისაღებად დარეგისტრირდი და მოითხოვე სათაური.

ავტორიზაცია

ყველა მოთხოვნა მოითხოვს key პარამეტრს — შენი ანგარიშის API გასაღებს. გადააწოდე query-ში ან POST body-ში.

SMS გაგზავნა

GET / POST

https://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
}

სტატუსის შემოწმება

GET

https://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.

ბალანსი

GET

https://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-სიმბოლოიან სეგმენტებად.

ქართული / Unicode

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 დროებითი შეფერხება — სცადე თავიდან