uBill Geliştiricileri REST API · v1 Canlı Ortam

Tam API Belgeleri

Tüm SMS ve faturalama API kaynakları tek yerde: kesin uç noktalar, tam Postman açıklamaları, başlıklar, istek gövdeleri, yanıt örnekleri ve hazır kod.

24 uç nokta API Anahtarıyla Doğrulama 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" }
BAŞLANGIÇ

uBill API ile Çalışma

UBill API, kaynaklarımıza programatik erişim sağlar. Hizmetimizi sisteminize entegre edip müşterilerle kolayca iletişim kurabilirsiniz.

API Örnekleri

Farklı kaynaklardan farklı programlama dillerinde API uygulamaları.

Postman'ı mı Tercih Edersiniz?

Belgeleri ve API isteklerini uBill'in herkese açık Postman koleksiyonunda da inceleyebilirsiniz.

Postman'da Aç
Temel URL https://api.ubill.dev
Sürüm v1
Protokol HTTPS
Kodlama UTF-8
01
GÜVENLİK

Kimlik Doğrulama

Korumalı uç noktalara isteklerde şirketinizin gizli API anahtarı bulunmalıdır. Çoğu uç nokta bunu şu başlıkta alır: key başlığında; bazı eski GET/XML uç noktaları şu parametreyi kullanır: key sorgu parametresi.

API Anahtarınızı Açığa Çıkarmayın

Anahtarı sunucu ortam değişkeninde tutun. Ön yüz JavaScript'ine, mobil uygulamaya veya herkese açık Git deposuna koymayın.

İstek Başlıkları
key: YOUR_API_KEY
Content-Type: application/json
02
KURALLAR

Biçimler ve Durumlar

API çoğunlukla JSON yanıt döndürür. statusID alanı sonucu gösterir; başarılı isteğin değeri 0 . XML uç noktası XML yanıt döndürür.

0 SMS gönderildi
1 Alındı
2 Teslim edilmedi
3 Durum bekleniyor
4 Hata
API BAŞVURU KAYNAĞI

Tüm Kaynaklar ve Uç Noktalar

Aşağıdaki bilgiler, herkese açık Postman koleksiyonunun son sürümüyle eşitlenmiştir.

API GRUBU

SMS API

11 uç nokta

SMS API / Gönderici Adı Oluştur

Gönderici Adı Oluştur

API Anahtarı · Başlık
POST https://api.ubill.dev /v1/sms/brandNameCreate

Yanıt Durumu

statusID Açıklama
0 Gönderici Adı Oluşturuldu
10 brandName alanı boş
20 brandName en az 2, en fazla 11 karakter olmalıdır
30 brandName içinde izin verilmeyen işaretler var
40 brandName zaten eklenmiş
50 Son eklenen brandName'in onaylanmasını bekleyin
60The description field is required. Specify your website, Facebook/Instagram page or application and how you will use the brandName.
61The description must not exceed 500 characters
90 JSON Hatası
99 Genel Hata

İstek Başlıkları 2

Anahtar Değer Kaynak
keyYOUR_API_KEY Kimlik Doğrulama
Content-Typeapplication/json Başlık

İstek Gövdesi JSON

İstek Gövdesi
{
    "brandName" : "test"
}

Kod Örnekleri

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);

Yanıt Örnekleri

1 örnek
Gönderici Adı Oluştur Örnek
Yanıt · JSON
{
    "statusID": 0,
    "brandID": 1,
    "message": "BrandName Created"
}
SMS API / Gönderici Adını Sil

Gönderici Adını Sil

API Anahtarı · Başlık
POST https://api.ubill.dev /v1/sms/brandNameDelete

Yanıt Durumu

statusID Açıklama
0 Gönderici Adı Silindi
10 Gönderici Adı Bulunamadı
90 JSON Hatası
99 Genel Hata

İstek Başlıkları 2

Anahtar Değer Kaynak
keyYOUR_API_KEY Kimlik Doğrulama
Content-Typeapplication/json Başlık

İstek Gövdesi JSON

İstek Gövdesi
{
    "brandID": 2
}

Kod Örnekleri

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);

Yanıt Örnekleri

1 örnek
Gönderici Adını Sil Örnek
Yanıt · JSON
{
    "statusID": 0,
    "brandID": "2",
    "message": "BrandName Deleted"
}
SMS API / Tüm Gönderici Adlarını Getir

Tüm Gönderici Adlarını Getir

API Anahtarı · Başlık
GET https://api.ubill.dev /v1/sms/brandNames
Bu uç noktanın Postman koleksiyonunda ayrı açıklaması yoktur.

İstek Başlıkları 2

Anahtar Değer Kaynak
keyYOUR_API_KEY Kimlik Doğrulama
Content-Typeapplication/json Başlık

Kod Örnekleri

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);

Yanıt Örnekleri

1 örnek
Tüm Gönderici Adlarını Getir Örnek
Yanıt · 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 / SMS Gönder

SMS Gönder

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

Zorunlu Parametreler

Parametre Açıklama
key İstekleri doğrulayan gizli API anahtarı. Şirket ayarlarından görüntülenip yönetilir.
brandID Sistemdeki benzersiz marka kimliği.
numbers Virgülle ayrılmış cep telefonu numaraları. Uluslararası biçimde olmalıdır olmadan 00 veya +.
text SMS içeriği. Tüm Unicode karakterleri desteklenir.

İsteğe Bağlı Parametreler

Parametre Açıklama
stopList stopList=false — engelleme listesi kontrolünü kapatır. Numara listede olsa da mesaj gönderilir.
otp otp=true — mesajı OTP (tek kullanımlık parola / doğrulama kodu) olarak işaretler.
OTP mesajları en yüksek öncelikle işlenir.
⚠️ Kullanılmalıdır yalnızca kimlik doğrulama kodları için.
sendTime Zamanlanmış SMS teslim saati.
Biçim: Y-m-d H:i (örneğin: 2026-02-01 23:30).
Belirtilen zaman gelecekte olmalıdır.
Belirtilmezse hemen gönderilir.
callbackUrl Bu SMS isteğine özel geri çağırma URL'si. Yalnızca API uygulamasında genel varsayılan geri çağırma URL'si ayarlanmışsa çalışır.

Notlar

  • OTP mesajları yalnızca giriş, doğrulama ve parola sıfırlama gibi kimlik doğrulama işlemleri içindir.

  • Yanlış kullanılan otp parametresi teslimat veya hesap kısıtlamalarına neden olabilir.


Yanıt Durumu

statusID Açıklama
0 SMS Gönderildi
10 brandID bulunamadı
20 Numaralar bulunamadı
30 Mesaj metni boş
40 Yetersiz SMS bakiyesi
50 Geçerli numara bulunamadı
60 Geçersiz sendTime biçimi. Y-m-d H:i kullanın
90 JSON Hatası
99 Genel Hata

⚠️ GET Yönteminin Sınırları

  • API katı bir sınır uygulamaz alıcı numarası sayısına.

  • Gerçek sınırları belirleyen: URL ve HTTP başlık boyutu sınırları (Cloudflare, proxy'ler, tarayıcılar).

Pratik Sınırlar

  • ✅ İstek başına yaklaşık 1500 numaraya kadar güvenilir çalışır.

  • ⚠️ Yaklaşık 2000 ve üzeri numara şuna yol açabilir: Header overflow hataları.

  • Bu hatalar oluşur istek API'ye ulaşmadan önce , HTTP / proxy düzeyinde.

Öneri

  • Kullanın: GET yalnızca küçük ve orta istekler için.

  • Büyük alıcı listelerinde her zaman kullanın: POST.

URL Parametreleri 5

keyqueryYOUR_API_KEY
brandIDquery1
numbersquery9955XXXXXXXX,9955XXXXXXXX
textquerymessage
stopListqueryfalse

Kod Örnekleri

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);

Yanıt Örnekleri

1 örnek
SMS Gönder Örnek
Yanıt · JSON
{
    "statusID": 0,
    "smsID": "117345",
    "message": "SMS Sent"
}
SMS API / SMS Gönder

SMS Gönder

API Anahtarı · Başlık
POST https://api.ubill.dev /v1/sms/send

Başlıklar

Anahtar Değer
key Gizli API Anahtarınız
Content-Type application/json

Zorunlu Parametreler (JSON Gövdesi)

Parametre Açıklama
brandID Sistemdeki benzersiz marka kimliği.
numbers Cep telefonu numaraları dizisi. Uluslararası biçimde olmalıdır olmadan 00 veya + . Örnek: ["9955XXXXXXXX","9955XXXXXXXX"]
text SMS içeriği. Tüm Unicode karakterleri desteklenir.

İsteğe Bağlı Parametreler (JSON Gövdesi)

Parametre Açıklama
stopList false — engelleme listesi kontrolünü kapatır. Numara listede olsa da mesaj gönderilir.
otp true — mesajı OTP (tek kullanımlık parola / doğrulama kodu) olarak işaretler.
OTP mesajları en yüksek öncelikle işlenir.
⚠️ Kullanılmalıdır yalnızca kimlik doğrulama kodları için.
sendTime Zamanlanmış SMS teslim saati. Biçim: Y-m-d H:i (örneğin: "2026-02-01 23:30" ). Gelecekte olmalıdır. Belirtilmezse hemen gönderilir.
callbackUrl Bu SMS isteğine özel geri çağırma URL'si. Yalnızca API uygulamasında genel varsayılan geri çağırma URL'si ayarlanmışsa çalışır.

Notlar

  • OTP mesajları yalnızca giriş, doğrulama ve parola sıfırlama gibi kimlik doğrulama işlemleri içindir.

  • Yanlış kullanılan otp parametresi teslimat veya hesap kısıtlamalarına neden olabilir.

Yanıt Durumu

statusID Açıklama
0 SMS Gönderildi
10 brandID bulunamadı
20 Numaralar bulunamadı
30 Mesaj metni boş
40 Yetersiz SMS bakiyesi
50 Geçerli numara bulunamadı
60 Geçersiz sendTime biçimi. Y-m-d H:i kullanın
90 JSON Hatası
99 Genel Hata

⚠️ Sınırlar ve Notlar

  • En büyük istek gövdesi: 100 MB → Bu boyutu aşan istekler reddedilir.

  • Cloudflare proxy zaman aşımı: 100 saniye → Daha uzun istekler 524 Timeout döndürür.

  • Zaman aşımı ve bellek sorunlarını önlemek için büyük SMS isteklerini küçük parçalara bölün.

  • Kullanın: stopList engelli numaralara göndermemek için.

Testten Pratik Gözlem:

Testlerimizde SMS başarıyla gönderildi: tek istekte 500.000 numaraya kadar . Daha fazlası bellek, zaman aşımı veya istek boyutu sorunlarına yol açabilir. Gerçek sınırlar metin uzunluğuna, kodlamaya ve sunucu yüküne bağlıdır.

Öneri:

Güvenli ve kararlı çalışma için istekleri sınırlayın: paket başına yaklaşık 100.000 numara .

İstek Başlıkları 2

Anahtar Değer Kaynak
keyYOUR_API_KEY Kimlik Doğrulama
Content-Typeapplication/json Başlık

İstek Gövdesi JSON

İstek Gövdesi
{
    "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)
}

Kod Örnekleri

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);

Yanıt Örnekleri

1 örnek
SMS Gönder Örnek
Yanıt · JSON
{
    "statusID": 0,
    "smsID": 111,
    "message": "SMS Sended"
}
SMS API / SMS Gönder — Farklı Metinler

SMS Gönder — Farklı Metinler

API Anahtarı · Başlık
POST https://api.ubill.dev /v1/sms/send

Başlıklar

Anahtar Değer
key Gizli API Anahtarınız
Content-Type application/json

Zorunlu Parametreler (JSON Gövdesi)

Parametre Açıklama
brandID Sistemdeki benzersiz marka kimliği.
numbers Cep telefonu numaraları dizisi. Uluslararası biçimde olmalıdır olmadan 00 veya + . Örnek: ["9955XXXXXXXX","9955XXXXXXXX"]
text SMS içeriği. Tüm Unicode karakterleri desteklenir.

İsteğe Bağlı Parametreler (JSON Gövdesi)

Parametre Açıklama
stopList false — engelleme listesi kontrolünü kapatır. Numara listede olsa da mesaj gönderilir.
otp true — mesajı OTP (tek kullanımlık parola / doğrulama kodu) olarak işaretler.
OTP mesajları en yüksek öncelikle işlenir.
⚠️ Kullanılmalıdır yalnızca kimlik doğrulama kodları için.
sendTime Zamanlanmış SMS teslim saati. Biçim: Y-m-d H:i (örneğin: "2026-02-01 23:30" ). Gelecekte olmalıdır. Belirtilmezse hemen gönderilir.
callbackUrl Bu SMS isteğine özel geri çağırma URL'si. Yalnızca API uygulamasında genel varsayılan geri çağırma URL'si ayarlanmışsa çalışır.

Notlar

  • OTP mesajları yalnızca giriş, doğrulama ve parola sıfırlama gibi kimlik doğrulama işlemleri içindir.

  • Yanlış kullanılan otp parametresi teslimat veya hesap kısıtlamalarına neden olabilir.


Yanıt Durumu

statusID Açıklama
0 SMS Gönderildi
10 brandID bulunamadı
20 Numaralar bulunamadı
30 Mesaj metni boş
40 Yetersiz SMS bakiyesi
50 Geçerli numara bulunamadı
60 Geçersiz sendTime biçimi. Y-m-d H:i kullanın
90 JSON Hatası
99 Genel Hata

⚠️ Sınırlar ve Notlar

  • En büyük istek gövdesi: 100 MB → Bu boyutu aşan istekler reddedilir.

  • Cloudflare proxy zaman aşımı: 100 saniye → Daha uzun istekler 524 Timeout döndürür.

  • Zaman aşımı ve bellek sorunlarını önlemek için büyük SMS isteklerini küçük parçalara bölün.

  • Kullanın: stopList engelli numaralara göndermemek için.

Testten Pratik Gözlem:

Alıcı Başına SMS İstek Başına En Fazla Numara
1 400,000
2 200,000
3 150,000
4 120,000
5 100,000
6 50,000

Gerçek sınırlar metin uzunluğuna, kodlamaya ve sunucu yüküne bağlıdır.

Öneri:

Güvenilir çalışma için birleştirilmiş SMS sayısına göre yukarıdaki numara sınırlarına uyun.

İstek Başlıkları 2

Anahtar Değer Kaynak
keyYOUR_API_KEY Kimlik Doğrulama
Content-Typeapplication/json Başlık

İstek Gövdesi JSON

İstek Gövdesi
{
    "brandID": 1,
    "numbers": [
        {
            "number": 9955XXXXXXXX,
            "text": "Hello, Nicholas"
        },
        {
            "number": 9955XXXXXXXX,
            "text": "Hello, George"
        }
    ],
    "stopList": false, // Enable/disable checking numbers in the stop list
    "sendTime": "2026-02-01 23:01" // sendTime (optional)
}

Kod Örnekleri

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": "Hello, Nicholas"
        },
        {
            "number": 9955XXXXXXXX,
            "text": "Hello, George"
        }
    ],
    "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": "Hello, Nicholas"
        },
        {
            "number": 9955XXXXXXXX,
            "text": "Hello, George"
        }
    ],
    "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\": \"Hello, Nicholas\"\n        },\n        {\n            \"number\": 9955XXXXXXXX,\n            \"text\": \"Hello, George\"\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);

Yanıt Örnekleri

1 örnek
SMS Gönder — Farklı Metinler Örnek
Yanıt · JSON
{
    "statusID": 0,
    "smsID": 111,
    "message": "SMS Sended"
}
SMS API / XML ile SMS Gönder

XML ile SMS Gönder

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

Yanıt Durumu

statusID Açıklama
0 SMS Gönderildi
10 brandID bulunamadı
20 Numaralar bulunamadı
30 Mesaj metni boş
40 Yetersiz SMS bakiyesi
50 Geçerli numara bulunamadı
90 JSON Hatası
99 Genel Hata

⚠️ Sınırlar ve Notlar

  • En büyük istek gövdesi: 100 MB → Bu boyutu aşan istekler reddedilir.

  • Cloudflare proxy zaman aşımı: 100 saniye → Daha uzun isteklerin yanıtı: 524 Timeout.

  • Zaman aşımı ve bellek sorunlarını önlemek için büyük SMS isteklerini küçük parçalara bölün.

  • Kullanın: stopList engelli numaralara göndermemek için.

URL Parametreleri 1

keyqueryYOUR_API_KEY

İstek Gövdesi XML

İstek Gövdesi
<?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>

Kod Örnekleri

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);

Yanıt Örnekleri

1 örnek
XML ile SMS Gönder Örnek
Yanıt · XML
<?xml version="1.0" encoding="UTF-8"?>
<response>
    <statusID>0</statusID>
    <smsID>11574</smsID>
    <message>SMS Sent</message>
</response>
SMS API / Teslimat Raporu

Teslimat Raporu

API Anahtarı · Başlık
GET https://api.ubill.dev /v1/sms/report/{smsID}

Durumlar

statusID Açıklama
0 Gönderildi
1 Alındı
2 Teslim edilmedi
3 Durum bekleniyor
4 Hata

URL Parametreleri 1

smsIDpath{smsID}

İstek Başlıkları 2

Anahtar Değer Kaynak
keyYOUR_API_KEY Kimlik Doğrulama
Content-Typeapplication/json Başlık

Kod Örnekleri

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);

Yanıt Örnekleri

1 örnek
Teslimat Raporu Örnek
Yanıt · JSON
{
    "statusID": 0,
    "result": [
        {
            "number": "9955XXXXXXXX",
            "statusID": "0"
        },
        {
            "number": "9955XXXXXXXX",
            "statusID": "0"
        }
    ]
}
SMS API / SMS Bakiyesini Getir

SMS Bakiyesini Getir

API Anahtarı · Sorgu
GET https://api.ubill.dev /v1/sms/balance?key=YOUR_API_KEY
Bu uç noktanın Postman koleksiyonunda ayrı açıklaması yoktur.

URL Parametreleri 1

keyqueryYOUR_API_KEY

Kod Örnekleri

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);

Yanıt Örnekleri

1 örnek
SMS Bakiyesini Getir Örnek
Yanıt · JSON
{
    "statusID": 0,
    "sms": 5000
}
SMS API / API Olay Geri Çağırmaları

API Olay Geri Çağırmaları

API Anahtarı · Sorgu
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 Olay Geri Çağırmaları

API uygulama ayarlarında tek ortak adres vardır: HTTPS Geri Çağırma URL'si . Teslim raporları, SMS markası etkinleştirme bildirimleri ve gelecekteki API olayları aynı adrese gönderilir: GET isteği .

Kullanın: event parametresini bildirim türünü belirlemek için. Başarılı işlemden sonra döndürün: 2xx HTTP durumu.

Ortak Parametreler

Parametre Açıklama
key API uygulama ayarlarındaki geri çağırma doğrulama anahtarı
event Olay türü
date Olay zamanı ( Y-m-d H:i:s)

Desteklenen Olaylar

Olay Ek Parametreler
sms.delivery.updatedsmsID, number, statusID
sms.brand.activatedbrandID, brandName, authorized=1

SMS Markası Etkinleştirme Örneği

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

URL Parametreleri 6

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

Kod Örnekleri

cURL · PHP · JavaScript

Yanıt Örnekleri

0 örnek
Bu uç nokta için yanıt örneği yoktur.
SMS API / SMS Teslimat Geri Çağırması

SMS Teslimat Geri Çağırması

API Anahtarı · Sorgu
GET https://example.com/callback?key=YourCallbackKey&event=sms.delivery.updated&smsID=12345678&number=9955XXXXXXXX&statusID=1&date=2026-02-01 12:02:02

Otomatik Mesaj Durumu (Geri Çağırma)

SMS API, gönderilen mesajların durumunu sunucunuzda otomatik almanızı sağlar: Geri Çağırma mekanizması.

Mesaj durumu değiştiğinde (Gönderildi, Alındı, Teslim Edilmedi vb.) sistem gönderir: GET isteği belirttiğiniz adrese HTTPS Adresi .

Geri Çağırma URL'si Gereksinimleri:

  • Şununla başlamalıdır: https://

  • Yöntem: GET

  • Şirketin API ayarlarında tanımlanır

Parametreler

Parametre Açıklama
key Sunucunuzun geri çağırma doğrulama anahtarı
smsID Mesajın benzersiz kimliği
number Alıcının cep telefonu numarası (uluslararası biçim)
statusID Mesajın güncel durum kodu
date Durum güncelleme zamanı ( Y-m-d H:i:s)

Durum Kodları

statusID Açıklama
0 Gönderildi
1 Alındı
2 Teslim Edilmedi
3 Durum Bekleniyor
4 Hata

Geri Çağırma İşleme Örneği (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 Parametreleri 6

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

Kod Örnekleri

cURL · PHP · JavaScript

Yanıt Örnekleri

0 örnek
Bu uç nokta için yanıt örneği yoktur.
API GRUBU

Faturalama API

13 uç nokta

KAYNAK

Müşteriler

5 uç nokta

Faturalama API / Müşteriler / Tüm Müşterileri Getir

Tüm Müşterileri Getir

API Anahtarı · Başlık
GET https://api.ubill.dev /v1/customers
Bu uç noktanın Postman koleksiyonunda ayrı açıklaması yoktur.

İstek Başlıkları 2

Anahtar Değer Kaynak
keyYOUR_API_KEY Kimlik Doğrulama
Content-Typeapplication/json Başlık

Kod Örnekleri

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);

Yanıt Örnekleri

0 örnek
Bu uç nokta için yanıt örneği yoktur.
Faturalama API / Müşteriler / Müşteri Oluştur

Müşteri Oluştur

API Anahtarı · Başlık
POST https://api.ubill.dev /v1/customers/create

Telefon numaralarıyla yeni müşteri oluşturur. Müşteri numarası ( id yanıtta, cID iç sistemde) otomatik oluşturulur ve şirket içinde benzersizdir.

Gerekli İzin: customers.create . İstek gövdesi JSON olmalı ve Content-Type: application/json başlığı zorunludur.

İstek Gövdesi

Alan Tür Zorunlu Açıklama
typeID tam sayı evet Müşterinin hukuki türü uBill müşteri türleri listesinde olmalıdır ( 1 = gerçek kişi).
name dize, en fazla 50 hayır Müşteri adı.
personalNo dize, en fazla 11 hayır Kişisel numara veya şirket kimlik kodu; yalnızca harf ve rakam.
email dize hayır Gönderildiğinde geçerli e-posta adresi olmalıdır.
birthDate dize hayır Tarih şu biçimde: YYYY-MM-DD biçiminde.
lang dize hayır Şunlardan biri: ka, en, ru . Varsayılan, şirket için ayarlanan müşteri dilidir.
address dize, en fazla 50 hayır Müşteri adresi.
column1, column2 dize, en fazla 50 hayır Serbest ek alanlar.
numbers dizi evet Müşterinin telefonları; en az biri zorunludur.

numbers[] nesnesi

Alan Tür Açıklama
number dize Ülke kodu olmadan yerel numara, 6–15 rakam.
mobile dize Tam uluslararası numara. Bu anahtar kullanıldığında ülke kodu numaranın başından çıkarılır.
countryCode dize Ülke kodu, varsayılan: +995.
isPrimary 0 veya 1 Ana numarayı işaretler. Hiçbiri işaretlenmezse ilk numara ana olur.
smsEnabled 0 veya 1 Numaranın SMS bildirimi alıp almayacağı, varsayılan: 1.
note dize, en fazla 100 Numara için serbest not.

Tek numara kısa biçimde de gönderilebilir: {"mobile": "9955XXXXXXXX", "countryCode": "+995"} şunun yerine: numbers dizisi. Tekrarlar sessizce kaldırılır; aynı şirketin başka müşterisine ait numara reddedilir.

Yanıtlar

HTTPstatusID Açıklama
2010 Müşteri oluşturuldu, data yeni müşteriyi içerir.
400400 Doğrulama başarısız, errors nesnesi her geçersiz alanı belirtir.
50099 Müşteri kaydedilemedi; hiçbir şey yazılmadı.

İstek Başlıkları 2

Anahtar Değer Kaynak
keyYOUR_API_KEY Kimlik Doğrulama
Content-Typeapplication/json Başlık

İstek Gövdesi JSON

İstek Gövdesi
{
    "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": "ბიოს"
        }
    ]
}

Kod Örnekleri

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);

Yanıt Örnekleri

3 örnek
Müşteri Oluşturuldu 201
Yanıt · 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"
    }
}
Doğrulama Başarısız 400
Yanıt · 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"
    }
}
Numara Zaten Kullanılıyor 400
Yanıt · JSON
{
    "statusID": 400,
    "message": "Validation failed",
    "data": null,
    "errors": {
        "numbers": "+9955XXXXXXXX is already assigned to another customer"
    }
}
Faturalama API / Müşteriler / Müşteriyi Getir

Müşteriyi Getir

API Anahtarı · Başlık
GET https://api.ubill.dev /v1/customers/100001
Bu uç noktanın Postman koleksiyonunda ayrı açıklaması yoktur.

İstek Başlıkları 2

Anahtar Değer Kaynak
keyYOUR_API_KEY Kimlik Doğrulama
Content-Typeapplication/json Başlık

Kod Örnekleri

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);

Yanıt Örnekleri

0 örnek
Bu uç nokta için yanıt örneği yoktur.
Faturalama API / Müşteriler / Müşteri Ara

Müşteri Ara

API Anahtarı · Başlık
GET https://api.ubill.dev /v1/customers/search?type=mobile&value=9955XXXXXXXX
Bu uç noktanın Postman koleksiyonunda ayrı açıklaması yoktur.

URL Parametreleri 2

typequerymobile
valuequery9955XXXXXXXX

İstek Başlıkları 2

Anahtar Değer Kaynak
keyYOUR_API_KEY Kimlik Doğrulama
Content-Typeapplication/json Başlık

Kod Örnekleri

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);

Yanıt Örnekleri

0 örnek
Bu uç nokta için yanıt örneği yoktur.
Faturalama API / Müşteriler / Müşteri Hesapları

Müşteri Hesapları

API Anahtarı · Başlık
GET https://api.ubill.dev /v1/customers/accounts/100001
Bu uç noktanın Postman koleksiyonunda ayrı açıklaması yoktur.

İstek Başlıkları 2

Anahtar Değer Kaynak
keyYOUR_API_KEY Kimlik Doğrulama
Content-Typeapplication/json Başlık

Kod Örnekleri

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);

Yanıt Örnekleri

1 örnek
Müşteri Hesapları Örnek
Yanıt · JSON
{
    "statusID": 0,
    "message": "Success",
    "draw": 0,
    "recordsTotal": 3,
    "recordsFiltered": 3,
    "data": [
        {
            "id": "170115",
            "name": "Example Customer",
            "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": "Example Customer",
            "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": "Example Customer",
            "mobile": "5XXXXXXXX",
            "personalNo": "XXXXXXXXXXX",
            "birthDate": "1991-12-08",
            "areaID": "2",
            "area": "თბილისი - თბილისი",
            "address": "Example 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"
        }
    ]
}
KAYNAK

Hesaplar

5 uç nokta

Faturalama API / Hesaplar / Tüm Hesapları Getir

Tüm Hesapları Getir

API Anahtarı · Başlık
GET https://api.ubill.dev /v1/accounts
Bu uç noktanın Postman koleksiyonunda ayrı açıklaması yoktur.

İstek Başlıkları 2

Anahtar Değer Kaynak
keyYOUR_API_KEY Kimlik Doğrulama
Content-Typeapplication/json Başlık

Kod Örnekleri

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);

Yanıt Örnekleri

1 örnek
Tüm Hesapları Getir Örnek
Yanıt · JSON
{
    "statusID": 0,
    "message": "Success",
    "draw": 0,
    "recordsTotal": 70114,
    "recordsFiltered": 70114,
    "data": [
        {
            "id": "170115",
            "name": "Example Customer",
            "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": "Example Customer",
            "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"
        }
    ]
}
Faturalama API / Hesaplar / Hesap Oluştur

Hesap Oluştur

API Anahtarı · Başlık
POST https://api.ubill.dev /v1/accounts/create

Mevcut müşteri için yeni hesap (hizmet) oluşturur. Hesap numarası ( id yanıtta), uBill web arayüzündeki gibi şirketin cID ayarlarından oluşturulur.

Gerekli İzin: accounts.create . İstek gövdesi JSON olmalı ve Content-Type: application/json başlığı zorunludur.

İstek Gövdesi

Alan Tür Zorunlu Açıklama
customerID tam sayı evet Hesabın ait olduğu müşteri numarası; aynı id müşteri uç noktalarının döndürdüğü değer.
name dize, en fazla 50 hayır Hesap adı.
birthDate dize hayır Tarih şu biçimde: YYYY-MM-DD biçiminde.
areaID tam sayı hayır uBill ilçe listesindeki yerleşim kimliği.
address dize, en fazla 50 hayır Hizmet adresi.
geoLocation dize, en fazla 100 hayır Koordinatlar şu biçimde: 41.732438,44.7688134 biçiminde.
column1, column2 dize, en fazla 50 hayır Serbest ek alanlar.
tariffID tam sayı hayır Şirketin tarife numarası.
groupID tam sayı hayır Şirketin grup veya şube numarası.
tagsID tam sayı dizisi hayır Hesaba eklenen şirket etiketlerinin numaraları.
numbers dizi hayır Hesap telefonları müşteriyle aynı biçimdedir. Müşteriden farklı olarak hesap numarasız oluşturulabilir.

Modüle Bağlı Alanlar

Bu alanlar yalnızca şirkette ilgili modül etkinse okunur.

Alan Modül Zorunlu Açıklama
mac Ağ evet Cihazın MAC adresi; şirket içinde benzersizdir.
onuMac Ağ hayır ONU MAC adresi; şirket içinde benzersizdir.
ipRangeID Ağ evet NAS IP aralığı numarası. İlk boş adres hesaba otomatik atanır ve şöyle döner: ip.
stbMacIPTV hayır STB MAC adresi; şirket içinde benzersizdir.
gpsProviderIDGPS track evet Şirketin GPS sağlayıcı numarası.
gpsTrackIdentifierGPS track hayır Cihaz kimliği; şirket içinde benzersizdir.

SMS Bildirimi

Şirkette hesap ekleme SMS'i açıksa yeni hesabın SMS etkin tüm numaralarına mesaj gönderilir ve şirketin SMS bakiyesinden düşülür. Bakiye yetmese de hesap oluşturulur; yanıta eklenir: warning alanı.

Yanıtlar

HTTPstatusID Açıklama
2010 Hesap oluşturuldu, data yeni hesabı içerir.
400400 Doğrulama başarısız, errors nesnesi her geçersiz alanı belirtir. Yinelenen MAC ve telefonlar da aynı şekilde bildirilir.
50099 Hesap kaydedilemedi; hiçbir şey yazılmadı.

İstek Başlıkları 2

Anahtar Değer Kaynak
keyYOUR_API_KEY Kimlik Doğrulama
Content-Typeapplication/json Başlık

İstek Gövdesi JSON

İstek Gövdesi
{
    "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
        }
    ]
}

Kod Örnekleri

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);

Yanıt Örnekleri

4 örnek
Hesap Oluşturuldu 201
Yanıt · 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"
    }
}
SMS Bakiyesi Olmadan Oluşturuldu 201
Yanıt · 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"
}
Doğrulama Başarısız 400
Yanıt · 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 Zaten Kullanılıyor 400
Yanıt · JSON
{
    "statusID": 400,
    "message": "Account creation failed",
    "data": null,
    "errors": {
        "account": [
            "ეს MAC მისამართი უკვე მითითებულია სხვა ანგარიშზე"
        ]
    }
}
Faturalama API / Hesaplar / Hesabı Getir

Hesabı Getir

API Anahtarı · Başlık
GET https://api.ubill.dev /v1/accounts/100001
Bu uç noktanın Postman koleksiyonunda ayrı açıklaması yoktur.

İstek Başlıkları 2

Anahtar Değer Kaynak
keyYOUR_API_KEY Kimlik Doğrulama
Content-Typeapplication/json Başlık

Kod Örnekleri

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);

Yanıt Örnekleri

1 örnek
Hesabı Getir Örnek
Yanıt · JSON
{
    "statusID": 0,
    "message": "Success",
    "data": [
        {
            "id": "100001",
            "name": "Example Customer",
            "mobile": "5XXXXXXXX",
            "personalNo": "XXXXXXXXXXX",
            "birthDate": "1991-12-08",
            "areaID": "2",
            "area": "თბილისი",
            "address": "Example 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"
        }
    ]
}
Faturalama API / Hesaplar / Hesap Ara

Hesap Ara

API Anahtarı · Başlık
GET https://api.ubill.dev /v1/accounts/search?type=mobile&value=9955XXXXXXXX
Bu uç noktanın Postman koleksiyonunda ayrı açıklaması yoktur.

URL Parametreleri 2

typequerymobile
valuequery9955XXXXXXXX

İstek Başlıkları 2

Anahtar Değer Kaynak
keyYOUR_API_KEY Kimlik Doğrulama
Content-Typeapplication/json Başlık

Kod Örnekleri

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);

Yanıt Örnekleri

0 örnek
Bu uç nokta için yanıt örneği yoktur.
Faturalama API / Hesaplar / Kredi Tanımla

Kredi Tanımla

API Anahtarı · Başlık
POST https://api.ubill.dev /v1/accounts/setCredit
Bu uç noktanın Postman koleksiyonunda ayrı açıklaması yoktur.

İstek Başlıkları 2

Anahtar Değer Kaynak
keyYOUR_API_KEY Kimlik Doğrulama
Content-Typeapplication/json Başlık

İstek Gövdesi JSON

İstek Gövdesi
{
    "accountID": 170114,
    "date": "2023-12-10"
}

Kod Örnekleri

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);

Yanıt Örnekleri

1 örnek
Kredi Tanımla Örnek
Yanıt · JSON
{
    "statusID": 0,
    "message": "Success"
}
KAYNAK

Ödemeler

3 uç nokta

Faturalama API / Ödemeler / Ödemeleri Getir

Ödemeleri Getir

API Anahtarı · Başlık
GET https://api.ubill.dev /v1/payments
Bu uç noktanın Postman koleksiyonunda ayrı açıklaması yoktur.

İstek Başlıkları 2

Anahtar Değer Kaynak
keyYOUR_API_KEY Kimlik Doğrulama
Content-Typeapplication/json Başlık

Kod Örnekleri

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);

Yanıt Örnekleri

1 örnek
Ödemeleri Getir Örnek
Yanıt · 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": "Example Customer",
            "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": "Example Customer",
            "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": "Example Customer",
            "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": "Example Customer",
            "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": "Example Customer",
            "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": "Example Customer",
            "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": "Example Customer",
            "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": "Example Customer",
            "date": "2021-01-18 10:31:14"
        }
    ]
}
Faturalama API / Ödemeler / Hesaba Göre Ödemeleri Getir

Hesaba Göre Ödemeleri Getir

API Anahtarı · Başlık
GET https://api.ubill.dev /v1/payments/account/100001
Bu uç noktanın Postman koleksiyonunda ayrı açıklaması yoktur.

İstek Başlıkları 2

Anahtar Değer Kaynak
keyYOUR_API_KEY Kimlik Doğrulama
Content-Typeapplication/json Başlık

Kod Örnekleri

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);

Yanıt Örnekleri

1 örnek
Hesaba Göre Ödemeleri Getir Örnek
Yanıt · 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": "Example Customer",
            "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": "Example Customer",
            "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": "Example Customer",
            "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": "Example Customer",
            "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": "Example Customer",
            "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": "Example Customer",
            "date": "2022-06-11 10:07:13"
        }
    ]
}
Faturalama API / Ödemeler / Ödeme Ekle

Ödeme Ekle

API Anahtarı · Başlık
POST https://api.ubill.dev /v1/payments/add
Bu uç noktanın Postman koleksiyonunda ayrı açıklaması yoktur.

İstek Başlıkları 2

Anahtar Değer Kaynak
keyYOUR_API_KEY Kimlik Doğrulama
Content-Typeapplication/json Başlık

İstek Gövdesi JSON

İstek Gövdesi
{
    "accountID" : 170114,
    "sum" : 1,
    "comment": "text",
    "paySystem": "WEB"
}

Kod Örnekleri

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);

Yanıt Örnekleri

1 örnek
Ödemeleri Ekle Örnek
Yanıt · JSON
{
    "statusID": 0,
    "message": "Success",
    "data": {
        "id": "11521"
    }
}
YARDIM GEREKİYOR MU?

Entegrasyon Desteği

uBill ekibi API entegrasyonu sorularınızda yardımcı olur.

Bize Ulaşın
Altyapı ve Teknolojiler

Öncü ve güvenilir teknolojiler kullanıyoruz

uBill; kararlılık, güvenlik ve kolay ölçeklenme sağlayan modern araçlarla geliştirilmiştir

Yukarı dön