SMS API Platformu
SMS Onayla TR RESTful API v2 ile dakikada binlerce sanal numara tahsis edin, anlık SMS onay kodlarını webhook veya polling ile çekin, iptal ve iadeleri tam otomatik yönetin.
// İsteği göndermek için "İsteği Gönder" butonuna tıklayın. // GET /status için token girmenize gerek yoktur.
Authorization: Bearer <TOKEN> eklenmelidir. Token'ınızı doğrudan Profil > API Anahtarı sayfasından tek tıkla üretebilir veya POST /auth/createToken ucuna e-posta & şifre göndererek programatik olarak alabilirsiniz.
/number/smsList ucunu 3 ile 5 saniyelik aralıklarla sorgulamanız önerilir. Limit aşımında sistem 429 Too Many Requests döner.
API servislerinin, veritabanının ve sunucu motorunun ayakta olup olmadığını denetleyen sağlık kontrolü (Healthcheck) ucudur. UptimeRobot vb. izleme servisleriyle tam uyumludur.
| Header | Değer | Açıklama |
|---|---|---|
| Accept | application/json |
JSON yanıt formatı isteği |
curl -X GET "https://smsonaylatr.com/api/v2/status" \
-H "Accept: application/json"
{
"status": "API is running"
}
Kullanıcı e-posta adresi ve şifresi ile oturum açarak tüm korumalı işlemlerde kullanacağınız Sanctum Bearer Token üretir.
| Parametre | Tip | Durum | Açıklama |
|---|---|---|---|
| string | Zorunlu | Sisteme kayıtlı kullanıcı e-posta adresi | |
| password | string | Zorunlu | Kullanıcı şifresi (Min 6 karakter) |
curl -X POST "https://smsonaylatr.com/api/v2/auth/createToken" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"email": "[email protected]",
"password": "your_password"
}'
{
"token": "1|abcdefghijklmnopqrstuvwxyz1234567890..."
}
Sistemdeki tüm aktif kategorileri (Türkiye v1, Almanya, İngiltere vb.) ve ülke telefon kodlarını listeler. Servisleri sorgulamak için kategori id değerini alırsınız.
| Alan | Tip | Açıklama |
|---|---|---|
id | integer | Kategori ID (Servis sorgularında kullanılır) |
title | string | Kategori / Ülke adı (Türkçe) |
title_en | string | Kategori / Ülke adı (İngilizce) |
code | string | Ülke telefon arama kodu (Örn: 90, 49) |
curl -X GET "https://smsonaylatr.com/api/v2/service/categories" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
{
"status": true,
"data": [
{
"id": 1,
"title": "Türkiye v1",
"title_en": "Turkey v1",
"code": "90"
},
{
"id": 2,
"title": "Almanya",
"title_en": "Germany",
"code": "49"
}
]
}
Seçilen kategoriye ait aktif servisleri (WhatsApp, Telegram, Google vb.) ve kullanıcınıza tanımlı özel indirimli fiyatları döner.
| Parametre | Tip | Durum | Açıklama |
|---|---|---|---|
| id | integer | Zorunlu | Kategori ID (Örn: 1) |
curl -X GET "https://smsonaylatr.com/api/v2/service/info?id=1" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
{
"status": true,
"data": {
"service": [
{
"id": 15,
"amount": 149.99,
"category_id": 1,
"country": "000",
"title": "Telegram"
}
],
"category": {
"id": 1,
"title": "Türkiye v1",
"code": "90"
}
}
}
Servisin anlık stok adedini ve çoklu SMS geçerlilik süresini (dakika, saat, gün) sorgular.
| Parametre | Tip | Durum | Açıklama |
|---|---|---|---|
| id | integer | Zorunlu | Servis ID (Örn: 15) |
curl -X GET "https://smsonaylatr.com/api/v2/service/stock?id=15" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
{
"status": true,
"data": {
"stock": 150,
"multi_duration": "30 Minutes"
}
}
Seçtiğiniz servisten hemen yeni bir sanal telefon numarası satın alır. Bakiye hesabınızdan tahsil edilir ve satın alınan numara benzersiz numberID ile döner.
| Parametre | Tip | Durum | Açıklama |
|---|---|---|---|
| id | integer | Zorunlu | Satın alınacak Servis ID (Örn: 15) |
curl -X POST "https://smsonaylatr.com/api/v2/number/buyNumber" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"id": 15}'
{
"status": true,
"message": "Number purchased successfully! Purchased number: +905015773268",
"numberID": 57155,
"number": "+905015773268"
}
Satın aldığınız tüm numaraları, bekleme durumlarını (WAIT, OK, CANCEL), kalan süre sayacını ve gelen tüm SMS'leri listeler.
curl -X GET "https://smsonaylatr.com/api/v2/number/getNumbers" \
-H "Authorization: Bearer YOUR_API_TOKEN"
{
"status": true,
"data": [
{
"id": 57103,
"number": "+905051423414",
"status": "WAIT",
"time": "00:12",
"timer": 1,
"serviceTitle": "Telegram",
"categoryTitle": "Türkiye v1"
}
]
}
Satın alınan belirli bir numaraya gelen tüm SMS doğrulama kodlarını ve zaman damgalarını liste halinde çeker.
| Parametre | Tip | Durum | Açıklama |
|---|---|---|---|
| id | integer | Zorunlu | Sipariş / Numara ID (Örn: 57103) |
curl -X GET "https://smsonaylatr.com/api/v2/number/smsList?id=57103" \
-H "Authorization: Bearer YOUR_API_TOKEN"
{
"status": true,
"data": [
{
"sms_text": "Hesabiniza giris yapmak icin kodunuz: 404355 B043",
"date": "2026-10-06T03:31:41.044291Z"
}
]
}
SMS gelmeyen ve beklemede olan (WAIT) siparişi iptal ederek tutarı anında kullanıcı bakiyesine geri yükler.
| Parametre | Tip | Durum | Açıklama |
|---|---|---|---|
| id | integer | Zorunlu | İptal edilecek sipariş ID (Örn: 57103) |
curl -X POST "https://smsonaylatr.com/api/v2/number/cancelNumber" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"id": 57103}'
{
"status": true,
"message": "Order has been successfully canceled."
}
"Türkiye v1" veya "Bet Siteleri" gibi uygun servislerde, ilk SMS'i başarıyla alınmış (OK durumundaki) numaraların bekleme süresini uzatır.
| Parametre | Tip | Durum | Açıklama |
|---|---|---|---|
| id | integer | Zorunlu | Numara ID |
curl -X POST "https://smsonaylatr.com/api/v2/number/extendNumberTime" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"id": 57103}'
import time, requests
API_TOKEN = "YOUR_BEARER_TOKEN"
BASE_URL = "https://smsonaylatr.com/api/v2"
HEADERS = {"Authorization": f"Bearer {API_TOKEN}", "Content-Type": "application/json"}
# 1. Numara Satın Al (Telegram: 15)
buy = requests.post(f"{BASE_URL}/number/buyNumber", headers=HEADERS, json={"id": 15}).json()
if not buy.get("status"):
exit(f"Hata: {buy.get('message')}")
num_id, phone = buy["numberID"], buy["number"]
print(f"Numara Alındı: {phone} (ID: {num_id})")
# 2. SMS Gelene Kadar 5 Saniyede Bir Kontrol Et
for _ in range(25):
time.sleep(5)
sms_res = requests.get(f"{BASE_URL}/number/smsList", headers=HEADERS, params={"id": num_id}).json()
if sms_res.get("data"):
print("🎉 SMS Kodu:", sms_res["data"][0]["sms_text"])
exit()
# 3. Kod Gelmediyse İptal Et & Bakiye İadesi Al
cancel = requests.post(f"{BASE_URL}/number/cancelNumber", headers=HEADERS, json={"id": num_id}).json()
print("İptal:", cancel.get("message"))
| Kod | Durum | Anlamı |
|---|---|---|
| 200 | OK | İstek başarıyla işlendi ve beklenen yanıt döndü. |
| 400 | Bad Request | Geçersiz istek parametreleri veya süresi geçmiş iptal isteği. |
| 401 | Unauthorized | Geçersiz veya eksik Bearer token. |
| 403 | Forbidden | Size ait olmayan siparişi okuma veya iptal etme yetkisizliği. |
| 404 | Not Found | Belirtilen servis, kategori veya sipariş bulunamadı. |
| 422 | Unprocessable | Parametre doğrulama hatası (Örn: geçersiz e-posta formatı). |
| 429 | Too Many Requests | Dakikada 300 istek hız sınırı aşıldı. |
| 503 | Maintenance | Servis bakımda, kısa süre sonra tekrar deneyiniz. |