Geliştiriciler için SMS Doğrulama API'si

SMSBulk SMS doğrulama API'si, kodunuza istek anında gerçek bir telefon numarası verir ve doğrulama kodu gelir gelmez JSON olarak geri döndürür. Tek API, tek ön ödemeli bakiye, SMS gelmezse otomatik iade.

Üç API çağrısıyla OTP alın

Döngünün tamamı bu: numarayı ayırt, SMS kodu gelene kadar sorgula, kullanıldığını onayla. Aşağıdaki örnekler üretim API'sine karşı yazıldığı gibi çalışır; önce anahtarınızı ortam değişkenine koymanız yeterli.

const BASE = 'https://smsbulk.net/api/v1';
const KEY = process.env.SMSBULK_API_KEY; // smsbulk_...

async function api(path, options = {}) {
  const res = await fetch(BASE + path, {
    ...options,
    headers: { 'X-API-Key': KEY, 'Content-Type': 'application/json' },
  });
  if (!res.ok) throw new Error(res.status + ' ' + (await res.text()));
  return res.json();
}

async function main() {
  // 1) Buy a number for Telegram in the United States
  const activation = await api('/activations', {
    method: 'POST',
    body: JSON.stringify({ serviceCode: 'tg', countryIso: 'US' }),
  });
  console.log('Number:', activation.phoneNumber);

  // 2) Poll until the verification code arrives
  let code = null;
  while (!code) {
    await new Promise((r) => setTimeout(r, 5000));
    const a = await api('/activations/' + activation.id);
    if (a.status === 'RECEIVED') code = a.smsCode;
    else if (['CANCELLED', 'EXPIRED', 'REFUNDED'].includes(a.status)) {
      throw new Error('Ended without SMS: ' + a.status);
    }
  }
  console.log('Verification code:', code);

  // 3) Confirm the code was used
  await api('/activations/' + activation.id + '/complete', { method: 'POST' });
}

main();

Anahtarınızı panelden oluşturun; tüm endpoint'leri ve yanıt şemalarını API dokümantasyonu içinde inceleyin. Kod hiç gelmezse aktivasyon süresi dolar ve bakiyeniz otomatik iade edilir. Bu örneklerin retry, timeout ve iade yönetimi eklenmiş production sürümleri için Node.js rehberi veya Python rehberi sayfasını izleyin.

Kayıttan üretime dört adım

Hesap oluşturun

E-posta adresiyle kaydolun. Sözleşme yok, aylık ücret yok, kullandıkça ödeyin.

API anahtarı üretin

Panelden bir anahtar oluşturun ve her istekte X-API-Key başlığıyla gönderin.

İlk isteğinizi atın

Servis kodu ve ülke ISO koduyla POST /v1/activations çağırın. Saniyeler içinde numara dönür.

Üretime ölçekleyin

Belgelenmiş hız limitleri, cursor sayfalama ve öngörülebilir hata kodları otomasyonu stabil tutar.

OTP API'siyle ne elde edersiniz

Bir telefon doğrulama API'si ancak milyonuncu istekte de ilk istekteki gibi davranıyorsa işe yarar. Platform şu garantiler etrafında kurulu.

Düz REST ve JSON

SDK zorunluluğu yok: her dilde her HTTP istemcisi çalışır. Kimlik doğrulama tek başlıktır.

Hızlı kod teslimi

Doğrulama kodlarının çoğu saniyeler içinde düşer. Aktivasyonu sorgulayın; status RECEIVED olur olmaz smsCode alanını okuyun.

Otomatik iade

Yalnızca çalışan doğrulamalar için ödersiniz. Aktivasyon süresi dolana kadar SMS gelmezse tutar destek talebi olmadan bakiyenize döner.

Küresel kapsam

Her bölgeden numara; ülke bazlı canlı stok ve fiyat, herkese açık katalog endpoint'lerinde. Şu an neyin canlı olduğunu servis kataloğu üzerinden görün.

SMS-Activate uyumlu endpoint

SMS-Activate protokolü için yazılmış bir entegrasyonu mu taşıyorsunuz? SMS-Activate uyumlu API dokümanları adresine yönlendirin, mevcut istemci kodunuz çalışmaya devam etsin.

Tek bakiye, dört ürün

Aynı cüzdan SMS doğrulama, e-posta doğrulama, numara kiralama ve eSIM verisi için geçerli. Tek yükleme tüm yığınınızı karşılar.

Yüksek hacimde toplu SMS doğrulama

Her sürümde kayıt akışını doğrulayan QA paketleri, iş hesaplarını partiler halinde açan onboarding hatları, öğle olmadan yirmi ülke isteyen bölge-matrisi testleri: yüksek hacimli doğrulama bu API için istisna değil, tasarım hedefidir. Desen basit: aktivasyonları sınırlı eşzamanlılıkla paralel başlatın, her birini bağımsız sorgulayın, süresi dolanların kendini iade etmesine izin verin.

const BASE = 'https://smsbulk.net/api/v1';
const KEY = process.env.SMSBULK_API_KEY; // smsbulk_...

async function api(path, options = {}) {
  const res = await fetch(BASE + path, {
    ...options,
    headers: { 'X-API-Key': KEY, 'Content-Type': 'application/json' },
  });
  if (!res.ok) throw new Error(res.status + ' ' + (await res.text()));
  return res.json();
}

// One verification: buy, poll, return the code (or null on expiry/refund).
async function verifyOnce(serviceCode, countryIso) {
  const a = await api('/activations', {
    method: 'POST',
    body: JSON.stringify({ serviceCode, countryIso }),
  });
  for (;;) {
    await new Promise((r) => setTimeout(r, 5000));
    const s = await api('/activations/' + a.id);
    if (s.status === 'RECEIVED') {
      await api('/activations/' + a.id + '/complete', { method: 'POST' });
      return { number: a.phoneNumber, code: s.smsCode };
    }
    // Expired/cancelled activations refund to the balance automatically.
    if (['CANCELLED', 'EXPIRED', 'REFUNDED'].includes(s.status)) return null;
  }
}

// Run a QA batch with bounded concurrency (be kind to rate limits).
async function batch(jobs, limit = 5) {
  const results = [];
  const queue = [...jobs];
  await Promise.all(
    Array.from({ length: limit }, async () => {
      while (queue.length) {
        const job = queue.shift();
        results.push(await verifyOnce(job.serviceCode, job.countryIso));
      }
    }),
  );
  return results;
}

// Example: verify 20 signup-flow test runs for Telegram in the US.
batch(
  Array.from({ length: 20 }, () => ({ serviceCode: 'tg', countryIso: 'US' })),
).then((r) => console.log(r.filter(Boolean).length, 'codes received'));

Tasarım gereği paralel

Her aktivasyon kendi id'si, durumu ve iade yaşam döngüsü olan bağımsız bir kaynaktır. API'nin hiçbir yeri teker teker kullanım varsaymaz.

Kendi kendine mutabık maliyetler

Her aktivasyon cüzdandan bir kez düşer ve süresi dolunca otomatik iade edilir; 500 koşuluk bir parti, işlem kaydından elle temizlik gerektirmeden mutabık olur.

Hacim fiyatlandırması hazır

Yüklemeler sadakat merdivenini otomatik tırmanır; hacim büyüdükçe kod başına fiyat düşer. Satış görüşmesi gerekmez.

Dürüst hız limitleri

Belgelenmiş limitler ve öngörülebilir hata kodları sayesinde kurallı bir parti koşucusu sürpriz engel yemez. 429'da yavaşlayın, devam edin.

Yukarıdaki örnek beş eşzamanlılık sınırıyla yirmi doğrulama koşturur. Hız limitleri ve sayfalama API dokümantasyonu içinde; parti araçlarınız zaten SMS-Activate protokolü konuşuyorsa SMS-Activate uyumlu API dokümanları onu olduğu gibi kabul eder.

Popüler servisler için canlı başlangıç fiyatları

Fiyatlar başarılı doğrulama başınadır ve ülkeye göre değişir. Aşağıdakiler katalogdan gelen canlı başlangıç fiyatlarıdır; bu sayfada saatlik yenilenir:

Google$0.03 itibaren
Amazon$0.03 itibaren
WhatsApp$0.23 itibaren
Walmart$0.11 itibaren
Baidu$0.03 itibaren
Instagram$0.02 itibaren
Microsoft$0.01 itibaren
Facebook$0.04 itibaren

Ülke bazlı kesin fiyatlar GET /v1/services/{slug}/countries endpoint'inden gelir; panelin gösterdiği veriyle aynıdır.

Her doğrulama akışı için tek API

İster OTP API, ister telefon doğrulama API'si, ister SMS alma API'si deyin; iş aynı: sisteminizin, doğrulama kodunu yakalayıp makine tarafından okunabilir JSON olarak geri verecek geçici bir numaraya ihtiyacı var. POST /v1/activations sözleşmesinin tamamı budur.

Ekipler bunu CI içinde kayıt akışlarını doğrulamak, toplu kurumsal hesap açılışlarını yürütmek, bölge kilitli formları test etmek ve kişisel numaraları üçüncü taraf veritabanlarından uzak tutmak için kullanıyor. Toplu kullanım birinci sınıf vatandaştır: aktivasyonları paralel oluşturun, cursor sayfalamayla listeleyin, maliyetleri cüzdan hareketlerinden aktivasyon bazında mutabık edin.

Kullanım senaryonuz tek bir koddan çok numaranın kendisiyse, sanal numara API'si sayfası tedarik, yaşam döngüsü ve bırakma konularını derinlemesine anlatır.

AI ajanları için de hazır

SMSBulk resmi bir MCP sunucusu sunar: AI ajanları ve LLM tabanlı iş akışları, elle HTTP yazmak yerine yerel araç çağrılarıyla numara satın alabilir, kod bekleyebilir ve cüzdanı yönetebilir. SMS doğrulaması gereken bir ajan kuruyorsanız MCP sunucusu dokümantasyonu ile başlayın.

SMS doğrulama API'si SSS

API üzerinden SMS doğrulama kodunu nasıl alırım?

POST /v1/activations ile bir aktivasyon oluşturun, ardından GET /v1/activations/{id} ile sorgulayın. Status RECEIVED olduğunda smsCode alanı doğrulama kodunu içerir. Tam döngü yukarıdaki örneklerdeki gibi üç çağrıdır.

API'yi büyük taahhüt vermeden deneyebilir miyim?

Evet. Hesaplar abonesiz, kullandıkça öde modelindedir: küçük bir tutar yükleyin, entegrasyonunuzu üretime karşı çalıştırın; SMS almayan her aktivasyon bakiyeye otomatik iade edilir.

SMS doğrulama API'si hangi ülkeleri destekliyor?

Kapsam küreseldir ve canlı stokla birlikte değişir. GET /v1/countries desteklenen ülkeleri, GET /v1/services/{slug}/countries ise bir servisin şu anda tam olarak nerede numarası olduğunu fiyatlarıyla listeler.

API, SMS-Activate ile uyumlu mu?

Evet. Yerel REST API'nin yanında protokol uyumlu bir endpoint vardır; SMS-Activate API'si için yazılmış araçlar ve kütüphaneler çalışmaya devam eder. Eşleme için SMS-Activate uyumlu API dokümanları sayfasına bakın.

SMS gelmezse ne olur?

Aktivasyonun süresi dolar ve tutar bakiyenize otomatik iade edilir. Kullanılmayan bir aktivasyonu DELETE /v1/activations/{id} ile erken de iptal edebilirsiniz.

Doğrulama kodları ne kadar hızlı gelir?

Teslim hızı hedef servise göre değişir ama kodların çoğu saniyeler içinde gelir. Katalog, ülke başına avgArrivalSeconds alanı sunar; hızlı rotaları programatik seçebilirsiniz.

Telefon doğrulama API'si ile SMS doğrulama API'si aynı şey mi?

Pratikte iki isim aynı işi anlatır: bir numaraya kod ulaştırıp o kodu geri okuyarak numaranın gerçek olduğunu kanıtlamak. Bu API, o döngünün alma tarafıdır. Numarayı tedarik eder ve gelen OTP'yi döndürür; başka platformlarda telefon doğrulamasından geçmek veya kendi kayıt akışınızı test etmek için gereken budur. SMS olmadan yalnızca numara puanlayan lookup tarzı ürünler ayrı bir kategoridir.

Keşfetmeye devam edin

Tek seferlik koddan çok numaranın kendisi mi lazım? sanal numara API'si rehberini okuyun. Günlerce sizde kalacak bir numara mı? numara kiralama sayfasına bakın.

Doğrulama akışınızı bugün yayına alın