← Sağlayıcı programı

Sağlayıcı API dokümanı

Modem, SIM bank ya da kendi yazılımınızla SIM'lerinizi bağlayın; gelen her doğrulama kodundan kazanın. Bütün uç noktalar JSON konuşur ve tek bir API anahtarıyla çalışır.

Başlarken

  1. Hesap açın ve satıcı panelinde (Satıcı merkezi) satıcı programına katılın.
  2. Satıcı merkezi > API sekmesinden API anahtarınızı (pk_ ile başlar) oluşturun. Anahtar yalnızca bir kez gösterilir.
  3. Güvenlik için sunucunuzun IP adreslerini aynı sayfadaki izin listesine ekleyin; liste doluysa başka IP'lerden gelen istekler reddedilir.
  4. SIM'lerinizi ekleyin, fiyatınızı girin ve heartbeat göndermeye başlayın. Çevrimiçi SIM'ler hemen satışa çıkar.

Temel bilgiler

Adres
https://smsrota.com/provider/v1
Kimlik doğrulama
Authorization: Bearer pk_… başlığı
Biçim
JSON gövde ve yanıt; tutarlar USD, metin olarak ("0.1200")
Sınır
Anahtar başına dakikada 600 istek
Ülke kodları
SMS-Activate ülke kodları (ör. 16 Birleşik Krallık, 62 Türkiye, 187 ABD)
Servis kodları
SMS-Activate servis kodları (ör. wa WhatsApp, tg Telegram, go Google)

Çalışma akışı

  1. Her 25-30 saniyede bir POST /heartbeat gönderin. 90 saniye sessiz kalan SIM satıştan çıkar ve çevrimiçi süre puanınızı düşürür.
  2. GET /orders ile 2-5 saniyede bir yeni siparişlere bakın. waiting durumundaki numara bir alıcıya verilmiştir.
  3. Numaraya SMS geldiğinde metni olduğu gibi POST /sms ile iletin. Kod otomatik çıkarılır, alıcı anında görür ve kazancınız yazılır.
  4. Kazanç 72 saat bekleme süresinden sonra kullanılabilir bakiyeye geçer; panelden ya da POST /payouts ile USDT çekersiniz.
  5. Kiralanan SIM'lere (GET /rentals) gelen bütün SMS'leri de /sms ile iletin; kiralama bitince kazanç yazılır.

Uç noktalar

POST /provider/v1/heartbeatSIM'lerin çevrimiçi olduğunu bildirir.
GET /provider/v1/ordersSize atanmış açık numaralar ve son 10 dakikada kapananlar.
POST /provider/v1/smsSIM'e gelen SMS'i iletir.
GET /provider/v1/rentalsŞu an kirada olan SIM'leriniz.
GET /provider/v1/simsBağlı SIM'leriniz, çevrimiçi durumu ve teslim ettikleri kod sayısı.
POST /provider/v1/simsSIM ekler (tek seferde 500'e kadar).
PATCH /provider/v1/sims/:idSIM'i satışa açar/kapatır ya da servis listesini değiştirir.
PUT /provider/v1/pricesNumara başına fiyatınız (USD, 0.02 ile 10 arası).
PUT /provider/v1/rent-pricesKiralama için günlük fiyatınız (USD, 0.10 ile 50 arası).
GET /provider/v1Özet: durum, puan, seviye, komisyon, bakiyeler ve SIM sayıları.
GET /provider/v1/stats?days=30Günlük kazanç ve kod sayısı, servis ve ülke kırılımı, SIM başına başarı oranı ve çevrimiçi süresi (1-90 gün).
GET /provider/v1/ledgerKazanç, serbest kalma, ceza ve ödeme hareketleri.
POST /provider/v1/payoutsKullanılabilir bakiyeden USDT ödeme ister (en az 10 $).

POST /provider/v1/heartbeat

SIM'lerin çevrimiçi olduğunu bildirir. En az 30 saniyede bir gönderin; 90 saniye sessiz kalan SIM satıştan çıkar. phones verilmezse bütün SIM'ler çevrimiçi sayılır.

İstek

{ "phones": ["447700900001", "447700900002"] }

Yanıt

{ "online": 2 }

GET /provider/v1/orders

Size atanmış açık numaralar ve son 10 dakikada kapananlar. Yeni sipariş için bunu 2-5 saniyede bir sorgulayın; status waiting olanlar için SMS bekleniyor.

Yanıt

[
  {
    "id": 9182,
    "phone": "447700900001",
    "service": "wa",
    "status": "waiting",
    "code": null,
    "createdAt": "2026-11-10T09:00:00.000Z",
    "expiresAt": "2026-11-10T09:20:00.000Z"
  }
]

POST /provider/v1/sms

SIM'e gelen SMS'i iletir. orderId, rentalId ya da phone'dan biri yeterli. Kodu sistem metinden kendisi çıkarır ve alıcıya anında gösterir.

İstek

{ "orderId": 9182, "sender": "WhatsApp", "text": "Your WhatsApp code 123-456" }

Yanıt

{ "accepted": true, "code": "123456" }

GET /provider/v1/rentals

Şu an kirada olan SIM'leriniz. Bu numaralara gelen her SMS'i /sms ile iletin.

Yanıt

[{ "id": 311, "phone": "447700900002", "service": "full", "status": "active", "price": "3.0000", "earning": "2.5500", "sms": 4, "endsAt": "2026-11-11T09:00:00.000Z" }]

GET /provider/v1/sims

Bağlı SIM'leriniz, çevrimiçi durumu ve teslim ettikleri kod sayısı.

Yanıt

[{ "id": 7, "phone": "447700900001", "country": "16", "operator": "EE", "services": [], "enabled": true, "online": true, "busy": false, "delivered": 128 }]

POST /provider/v1/sims

SIM ekler (tek seferde 500'e kadar). country, SMS-Activate ülke kodudur (16 = Birleşik Krallık, 62 = Türkiye). services boşsa SIM her servis için satılır.

İstek

{ "sims": [{ "phone": "447700900001", "country": "16", "operator": "EE", "services": ["wa", "tg"] }] }

Yanıt

{ "ids": [7] }

PATCH /provider/v1/sims/:id

SIM'i satışa açar/kapatır ya da servis listesini değiştirir.

İstek

{ "enabled": false }

Yanıt

{ "ok": true }

PUT /provider/v1/prices

Numara başına fiyatınız (USD, 0.02 ile 10 arası). service "*" o ülkenin varsayılanıdır; price: null satırı siler.

İstek

{ "prices": [{ "service": "*", "country": "16", "price": 0.12 }, { "service": "wa", "country": "16", "price": 0.18 }] }

Yanıt

{ "ok": true }

PUT /provider/v1/rent-prices

Kiralama için günlük fiyatınız (USD, 0.10 ile 50 arası).

İstek

{ "prices": [{ "country": "16", "dayPrice": 1.5 }] }

Yanıt

{ "ok": true }

GET /provider/v1

Özet: durum, puan, seviye, komisyon, bakiyeler ve SIM sayıları.

Yanıt

{
  "status": "active",
  "score": 88.5,
  "tier": "A",
  "commission": 0.15,
  "balances": { "pending": "12.4800", "available": "41.2000", "deposit": "50.0000", "depositRequired": "62.0000" },
  "sims": { "total": 12, "online": 11, "busy": 3 },
  "hasKey": true
}

GET /provider/v1/stats?days=30

Günlük kazanç ve kod sayısı, servis ve ülke kırılımı, SIM başına başarı oranı ve çevrimiçi süresi (1-90 gün).

Yanıt

{
  "days": [{ "day": "2026-11-10", "orders": 42, "delivered": 37, "earned": "4.4400", "rentals": 1 }],
  "services": [{ "service": "wa", "orders": 30, "delivered": 28, "earned": "3.3600", "successRate": 93.3 }],
  "countries": [{ "country": "16", "orders": 42, "delivered": 37, "earned": "4.4400", "successRate": 88.1 }],
  "sims": [{ "id": 7, "phone": "447700900001", "orders": 9, "delivered": 9, "earned": "1.0800", "successRate": 100, "uptime": 99.2 }]
}

GET /provider/v1/ledger

Kazanç, serbest kalma, ceza ve ödeme hareketleri.

Yanıt

[{ "id": 55, "kind": "earning", "amount": "0.1020", "bucket": "pending", "createdAt": "…" }]

POST /provider/v1/payouts

Kullanılabilir bakiyeden USDT ödeme ister (en az 10 $).

İstek

{ "amount": 40, "address": "TQ…" }

Yanıt

{ "id": 18 }

Örnek kod

Heartbeat, sipariş takibi ve SMS iletme için hazır örnekler. pk_... yerine kendi anahtarınızı yazın.

cURL

# Heartbeat
curl -X POST https://smsrota.com/provider/v1/heartbeat \
  -H "Authorization: Bearer pk_..." -H "Content-Type: application/json" -d '{}'

# Open orders
curl https://smsrota.com/provider/v1/orders -H "Authorization: Bearer pk_..."

# Forward an SMS
curl -X POST https://smsrota.com/provider/v1/sms \
  -H "Authorization: Bearer pk_..." -H "Content-Type: application/json" \
  -d '{"phone":"447700900001","sender":"WhatsApp","text":"Your WhatsApp code 123-456"}'

Python

import threading, time, requests

API = "https://smsrota.com/provider/v1"
H = {"Authorization": "Bearer pk_..."}

def heartbeat():
    while True:
        requests.post(f"{API}/heartbeat", json={}, headers=H, timeout=10)
        time.sleep(25)

threading.Thread(target=heartbeat, daemon=True).start()

def on_sms(phone, sender, text):
    # Call this from your modem / SIM bank software for every incoming SMS.
    r = requests.post(f"{API}/sms", json={"phone": phone, "sender": sender, "text": text}, headers=H, timeout=10)
    print(r.json())

while True:
    for o in requests.get(f"{API}/orders", headers=H, timeout=10).json():
        if o["status"] == "waiting":
            print("waiting for SMS on", o["phone"], "for", o["service"])
    time.sleep(3)

Node.js

const API = "https://smsrota.com/provider/v1";
const headers = { Authorization: "Bearer pk_...", "Content-Type": "application/json" };

setInterval(() => fetch(`${API}/heartbeat`, { method: "POST", headers, body: "{}" }), 25_000);

export async function onSms(phone, sender, text) {
  const res = await fetch(`${API}/sms`, { method: "POST", headers, body: JSON.stringify({ phone, sender, text }) });
  return res.json(); // { accepted: true, code: "123456" }
}

Kurallar ve ödemeler

Fiyat aralığı
Numara başına 0,02 $ ile 10 $; kiralamada günlük 0,10 $ ile 50 $.
Komisyon
Seviyeye göre: A %15, B %20, C %25. Yeni satıcılar B seviyesinde başlar.
Bekleme
Her kazanç 72 saat bekler; bu sürede açılan haklı şikâyetler kazancı geri alır.
Teminat
50 $ + SIM başına 1 $; kazançların %20'si teminat dolana kadar ayrılır.
Deneme süresi
İlk 14 gün: aynı anda en fazla 50 açık numara ve günde 50 $ ödeme.
Puan
Teslim oranı (%40), ilk SMS süresi (%20), çevrimiçi süre (%20) ve şikâyet oranı (%20). Puan 50'nin altına inerse satış durur.
Ödeme
USDT, en az 10 $. A ve B seviyesi her gün, C seviyesi haftada bir çekebilir.

Hata kodları

401 bad_key
Anahtar yanlış, iptal edilmiş ya da istek izin listesinde olmayan bir IP'den geldi.
400 bad_request
Gövde eksik ya da hatalı; issues alanı hangi alanın sorunlu olduğunu söyler.
403 not_seller
Hesap satıcı programında değil ya da kapatılmış.
409 phone_taken
Bu numara başka bir satıcıya kayıtlı.
400 price_out_of_range
Fiyat izin verilen aralığın dışında.
409 payout_limit
Tutar en düşük ödemenin altında ya da günlük deneme sınırını aşıyor.
409 payout_too_soon
Seviyenize göre bir sonraki ödeme günü henüz gelmedi.
403 payout_frozen
Puan ya da hesap durumu nedeniyle ödemeler geçici olarak durduruldu.
429
Dakikalık istek sınırı aşıldı; biraz bekleyip tekrar deneyin.