sms.tcsms.tc
Geliştirici6 dk okuma

SMS Onay API: sms.tc Entegrasyonu Dakikalar İçinde (2026)

sms.tc SMS onay API'si ile kendi kodunuzdan sanal numara satın alabilir, gelen doğrulama kodlarını okuyabilir ve aktivasyonları tamamlayıp iptal edebilirsiniz. Bu rehber kimlik doğrulamayı, REST ve SMS-Activate uyumlu endpoint'leri, örnek akışı ve hata yönetimini anlatıyor.

person sms.tc Ekibi·
SMS Onay API: sms.tc Entegrasyonu Dakikalar İçinde (2026)

Kısa cevap: SMS onay API'si, yazılımınızın sanal telefon numarası satın almasını, doğrulama SMS'ini beklemesini ve kodu otomatik olarak okumasını sağlar. sms.tc SMS onay API'si iki arayüz sunar: https://sms.tc/api/v1 adresinde JSON REST API (teklifleri listeleme, numara satın alma, kodu okuma, katalog, kiralama) ve https://sms.tc/stubs/handler_api.php adresinde SMS-Activate uyumlu bir endpoint. Her ikisi de sms.tc profilinizdeki API anahtarını kullanır ve hesap bakiyenizden USD cinsinden ücret düşer.

SMS Onay API'si Nedir?

SMS onay API'si, normalde SMS Aktivasyon sayfasında elle yaptığınız işlemi programatik olarak yapmanın yoludur: servis ve ülke seçmek, numara almak ve tek kullanımlık kodu almak. Tipik kullanım alanları arasında kendi kayıt akışlarını test eden QA ekipleri, dahili araç geliştiren yazılımcılar ve hâlihazırda SMS-Activate tarzı yazılım kullanıp bunu başka bir sağlayıcıya yönlendirmek isteyen bayiler bulunur.

sms.tc çok sağlayıcılı bir toplayıcıdır (aggregator): tek bir API ile birden fazla üst sağlayıcıdan numara alırsınız, fiyatlandırma sms.tc fiyatları üzerinden yapılır.

İki Arayüz: REST ve SMS-Activate Uyumlu API

REST API SMS-Activate uyumlu API
Base URL https://sms.tc/api/v1 https://sms.tc/stubs/handler_api.php
Kimlik doğrulama Authorization: Bearer <key> veya X-Api-Key: <key> ?api_key=<key> query parametresi
Format JSON, {"data": ...} zarfı Düz metin token'lar, V2/list action'ları için JSON
En uygun Yeni entegrasyonlar, katalog ve teklifler Mevcut SMS-Activate istemcileri, kod okuma

REST API tüm akışı kapsar (teklifler, satın alma, kodu okuma). Uyumlu endpoint ise elinizde zaten bir SMS-Activate istemcisi varsa işinize yarar.

Adım 1: API Anahtarınızı Alın

  1. sms.tc üzerinde ücretsiz hesap açın ve bakiye yükleyin.
  2. Profil, API bölümünü açıp bir anahtar oluşturun. Anahtar yalnızca bir kez gösterilir, güvenli bir yerde saklayın.
  3. İsterseniz anahtarı belirli IP adresleriyle sınırlayabilir ve bir son kullanma tarihi belirleyebilirsiniz. Anahtarı yeniden oluşturmak eskisini iptal eder.

Adım 2: Servis ve Ülke Kodlarını Bulun

sms.tc, SMS-Activate'in standart kodlarını kullanır: servisler kısa kodlardır (örneğin Telegram için tg, WhatsApp için wa, Instagram için ig), ülkeler ise sayısal ID'lerdir. Listeleri koda sabit yazmak yerine güncel hâllerini çekin:

curl https://sms.tc/api/v1/catalog/services -H "Authorization: Bearer YOUR_API_KEY"
curl https://sms.tc/api/v1/catalog/countries -H "Authorization: Bearer YOUR_API_KEY"
curl https://sms.tc/api/v1/catalog/prices -H "Authorization: Bearer YOUR_API_KEY"

Adım 3: Teklifleri Kontrol Edin

GET /api/v1/activations/offers, mevcut numaraları servis ve ülkeye göre gruplanmış olarak döndürür: prices, counts, bir fiyat map'i ve rate alanı (sms.tc'nin kendi sonuçlanmış aktivasyonlarından SMS alanların oranı; yeterli veri yoksa null). services ve countries query parametreleriyle filtreleyin:

curl "https://sms.tc/api/v1/activations/offers?services=tg&countries=6" \
  -H "Authorization: Bearer YOUR_API_KEY"

Sağlayıcı bazında döküm (sağlayıcı, operatör, stok, fiyat, oran) için GET /api/v1/activations/offers/providers?service=tg&country=6 çağrısını kullanın.

Adım 4: Numara Satın Alın

curl -X POST https://sms.tc/api/v1/activations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"service":"tg","country":6}'

Zorunlu alanlar service ve country; isteğe bağlı alanlar operator ve maxPrice'tır (USD cinsinden üst fiyat limiti). Başarılı bir satın alma HTTP 201 döndürür:

{
  "data": {
    "activationId": "123456",
    "phoneNumber": "628712345678",
    "activationCost": 0.1,
    "currency": 840,
    "countryCode": 6,
    "countryPhoneCode": 62,
    "canGetAnotherSms": true,
    "activationTime": "2026-10-11T10:00:00+00:00",
    "activationEndTime": "2026-10-11T10:20:00+00:00",
    "activationOperator": "any",
    "status": "pending",
    "smsCode": null
  }
}

Adım 5: Doğrulama Kodunu Okuyun

GET /api/v1/activations/{id} endpoint'ini yaklaşık 5 saniyede bir sorgulayın (polling). SMS geldiğinde status değeri received olur ve smsCode kodu içerir:

curl https://sms.tc/api/v1/activations/123456 -H "Authorization: Bearer YOUR_API_KEY"
{ "data": { "activationId": "123456", "status": "received", "smsCode": "527081" } }

Zaten bir SMS-Activate istemcisi kullanıyorsanız bunun yerine uyumlu endpoint üzerinde getStatus sorgulayabilirsiniz:

curl "https://sms.tc/stubs/handler_api.php?api_key=YOUR_API_KEY&action=getStatus&id=123456"
Yanıt Anlamı
STATUS_WAIT_CODE SMS bekleniyor
STATUS_OK:12345 Kod geldi; kod iki noktadan sonra yer alır
STATUS_WAIT_RETRY:12345 Tekrar denemeden sonra yeni SMS bekleniyor
STATUS_CANCEL Aktivasyon iptal edildi veya süresi doldu

SMS'in tam metnini JSON olarak almak isterseniz action=getStatusV2 kullanın. Yaklaşık 5 saniyede bir sorgulayın; kodlar genellikle 10-60 saniye içinde gelir.

Adım 6: Tamamlayın veya İptal Edin

Aktivasyonu tamamlamak için action=setStatus çağrısını status=6 ile, yeni SMS istemek için status=3 ile, iptal edip iade almak için status=8 ile yapın. SMS gelmemiş bir aktivasyonu iptal etmek ücreti bakiyenize iade eder. Bazı sağlayıcılar minimum bekleme süresi uygular; bu durumda süre dolana kadar iptal isteği EARLY_CANCEL_DENIED döndürür.

Hata Yönetimi

REST API, HTTP durum koduyla birlikte JSON {"title", "details"} döndürür; uyumlu endpoint ise HTTP 200 ile düz metin token'lar döndürür.

Kod Nerede Anlamı
401 Unauthenticated / NO_KEY, BAD_KEY İkisi de Anahtar eksik, geçersiz, süresi dolmuş veya IP'ye izin verilmiyor
403 NO_BALANCE / NO_BALANCE İkisi de Yetersiz bakiye
404 NO_NUMBERS / NO_NUMBERS İkisi de Bu servis ve ülke için stok yok
404 WRONG_SERVICE, WRONG_COUNTRY REST Bilinmeyen servis veya ülke kodu
404 OFFER_NOT_FOUND REST Filtreyle eşleşen teklif yok
422 UNPROCESSABLE REST Doğrulama başarısız (bkz. errors)
429 RATE_LIMIT REST Çok fazla istek; Retry-After değerine uyun

İstekler hesap başına hız sınırına (rate limit) tabidir; satın alma endpoint'lerinde sınırlar daha sıkıdır. E-posta aktivasyonları ve kiralama endpoint'leri (/rent/offers, POST /rent, /rent/{id}, /rent/{id}/prolong) dahil tam referans, indirilebilir OpenAPI spesifikasyonuyla birlikte API dokümantasyonu sayfasında yer alır. Resmi bir SDK yoktur; herhangi bir HTTP istemcisi çalışır, mevcut SMS-Activate istemcilerinde ise yalnızca base URL ve anahtarın değiştirilmesi yeterlidir.

API'yi Sorumlu Kullanın

SMS onay API'sini kendi ürünlerinizi test etmek veya kendi hesaplarını doğrulayan müşterilerinize hizmet vermek için kullanın. Toplu hesap açmak, spam göndermek veya kişi başına tek hesap gibi platform kurallarını aşmak için kullanmayın.

İlgili yazılar: SMS onay nedir ve online SMS onay nasıl yapılır.

Sık Sorulan Sorular

sms.tc SMS onay API'si nedir?

sms.tc SMS onay API'si, sanal numara satın almak ve doğrulama kodlarını programatik olarak okumak için REST ve SMS-Activate uyumlu bir arayüzdür. sms.tc bakiyenizi ve profilinizdeki API anahtarını kullanır.

sms.tc API'sinde kimlik doğrulama nasıl yapılır?

sms.tc REST API'si anahtarı Authorization: Bearer header'ında veya X-Api-Key header'ında kabul eder. SMS-Activate uyumlu endpoint ise anahtarı api_key query parametresinden okur.

sms.tc API'si SMS-Activate yazılımlarıyla uyumlu mu?

Evet. /stubs/handler_api.php adresindeki sms.tc endpoint'i getNumber, getStatus, setStatus ve getBalance dahil SMS-Activate protokolünü birebir uygular; mevcut SMS-Activate istemcileri base URL ve API anahtarı değiştirildikten sonra çalışır.

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

sms.tc REST API'si, status değeri received olduğunda kodu GET /api/v1/activations/{id} yanıtındaki smsCode alanında döndürür. SMS-Activate istemcileri bunun yerine uyumlu endpoint üzerinde getStatus (STATUS_OK:<code>) kullanabilir. Kod gelene kadar birkaç saniyede bir sorgulayın.

SMS gelmezse ücret ödüyor muyum?

Hayır. SMS gelmezse aktivasyonu setStatus status 8 veya cancelActivation ile iptal edin; sms.tc ücreti bakiyenize iade eder. Süresi dolan aktivasyonlar otomatik olarak iade edilir.

sms.tc API'si hangi para birimini kullanıyor?

sms.tc API'si tüm fiyat ve bakiyelerde ABD doları (ISO 4217 kodu 840) kullanır.

Resmi bir sms.tc SDK'sı var mı?

Hayır. sms.tc API'si JSON veya düz metin yanıtları olan sade bir HTTP API'sidir, bu yüzden her dilde herhangi bir HTTP istemcisi çalışır. API dokümantasyonu sayfasında bir OpenAPI spesifikasyonu mevcuttur.

Özet

  • sms.tc SMS onay API'sinin bir REST arayüzü ve bir SMS-Activate uyumlu endpoint'i vardır.
  • POST /api/v1/activations ile satın alın, smsCode değerini GET /api/v1/activations/{id} üzerinden okuyun, uyumlu endpoint'te setStatus ile tamamlayın veya iptal edin.
  • Servis ve ülke kodlarını bulmak için katalog endpoint'lerini kullanın.
  • SMS gelmeden iptal edilen veya süresi dolan aktivasyonlar iade edilir.

sms.tc hesabınızı açın ve API anahtarınızı alın, ardından tam API dokümantasyonunu inceleyin.

#sms onay api #sms aktivasyon api #sanal numara api #sms-activate uyumlu api #otp api

Sanal numaranı almaya hazır mısın?

100+ ülkede 50+ servis için SMS doğrulama kodu al.

Ücretsiz başla arrow_forward