pale100.shop
API V2 DOCS

Geliştirici Dokümantasyonu

SMS onay ve kiralama hizmetlerini kendi yazılımına entegre et.

Pale100.shop API v2

SMS onay ve kiralama işlemlerini profesyonelce otomatiğe bağla.


Sanal SMS Onay — Tek kullanımlık sanal numara satın al, gelen tek SMS kodunu API üzerinden çek, isteğe bağlı iptal/iade yap. Tüm istekler için api_key parametresi zorunludur.
GET

Bakiye

Hesabınızdaki mevcut bakiye ve bayi durumunu döndürür.

Endpoint

PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=getBalance";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=getBalance"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=getBalance')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "balance": 1287.5,
    "currency": "TRY",
    "isReseller": false
}
GET

Servis Listesi

Aktif sanal servisleri, başlangıç (en düşük operatör) TL fiyatları ile sayfa sayfa döndürür.

ParametreTipZorunluAçıklama
pageintHayırVarsayılan 1, sayfa başı 25 kayıt
searchstringHayırİsim aramada kullanılır (LIKE)
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=getServices&page=1";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=getServices&page=1"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=getServices&page=1')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "page": 1,
    "limit": 25,
    "count": 2,
    "hasMore": true,
    "services": [
        {
            "service_id": 1,
            "name": "WhatsApp",
            "image_url": "\/uploads\/service_wa.webp",
            "min_price_tl": 4.46
        },
        {
            "service_id": 2,
            "name": "Telegram",
            "image_url": "\/uploads\/service_tg.webp",
            "min_price_tl": 33.45
        }
    ]
}
GET

Ülke & Operatör Listesi

Bir servisin satıldığı ülkeleri, her ülkedeki operatörleri (alt ürün ID'leri ile birlikte) ve gerçek satış TL fiyatlarını döndürür.

ParametreTipZorunluAçıklama
service_idintEvetgetServices'den alınır
pageintHayırVarsayılan 1
sortstringHayırprice_asc (varsayılan), price_desc, name
searchstringHayırÜlke kodu/adı LIKE
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=getRegions&service_id=1&sort=price_asc";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=getRegions&service_id=1&sort=price_asc"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=getRegions&service_id=1&sort=price_asc')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "page": 1,
    "limit": 25,
    "hasMore": true,
    "regions": [
        {
            "country_code": "KG",
            "country_id": 11,
            "country_name": "Kırgızistan (+996)",
            "min_price_tl": 6.69,
            "operator_count": 4,
            "operators": [
                {
                    "operator_id": 64538,
                    "operator": "any",
                    "price_tl": 6.69,
                    "stock": 10
                },
                {
                    "operator_id": 64539,
                    "operator": "any",
                    "price_tl": 9.19,
                    "stock": 60
                }
            ]
        }
    ]
}
POST

Numara Satın Al

Spesifik bir operatör ürünü (operator_id) satın al, ya da service_id + country_code ile en uygun olanı otomatik seç. Bakiye yetersizse veya stok yoksa hata döner.

ParametreTipZorunluAçıklama
operator_idintŞart 1getRegions → regions[].operators[].operator_id
service_idintŞart 2operator_id yoksa zorunlu
country_codestringŞart 2operator_id yoksa zorunlu (örn. TR)
operatorstringHayırVarsayılan any
accept_pricefloatHayırwrong_price yanıtı alındıysa, alternatif USD fiyatı ile yeniden dene
Özel yanıtlar:
status: "no_numbers" — stok tükendi, bakiye iade edildi.
status: "wrong_price" — alternatif fiyat var, accept_price ile yeniden dene.
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=buyNumber&service_id=1&country_code=TR&operator=any";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=buyNumber&service_id=1&country_code=TR&operator=any"
response = requests.post(url)
print(response.json())
const axios = require('axios');
axios.post('https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=buyNumber&service_id=1&country_code=TR&operator=any')
  .then(res => console.log(res.data));
200 OKSTOK YOKALTERNATIF FIYAT
{
    "status": "success",
    "activation_id": 54210,
    "number": "447543691031",
    "service_id": 1,
    "country_code": "GB",
    "price_tl": 4.46,
    "expires_in": 1200
}
{
    "status": "no_numbers",
    "message": "Seçilen servis\/ülke kombinasyonunda şu an numara yok. Lütfen birazdan tekrar deneyin."
}
{
    "status": "wrong_price",
    "message": "Seçilen fiyat artık geçerli değil. Alternatif fiyatı onaylayarak yeniden deneyin.",
    "alt_price_usd": 0.055,
    "alt_price_tl": 9.19,
    "retry_param": "accept_price"
}
GET

SMS Kodu Sorgula

Aktif siparişin durumunu ve geldiyse SMS kodunu döndürür. Önerilen polling aralığı: 5 saniye.

ParametreTipZorunluAçıklama
idintEvetbuyNumber → activation_id

order_status: pending (kod bekleniyor) · received (kod geldi) · canceled (iptal/iade) · expired (süresi doldu)

PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=getOtp&id=54210";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=getOtp&id=54210"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=getOtp&id=54210')
  .then(res => console.log(res.data));
BEKLIYORKOD GELDI
{
    "status": "success",
    "activation_id": 54210,
    "number": "447543691031",
    "order_status": "pending",
    "otp": null
}
{
    "status": "success",
    "activation_id": 54210,
    "number": "447543691031",
    "order_status": "received",
    "otp": "482917"
}
POST

İptal & İade

Bekleyen siparişi iptal eder ve bakiye iadesi yapar.

Kurallar:
• Satın alımdan sonraki ilk 2 dakika içinde iptal yapılamaz (spam koruması).
2. – 15. dakika arasında, kod gelmediyse iptal edilebilir.
15 dakikadan sonra veya kod geldikten sonra iade mümkün değildir.
• İptal öncesi sistem son bir kontrol yapar; o anda kod gelmiş ise iade yapılmaz.
ParametreTipZorunluAçıklama
idintEvetactivation_id
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=cancelNumber&id=54210";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=cancelNumber&id=54210"
response = requests.post(url)
print(response.json())
const axios = require('axios');
axios.post('https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=cancelNumber&id=54210')
  .then(res => console.log(res.data));
200 OKERKENSüRE DOLDU
{
    "status": "success",
    "activation_id": 54210,
    "refunded_tl": 4.46,
    "message": "Sipariş iptal edildi ve bakiye iade edildi."
}
{
    "status": "error",
    "message": "İptal için en az 2 dakika beklemelisiniz (kalan: 87s)."
}
{
    "status": "error",
    "message": "Satın alımdan sonra 15 dakika geçti — iade artık mümkün değil."
}
GET

Geçmiş Siparişler

Sanal SMS sipariş geçmişini sayfalı şekilde döndürür.

ParametreTipZorunluAçıklama
pageintHayırVarsayılan 1
limitintHayırMax 50, varsayılan 25
order_statusstringHayırpending · received · canceled · expired
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=getActivations&page=1&limit=25";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=getActivations&page=1&limit=25"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/sanal-smsonay?api_key=API_KEY&action=getActivations&page=1&limit=25')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "page": 1,
    "limit": 25,
    "total": 42,
    "total_pages": 2,
    "items": [
        {
            "activation_id": 54210,
            "service_name": "WhatsApp",
            "country_code": "GB",
            "number": "447543691031",
            "price_tl": 4.46,
            "order_status": "received",
            "otp": "482917",
            "created_at": "2026-05-19 12: 30: 00"
        }
    ]
}
Fiziksel SimKart Kirala — Gerçek SIM kart üzerinden tek numaraya seçtiğin platform için sınırsız SMS. activation (kısa süreli ~20 dk) veya rent (saat/gün) modu seçilebilir.
GET

Bakiye

Hesap bakiyesini ve bayi durumunu döndürür.

PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=getBalance";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=getBalance"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=getBalance')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "balance": 1287.5,
    "currency": "TRY",
    "isReseller": false
}
GET

Servis Listesi

Fiziksel SIM desteği olan servisleri en düşük başlangıç fiyatıyla sayfa sayfa döndürür.

ParametreTipZorunluAçıklama
pageintHayırVarsayılan 1, 25 kayıt
searchstringHayırİsim LIKE araması
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=getServices&page=1";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=getServices&page=1"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=getServices&page=1')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "page": 1,
    "limit": 25,
    "count": 2,
    "hasMore": true,
    "services": [
        {
            "service_id": 9,
            "name": "Diğer Platformlar",
            "image_url": "\/uploads\/service_other.webp",
            "min_price_tl": 6.69
        },
        {
            "service_id": 7,
            "name": "Telegram",
            "image_url": "\/uploads\/service_tg.webp",
            "min_price_tl": 33.45
        }
    ]
}
GET

Ülke Listesi

Bir servisin satıldığı ülkeleri ve operatör sayısını döndürür. Operatör detayı için bir sonraki adım getOffers.

ParametreTipZorunluAçıklama
service_idintEvetgetServices'den alınır
pageintHayırVarsayılan 1
sortstringHayırprice_asc (varsayılan), price_desc, name
searchstringHayırÜlke kodu/adı LIKE
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=getRegions&service_id=9";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=getRegions&service_id=9"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=getRegions&service_id=9')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "page": 1,
    "limit": 25,
    "hasMore": true,
    "regions": [
        {
            "country_code": "KG",
            "country_id": 11,
            "country_name": "Kırgızistan (+996)",
            "min_price_tl": 6.69,
            "operator_count": 4
        },
        {
            "country_code": "GB",
            "country_id": 16,
            "country_name": "Birleşik Krallık (+44)",
            "min_price_tl": 10.15,
            "operator_count": 10
        }
    ]
}
GET

Operatör & Süre Teklifleri

Bir servis + ülke için aktif operatörleri ve her operatörün satın alınabilir deal'larını (activation & rent) döndürür. Fiyatlar gerçek satış TL'sidir.

ParametreTipZorunluAçıklama
service_idintEvet
country_idintŞart 1Ülke ID — getRegions'tan dönen değer
country_codestringŞart 2country_id yoksa zorunlu (örn. KG)

deal_type: activation (kısa süreli, duration_hours=0) veya rent (kiralık, saat bazlı).

PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=getOffers&service_id=9&country_id=11";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=getOffers&service_id=9&country_id=11"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=getOffers&service_id=9&country_id=11')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "service_id": 9,
    "country_id": 11,
    "country_code": "KG",
    "operators": [
        {
            "operator": "any",
            "deals": [
                {
                    "deal_type": "activation",
                    "duration_hours": 0,
                    "duration_text": "20 Dakika",
                    "activation_minutes": 20,
                    "price_tl": 6.69,
                    "stock": 238
                },
                {
                    "deal_type": "rent",
                    "duration_hours": 2,
                    "duration_text": "2 Saat",
                    "price_tl": 12.82,
                    "stock": 15
                },
                {
                    "deal_type": "rent",
                    "duration_hours": 24,
                    "duration_text": "1 Gün",
                    "price_tl": 21.19,
                    "stock": 9
                }
            ]
        }
    ]
}
POST

Numara Satın Al

Atomik işlem: bakiye düşülür, numara tahsis edilir, kayıt oluşturulur. Numara tahsis edilemezse bakiye otomatik iade edilir.

ParametreTipZorunluAçıklama
service_idintEvet
country_idintŞart 1Hero ülke ID
country_codestringŞart 2country_id yoksa zorunlu (örn. KG)
duration_hoursintHayır0 (varsayılan, activation ~20 dk) veya 1, 2, 12, 24, 48, ... (rent)
operatorstringHayırVarsayılan any, getOffers operators'tan
Stok yoksa status: "no_numbers" dönüyor — bakiye otomatik iade edilir.
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=buyNumber&service_id=9&country_id=11&duration_hours=2&operator=any";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=buyNumber&service_id=9&country_id=11&duration_hours=2&operator=any"
response = requests.post(url)
print(response.json())
const axios = require('axios');
axios.post('https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=buyNumber&service_id=9&country_id=11&duration_hours=2&operator=any')
  .then(res => console.log(res.data));
200 OKSTOK YOK
{
    "status": "success",
    "activation_id": 54211,
    "number": "996700123456",
    "service_id": 9,
    "country_code": "KG",
    "operator": "any",
    "duration_hours": 2,
    "duration_text": "2 Saat",
    "price_tl": 12.82,
    "expires_in": 7200
}
{
    "status": "no_numbers",
    "message": "Bu kombinasyonda şu anda numara yok. Lütfen birazdan tekrar deneyin."
}
GET

SMS Listesi

Fiziksel numara birden fazla SMS alabilir. Bu endpoint tüm gelen SMS'leri ve kalan süreyi döndürür. Önerilen polling: 5 saniye.

ParametreTipZorunluAçıklama
idintEvetbuyNumber → activation_id
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=getSms&id=54211";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=getSms&id=54211"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=getSms&id=54211')
  .then(res => console.log(res.data));
HENüZ SMS YOKSMS GELDI
{
    "status": "success",
    "activation_id": 54211,
    "number": "996700123456",
    "order_status": "pending",
    "remaining_sec": 7128,
    "sms_count": 0,
    "messages": []
}
{
    "status": "success",
    "activation_id": 54211,
    "number": "996700123456",
    "order_status": "pending",
    "remaining_sec": 5210,
    "sms_count": 2,
    "messages": [
        {
            "date": "2026-05-19 12: 42: 11",
            "from": "WhatsApp",
            "text": "Your code is 482917"
        },
        {
            "date": "2026-05-19 13: 01: 55",
            "from": "WhatsApp",
            "text": "Your code is 750183"
        }
    ]
}
POST

İptal & İade

Bekleyen siparişi iptal eder ve bakiye iadesi yapar.

Kurallar:
• İlk 2 dakika içinde iptal yapılamaz (spam koruması).
2 – 20. dakika arasında, hiç SMS gelmediyse iptal edilebilir.
20 dakikadan sonra veya SMS geldikten sonra iade mümkün değildir.
• İptal öncesi sistem son bir kontrol yapar; o anda SMS gelmiş ise iade yapılmaz.
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=cancelNumber&id=54211";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=cancelNumber&id=54211"
response = requests.post(url)
print(response.json())
const axios = require('axios');
axios.post('https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=cancelNumber&id=54211')
  .then(res => console.log(res.data));
200 OKERKENSüRE DOLDU
{
    "status": "success",
    "activation_id": 54211,
    "refunded_tl": 12.82,
    "message": "Sipariş iptal edildi ve bakiye iade edildi."
}
{
    "status": "error",
    "message": "İptal için en az 2 dakika beklemelisiniz (kalan: 87s)."
}
{
    "status": "error",
    "message": "Satın alımdan sonra 20 dakika geçti — iade artık mümkün değil."
}
GET

Geçmiş Siparişler

Fiziksel sipariş geçmişini sayfalı şekilde döndürür.

ParametreTipZorunluAçıklama
pageintHayırVarsayılan 1
limitintHayırMax 50, varsayılan 25
order_statusstringHayırpending · received · canceled · expired
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=getActivations&page=1";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=getActivations&page=1"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/fiziksel-smsonay?api_key=API_KEY&action=getActivations&page=1')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "page": 1,
    "limit": 25,
    "total": 12,
    "total_pages": 1,
    "items": [
        {
            "activation_id": 54211,
            "service_name": "Diğer Platformlar",
            "country_code": "KG",
            "number": "996700123456",
            "price_tl": 12.82,
            "order_status": "pending",
            "remaining_sec": 5210,
            "expires_at": "2026-05-19 14: 30: 00",
            "created_at": "2026-05-19 12: 30: 00"
        }
    ]
}
Numara Kiralama — Sana özel kiralanan numara ile kiralama süresi boyunca tüm platformlardan (WhatsApp, Telegram, Instagram, Google vs.) sınırsız SMS alabilirsin. Süre saat/gün bazlı, esnek.
GET

Bakiye

Hesap bakiyesi ve bayi durumu.

PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=getBalance";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=getBalance"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=getBalance')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "balance": 1287.5,
    "currency": "TRY",
    "isReseller": false
}
GET

Ülke Listesi

Kiralama yapılabilecek ülkeleri, ülke ID/kodu ve anlık stok bilgisiyle döndürür.

ParametreTipZorunluAçıklama
pageintHayırVarsayılan 1, 25 kayıt
searchstringHayırÜlke kodu/adı LIKE
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=getCountries&page=1";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=getCountries&page=1"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=getCountries&page=1')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "page": 1,
    "limit": 25,
    "count": 4,
    "total": 5,
    "hasMore": false,
    "countries": [
        {
            "country_id": 43,
            "country_code": "de",
            "country_name": "Almanya (+49)",
            "stock": 1
        },
        {
            "country_id": 78,
            "country_code": "fr",
            "country_name": "Fransa (+33)",
            "stock": 11
        },
        {
            "country_id": 48,
            "country_code": "nl",
            "country_name": "Hollanda (+31)",
            "stock": 6
        },
        {
            "country_id": 86,
            "country_code": "it",
            "country_name": "İtalya (+39)",
            "stock": 1
        }
    ]
}
GET

Operatör + Süre Teklifleri

Bir ülke için aktif operatörleri ve her operatörün saat/gün bazlı kiralama tekliflerini gerçek satış TL fiyatıyla döndürür.

ParametreTipZorunluAçıklama
country_idintŞart 1getCountries'den dönen ID
country_codestringŞart 2country_id yoksa zorunlu (örn. de)
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=getOffers&country_id=43";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=getOffers&country_id=43"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=getOffers&country_id=43')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "country_id": 43,
    "operators": [
        {
            "operator": "any",
            "deals": [
                {
                    "duration_hours": 2,
                    "duration_text": "2 Saat",
                    "price_tl": 1924.49,
                    "stock": 1
                },
                {
                    "duration_hours": 4,
                    "duration_text": "4 Saat",
                    "price_tl": 2007,
                    "stock": 1
                },
                {
                    "duration_hours": 24,
                    "duration_text": "1 Gün",
                    "price_tl": 2890,
                    "stock": 1
                }
            ]
        }
    ]
}
POST

Numara Kirala

Atomik işlem: fiyat doğrulanır, bakiye düşülür, numara tahsis edilir. Stok yoksa veya numara temin edilemezse bakiye otomatik iade edilir.

ParametreTipZorunluAçıklama
country_idintŞart 1getCountries'den
country_codestringŞart 2country_id yoksa zorunlu
duration_hoursintEvetSaat cinsinden (örn. 4 = 4 saat, 24 = 1 gün)
operatorstringHayırVarsayılan any, getOffers operators'tan
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=buyNumber&country_id=43&duration_hours=4&operator=any";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=buyNumber&country_id=43&duration_hours=4&operator=any"
response = requests.post(url)
print(response.json())
const axios = require('axios');
axios.post('https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=buyNumber&country_id=43&duration_hours=4&operator=any')
  .then(res => console.log(res.data));
200 OKSTOK YOKBAKIYE YETERSIZ
{
    "status": "success",
    "activation_id": 54310,
    "number": "491760123456",
    "country_id": 43,
    "country_code": "de",
    "operator": "any",
    "duration_hours": 4,
    "duration_text": "4 Saat",
    "price_tl": 2007,
    "expires_in": 14400,
    "expires_at": "2026-05-19 18: 30: 00"
}
{
    "status": "no_numbers",
    "message": "Bu kombinasyonda şu anda numara yok. Lütfen birazdan tekrar deneyin."
}
{
    "status": "error",
    "message": "Bakiyeniz yetersiz. Gerekli: 2007.00"
}
GET

Gelen SMS Listesi

Kiralık numara kiralama süresi boyunca birden fazla platformdan sınırsız SMS alabilir. Tüm gelen SMS'leri ve kalan süreyi döndürür. Önerilen polling: 5 saniye.

ParametreTipZorunluAçıklama
idintEvetbuyNumber → activation_id
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=getSms&id=54310";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=getSms&id=54310"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=getSms&id=54310')
  .then(res => console.log(res.data));
HENüZ SMS YOKÇOKLU SMS
{
    "status": "success",
    "activation_id": 54310,
    "number": "491760123456",
    "order_status": "pending",
    "remaining_sec": 14250,
    "sms_count": 0,
    "messages": []
}
{
    "status": "success",
    "activation_id": 54310,
    "number": "491760123456",
    "order_status": "pending",
    "remaining_sec": 11800,
    "sms_count": 3,
    "messages": [
        {
            "date": "2026-05-19 14: 35: 11",
            "from": "WhatsApp",
            "text": "Your WhatsApp code: 482917"
        },
        {
            "date": "2026-05-19 14: 51: 02",
            "from": "Telegram",
            "text": "Login code: 75432"
        },
        {
            "date": "2026-05-19 15: 12: 55",
            "from": "Google",
            "text": "G-308194 is your Google verification code."
        }
    ]
}
POST

İptal & İade

Bekleyen kiralamayı iptal eder ve bakiye iadesi yapar.

Kurallar:
• İlk 2 dakika içinde iptal yapılamaz (spam koruması).
2 – 20. dakika arasında, hiç SMS gelmediyse iptal edilebilir.
20 dakikadan sonra veya SMS geldikten sonra iade mümkün değildir.
• İptal öncesi sistem son bir kontrol yapar; o anda SMS gelmiş ise iade yapılmaz.
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=cancelNumber&id=54310";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=cancelNumber&id=54310"
response = requests.post(url)
print(response.json())
const axios = require('axios');
axios.post('https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=cancelNumber&id=54310')
  .then(res => console.log(res.data));
200 OKERKENSüRE DOLDUSMS GELMIş
{
    "status": "success",
    "activation_id": 54310,
    "refunded_tl": 2007,
    "message": "Kiralama iptal edildi ve bakiye iade edildi."
}
{
    "status": "error",
    "message": "İptal için en az 2 dakika beklemelisiniz (kalan: 87s)."
}
{
    "status": "error",
    "message": "Satın alımdan sonra 20 dakika geçti — iade artık mümkün değil."
}
{
    "status": "error",
    "message": "Sistemde numaraya SMS ulaşmış görünüyor, iade yapılamaz. Gelen mesaj: Your code 482917"
}
GET

Geçmiş Kiralamalar

Kiralama sipariş geçmişini sayfalı şekilde döndürür.

ParametreTipZorunluAçıklama
pageintHayırVarsayılan 1
limitintHayırMax 50, varsayılan 25
order_statusstringHayırpending · received · canceled · expired
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=getActivations&page=1";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=getActivations&page=1"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/numara-kiralama?api_key=API_KEY&action=getActivations&page=1')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "page": 1,
    "limit": 25,
    "total": 3,
    "total_pages": 1,
    "items": [
        {
            "activation_id": 54310,
            "country_code": "de",
            "number": "491760123456",
            "price_tl": 2007,
            "order_status": "pending",
            "remaining_sec": 11800,
            "expires_at": "2026-05-19 18: 30: 00",
            "created_at": "2026-05-19 14: 30: 00"
        }
    ]
}
SMM Servisleri — Takipçi, beğeni, görüntülenme, abonelik vs. tüm sosyal medya hizmetlerini sipariş ver, durumunu API üzerinden takip et.
GET

Bakiye

Hesap bakiyesi ve bayi durumu.

PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=getBalance";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=getBalance"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=getBalance')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "balance": 1287.5,
    "currency": "TRY",
    "isReseller": false
}
GET

Kategoriler

Mevcut tüm SMM kategorilerini döndürür (Twitter/Instagram/TikTok/YouTube vs.).

PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=getCategories";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=getCategories"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=getCategories')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "categories": [
        {
            "category_id": 1,
            "name": "Twitter (X)",
            "icon": "bi-twitter-x",
            "display_order": 1
        },
        {
            "category_id": 2,
            "name": "Instagram",
            "icon": "bi-instagram",
            "display_order": 2
        },
        {
            "category_id": 4,
            "name": "TikTok",
            "icon": "bi-tiktok",
            "display_order": 4
        },
        {
            "category_id": 5,
            "name": "YouTube",
            "icon": "bi-youtube",
            "display_order": 5
        }
    ]
}
GET

Servisler

Aktif SMM servislerini listeler. Her servis için fiyat, min/max miktar, input türü ve varsa ek özellik (extras) bilgisi döner.

ParametreTipZorunluAçıklama
category_idintHayırBelirli bir kategori ile filtrele
searchstringHayırİsim LIKE
include_coming0/1Hayır1 verilirse "yakında" servisleri de listelenir

input_type: link (URL) · username (kullanıcı adı) · custom_comments (her satıra bir yorum)

PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=getServices&category_id=1";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=getServices&category_id=1"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=getServices&category_id=1')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "count": 2,
    "services": [
        {
            "service_id": 1,
            "category_id": 1,
            "name": "Tweet Görüntülenme (Analytic View)",
            "description": "Düşüş Olmaz ✅\nMavi Tik Analytic Panelde yansır",
            "icon": null,
            "input_type": "link",
            "input_placeholder": "https:\/\/x.com\/elonmusk\/status\/...",
            "price_per_unit_tl": 0.0015,
            "min_quantity": 10,
            "max_quantity": 30300,
            "avg_delivery_time": "0-3 saat",
            "status": "active",
            "extras": []
        },
        {
            "service_id": 10,
            "category_id": 1,
            "name": "Twitter Anlık Beğeni",
            "description": "Türk Profilli Hesaplar",
            "icon": null,
            "input_type": "link",
            "input_placeholder": "https:\/\/x.com\/...",
            "price_per_unit_tl": 0.19838,
            "min_quantity": 100,
            "max_quantity": 2500,
            "avg_delivery_time": "Anında",
            "status": "active",
            "extras": [
                {
                    "name": "+Favoriye Ekleme",
                    "price_per_unit_tl": 1
                },
                {
                    "name": "+Günde sadece 1 yorum gelsin",
                    "price_per_unit_tl": 1
                }
            ]
        }
    ]
}
GET

Servis Detayı

Tek bir servisin tam detayını döndürür — sipariş öncesi parametre doğrulaması için kullan.

ParametreTipZorunluAçıklama
service_idintEvetgetServices'den dönen ID
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=getServiceDetail&service_id=10";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=getServiceDetail&service_id=10"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=getServiceDetail&service_id=10')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "service": {
        "service_id": 10,
        "category_id": 1,
        "name": "Twitter Anlık Beğeni",
        "description": "Türk Profilli Hesaplar",
        "input_type": "link",
        "price_per_unit_tl": 0.19838,
        "min_quantity": 100,
        "max_quantity": 2500,
        "status": "active",
        "extras": [
            {
                "name": "+Favoriye Ekleme",
                "price_per_unit_tl": 1
            }
        ]
    }
}
POST

Sipariş Ver

Atomik işlem: miktar/extras doğrulanır, bakiye düşülür, sistem siparişi başlatır.

ParametreTipZorunluAçıklama
service_idintEvet
linkstringEvetURL veya username (input_type'a göre, max 255)
quantityintŞart 1min/max sınırları içinde. custom_comments'ta otomatik hesaplanır.
commentsstringŞart 2Sadece input_type=custom_comments'ta zorunlu (her satıra bir yorum)
extrasstring (JSON)HayırServisin extras listesinden seçilen ek özellikler. Örnek: [{"name":"+Favoriye Ekleme"}]
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=placeOrder&service_id=10&link=https%3A%2F%2Fx.com%2Felonmusk%2Fstatus%2F20503&quantity=500";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=placeOrder&service_id=10&link=https%3A%2F%2Fx.com%2Felonmusk%2Fstatus%2F20503&quantity=500"
response = requests.post(url)
print(response.json())
const axios = require('axios');
axios.post('https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=placeOrder&service_id=10&link=https%3A%2F%2Fx.com%2Felonmusk%2Fstatus%2F20503&quantity=500')
  .then(res => console.log(res.data));
200 OKMIKTAR HATASıBAKIYE YETERSIZ
{
    "status": "success",
    "message": "Sipariş başarıyla alındı.",
    "order": {
        "order_id": 1284,
        "service_id": 10,
        "service_name": "Twitter Anlık Beğeni",
        "link": "https:\/\/x.com\/elonmusk\/status\/20503",
        "quantity": 500,
        "comments": null,
        "extras": [],
        "total_price_tl": 99.19,
        "order_status": "processing",
        "start_count": 0,
        "remains": 500,
        "created_at": "2026-05-19 14: 30: 00"
    }
}
{
    "status": "error",
    "message": "Miktar sınırların dışında: 100 – 2500 adet."
}
{
    "status": "error",
    "message": "Bakiyeniz yetersiz. Gerekli: 99.19"
}
GET

Sipariş Durumu

Tek bir siparişin durumunu sorgular. Sistem aktif siparişlerde gerçek zamanlı yenileme yapar (remains, start_count).

ParametreTipZorunluAçıklama
order_idintEvetplaceOrder → order.order_id

order_status: pending · processing · partial · completed · canceled · refunded · error

PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=getOrder&order_id=1284";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=getOrder&order_id=1284"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=getOrder&order_id=1284')
  .then(res => console.log(res.data));
İşLENIYORTAMAMLANDı
{
    "status": "success",
    "order": {
        "order_id": 1284,
        "service_id": 10,
        "service_name": "Twitter Anlık Beğeni",
        "link": "https:\/\/x.com\/...\/20503",
        "quantity": 500,
        "total_price_tl": 99.19,
        "order_status": "processing",
        "start_count": 120,
        "remains": 380,
        "created_at": "2026-05-19 14: 30: 00"
    }
}
{
    "status": "success",
    "order": {
        "order_id": 1284,
        "service_id": 10,
        "service_name": "Twitter Anlık Beğeni",
        "link": "https:\/\/x.com\/...\/20503",
        "quantity": 500,
        "total_price_tl": 99.19,
        "order_status": "completed",
        "start_count": 120,
        "remains": 0,
        "created_at": "2026-05-19 14: 30: 00"
    }
}
GET

Geçmiş Siparişler

SMM sipariş geçmişini sayfalı şekilde döndürür.

ParametreTipZorunluAçıklama
pageintHayırVarsayılan 1
limitintHayırMax 50, varsayılan 25
order_statusstringHayırpending, processing, completed, canceled, ...
searchstringHayırServis adı / link / sipariş ID
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=getOrders&page=1&limit=25";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=getOrders&page=1&limit=25"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/smm?api_key=API_KEY&action=getOrders&page=1&limit=25')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "page": 1,
    "limit": 25,
    "total": 2,
    "total_pages": 1,
    "items": [
        {
            "order_id": 1284,
            "service_id": 10,
            "service_name": "Twitter Anlık Beğeni",
            "link": "https:\/\/x.com\/...\/20503",
            "quantity": 500,
            "total_price_tl": 99.19,
            "order_status": "completed",
            "start_count": 120,
            "remains": 0,
            "created_at": "2026-05-19 14: 30: 00"
        },
        {
            "order_id": 1283,
            "service_id": 1,
            "service_name": "Tweet Görüntülenme",
            "link": "https:\/\/x.com\/...\/20502",
            "quantity": 10000,
            "total_price_tl": 15,
            "order_status": "processing",
            "start_count": 2400,
            "remains": 7600,
            "created_at": "2026-05-19 13: 00: 00"
        }
    ]
}
Lisans Bayi — Yazılım lisansları, doğrulanmış hesaplar ve dijital ürünler. Çoğu üründe anında otomatik teslimat, bazı ürünlerde kullanıcıdan ek bilgi alınır (mail/şifre, kurum kodu vs.).
GET

Bakiye

Hesap bakiyesi ve bayi durumu.

PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getBalance";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getBalance"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getBalance')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "balance": 1287.5,
    "currency": "TRY",
    "isReseller": false
}
GET

Ana Kategoriler

Üst kategorileri döndürür (Office, Adobe Creative Cloud, Geliştirici Araçları vs.).

PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getCategories";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getCategories"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getCategories')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "categories": [
        {
            "category_id": 4,
            "name": "Adobe",
            "display_order": 1
        },
        {
            "category_id": 16,
            "name": "Office",
            "display_order": 2
        },
        {
            "category_id": 3,
            "name": "Görsel Ürünler",
            "display_order": 3
        },
        {
            "category_id": 30,
            "name": "Geliştirici Araçları",
            "display_order": 4
        }
    ]
}
GET

Alt Kategoriler

Bir ana kategorinin altındaki alt kategorileri döndürür.

ParametreTipZorunluAçıklama
category_idintEvetgetCategories'den dönen ID
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getSubcategories&category_id=4";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getSubcategories&category_id=4"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getSubcategories&category_id=4')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "category_id": 4,
    "subcategories": [
        {
            "sub_category_id": 33,
            "name": "Adobe Creative Cloud",
            "display_order": 1
        },
        {
            "sub_category_id": 34,
            "name": "Adobe Stock",
            "display_order": 2
        }
    ]
}
GET

Ürün Listesi

Ana ve/veya alt kategori bazlı ürün listesi. Fiyat, stok bilgisi, otomatik teslimat durumu dahil.

ParametreTipZorunluAçıklama
category_idintHayırAna kategori filtresi
sub_category_idintHayırAlt kategori filtresi
searchstringHayırÜrün adı LIKE
in_stock_only0/1Hayır1 verilirse tükenmiş ürünleri gizler
pageintHayırVarsayılan 1
limitintHayırMax 100, varsayılan 50
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getProducts&category_id=4&limit=25";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getProducts&category_id=4&limit=25"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getProducts&category_id=4&limit=25')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "page": 1,
    "limit": 25,
    "total": 4,
    "total_pages": 1,
    "products": [
        {
            "product_id": 1885200,
            "category_id": 4,
            "sub_category_id": 33,
            "name": "Adobe Creative Cloud - 14 Günlük",
            "description": "Tüm Adobe ürünleri dahil",
            "image_url": null,
            "price_tl": 50,
            "is_stock": true,
            "stock_count": 12,
            "is_automatic_delivery": true,
            "product_type": "none"
        },
        {
            "product_id": 1885201,
            "category_id": 4,
            "sub_category_id": 33,
            "name": "Adobe Stock 25 Görsel \/ 3 Video",
            "description": "Anında teslim",
            "image_url": null,
            "price_tl": 140,
            "is_stock": true,
            "stock_count": 5,
            "is_automatic_delivery": true,
            "product_type": "none"
        }
    ]
}
GET

Ürün Detayı

Ürün açıklaması, fiyat ve satın alma için gerekli alanları (required_fields) döndürür. Satın almadan ÖNCE bu endpoint'i çağırarak hangi parametreleri göndereceğini öğren.

ParametreTipZorunluAçıklama
product_idintEvetgetProducts → product_id
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getProductDetail&product_id=1885200";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getProductDetail&product_id=1885200"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getProductDetail&product_id=1885200')
  .then(res => console.log(res.data));
OTOMATIK (EK ALAN YOK)EK ALAN GEREKLI
{
    "status": "success",
    "product": {
        "product_id": 1885200,
        "category_id": 4,
        "sub_category_id": 33,
        "name": "Adobe Creative Cloud - 14 Günlük",
        "description": "Tüm Adobe ürünleri dahil",
        "image_url": null,
        "price_tl": 50,
        "is_stock": true,
        "stock_count": 12,
        "is_automatic_delivery": true,
        "product_type": "none",
        "required_fields": []
    }
}
{
    "status": "success",
    "product": {
        "product_id": 1885900,
        "name": "Office 365 Pro",
        "price_tl": 250,
        "is_automatic_delivery": true,
        "product_type": "custom",
        "required_fields": [
            {
                "name": "email",
                "label": "E-posta Adresiniz",
                "type": "email"
            },
            {
                "name": "first_name",
                "label": "Ad",
                "type": "text"
            }
        ]
    }
}
POST

Satın Al

Atomik işlem: bakiye düşülür, üretim/teslimat başlatılır, sipariş kaydedilir. Otomatik teslimat ürünlerinde yanıt anında delivery_data içerir.

ParametreTipZorunluAçıklama
product_idintEvetgetProducts → product_id
fieldsstring (JSON)ŞartlıSadece ürünün required_fields'ı doluysa zorunlu. Örnek: {"email":"...","first_name":"..."}

Her field değer maksimum 250 karakter, HTML stripping uygulanır.

PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=purchase&product_id=1885200";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=purchase&product_id=1885200"
response = requests.post(url)
print(response.json())
const axios = require('axios');
axios.post('https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=purchase&product_id=1885200')
  .then(res => console.log(res.data));
OTOMATIK TESLIMMANUEL/BEKLIYOREKSIK ALANBAKIYE YETERSIZ
{
    "status": "success",
    "message": "Sipariş başarıyla tamamlandı, teslimat hazır.",
    "order": {
        "order_id": 1284,
        "product_id": 1885200,
        "product_name": "Adobe Creative Cloud - 14 Günlük",
        "amount_tl": 50,
        "order_status": "success",
        "delivery_data": "ClementTroester6798@outlook.com:ktS0qVwDVmJj",
        "order_params": [],
        "created_at": "2026-05-19 14: 30: 00"
    }
}
{
    "status": "success",
    "message": "Sipariş oluşturuldu, teslimat bekleniyor.",
    "order": {
        "order_id": 1285,
        "product_id": 1885900,
        "product_name": "Office 365 Pro",
        "amount_tl": 250,
        "order_status": "pending",
        "delivery_data": null,
        "order_params": {
            "email": "user@example.com",
            "first_name": "Ali"
        },
        "created_at": "2026-05-19 14: 31: 00"
    }
}
{
    "status": "error",
    "message": "Eksik alanlar: email, first_name"
}
{
    "status": "error",
    "message": "Bakiyeniz yetersiz. Gerekli: 50.00"
}
GET

Sipariş Durumu

Tek bir siparişin teslimat durumunu sorgular. pending durumdaki siparişler için sistem upstream'e yeniden bakar, teslimat geldiyse otomatik success'e döndürür.

ParametreTipZorunluAçıklama
order_idintEvetpurchase → order.order_id

order_status: pending · success · failed

PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getOrder&order_id=1284";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getOrder&order_id=1284"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getOrder&order_id=1284')
  .then(res => console.log(res.data));
TESLIM EDILDI
{
    "status": "success",
    "order": {
        "order_id": 1284,
        "product_id": 1885200,
        "product_name": "Adobe Creative Cloud - 14 Günlük",
        "amount_tl": 50,
        "order_status": "success",
        "delivery_data": "ClementTroester6798@outlook.com:ktS0qVwDVmJj",
        "order_params": [],
        "created_at": "2026-05-19 14: 30: 00",
        "updated_at": "2026-05-19 14: 30: 01"
    }
}
GET

Geçmiş Siparişler

Lisans sipariş geçmişini sayfalı şekilde döndürür.

ParametreTipZorunluAçıklama
pageintHayırVarsayılan 1
limitintHayırMax 50, varsayılan 25
order_statusstringHayırpending · success · failed
searchstringHayırÜrün adı LIKE
PHP Python Node.js
$url = "https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getOrders&page=1";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
import requests
url = "https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getOrders&page=1"
response = requests.get(url)
print(response.json())
const axios = require('axios');
axios.get('https://www.pale100.shop/api/v2/lisans-bayi?api_key=API_KEY&action=getOrders&page=1')
  .then(res => console.log(res.data));
200 OK
{
    "status": "success",
    "page": 1,
    "limit": 25,
    "total": 2,
    "total_pages": 1,
    "items": [
        {
            "order_id": 1284,
            "product_id": 1885200,
            "product_name": "Adobe Creative Cloud - 14 Günlük",
            "amount_tl": 50,
            "order_status": "success",
            "delivery_data": "...",
            "order_params": [],
            "created_at": "2026-05-19 14: 30: 00"
        }
    ]
}