OnayVia API

OnayVia API Dokümantasyonu

OnayVia API ile SMS doğrulama servislerini programatik olarak kullanabilirsiniz. Bu dokümantasyon tüm endpoint'leri, parametreleri ve örnek yanıtları içerir.

Base URL: https://onayvia.com/api

Giriş

OnayVia API, REST tabanlı bir API'dir. Tüm yanıtlar JSON formatındadır. Public endpoint'ler kimlik doğrulama gerektirmez, diğer endpoint'ler API key ile kimlik doğrulama gerektirir.

API anahtarınızı Profil sayfanızdan oluşturabilir veya yenileyebilirsiniz.

Kimlik Doğrulama

Kimlik doğrulama gerektiren endpoint'lerde API anahtarınızı URL'ye ekleyerek kullanabilirsiniz:

/api/{API_KEY}/getBalance

Alternatif olarak api_key query parametresi de kullanılabilir:

/api/getBalance?api_key={API_KEY}

Hata Kodları

KodAçıklama
200Başarılı
400Geçersiz parametre
401API key gerekli
403Geçersiz API key
429Rate limit aşıldı

Rate Limiting

Her IP adresi için dakikada en fazla 60 istek gönderebilirsiniz. Limit aşıldığında 429 yanıtı döner.

Kategorileri Listele

GET PUBLIC /api/getCategories

Tüm aktif kategorileri listeler. Kimlik doğrulama gerektirmez.

Örnek İstek

curl https://onayvia.com/api/getCategories
$ch = curl_init('https://onayvia.com/api/getCategories');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($response);
import requests

response = requests.get('https://onayvia.com/api/getCategories')
data = response.json()
print(data)
const response = await fetch('https://onayvia.com/api/getCategories');
const data = await response.json();
console.log(data);

Örnek Yanıt

[
  { "id": 1, "name": "WhatsApp" },
  { "id": 2, "name": "Telegram" },
  { "id": 3, "name": "Instagram" }
]

Kategorideki Servisleri Listele

GET PUBLIC /api/getServices/{category_id}

Belirtilen kategorideki tüm aktif servisleri listeler.

ParametreTipZorunluAçıklama
category_idintegerEvetKategori ID

Örnek İstek

curl https://onayvia.com/api/getServices/1
$ch = curl_init('https://onayvia.com/api/getServices/1');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
import requests
response = requests.get('https://onayvia.com/api/getServices/1')
data = response.json()

Örnek Yanıt

[
  { "id": 10, "name": "WhatsApp - Türkiye", "category": "1" },
  { "id": 11, "name": "WhatsApp - Rusya", "category": "1" }
]

Servis Detayları

GET PUBLIC /api/getServiceDetails/{service_id}

Bir servisin fiyat ve stok bilgilerini getirir.

ParametreTipZorunluAçıklama
service_idintegerEvetServis ID

Örnek Yanıt

{
  "id": "10",
  "price": "12.50",
  "stock": 150
}

Bakiye Sorgula

GET AUTH /api/{api_key}/getBalance

Hesabınızdaki mevcut bakiyeyi sorgular.

Örnek İstek

curl https://onayvia.com/api/YOUR_API_KEY/getBalance
$apiKey = 'YOUR_API_KEY';
$ch = curl_init("https://onayvia.com/api/{$apiKey}/getBalance");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
echo "Bakiye: " . $response['balance'];
import requests
api_key = 'YOUR_API_KEY'
response = requests.get(f'https://onayvia.com/api/{api_key}/getBalance')
print(response.json())

Örnek Yanıt

{
  "balance": 250.00
}

Numara Satın Al

GET AUTH /api/{api_key}/getNumber/{service_id}

Belirtilen servisten bir numara satın alır. Bakiyenizden otomatik olarak düşülür.

ParametreTipZorunluAçıklama
service_idintegerEvetServis ID

Örnek İstek

curl https://onayvia.com/api/YOUR_API_KEY/getNumber/10
$apiKey = 'YOUR_API_KEY';
$serviceId = 10;
$ch = curl_init("https://onayvia.com/api/{$apiKey}/getNumber/{$serviceId}");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);

if ($response['success']) {
    echo "Numara: " . $response['number'];
    echo "Numara ID: " . $response['number_id'];
}

Başarılı Yanıt

{
  "success": true,
  "title": "",
  "message": "",
  "number_id": 12345,
  "number": "+905xxxxxxxxx"
}

Hata Yanıtı

{
  "success": false,
  "title": "Error",
  "message": "Yetersiz bakiye."
}

Mesaj Sorgula

GET AUTH /api/{api_key}/getMessage/{number_id}

Satın alınan numaraya gelen SMS kodunu sorgular. Mesaj henüz gelmediyse status: 0, geldiyse status: 1, numara iptal edildiyse status: -1 döner.

ParametreTipZorunluAçıklama
number_idintegerEvetgetNumber'dan dönen numara ID

Örnek İstek

curl https://onayvia.com/api/YOUR_API_KEY/getMessage/12345
$apiKey = 'YOUR_API_KEY';
$numberId = 12345;
$ch = curl_init("https://onayvia.com/api/{$apiKey}/getMessage/{$numberId}");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);

if ($response['status'] == 1) {
    echo "SMS Kodu: " . $response['code'];
} elseif ($response['status'] == 0) {
    echo "Mesaj henüz gelmedi, tekrar deneyin.";
}

Mesaj Geldi

{
  "code": "123456",
  "id": "12345",
  "status": 1
}

Mesaj Bekleniyor

{
  "code": null,
  "id": "12345",
  "status": 0
}

Numara İptal Et

GET AUTH /api/{api_key}/cancelNumber/{number_id}

Satın alınan numarayı iptal eder. 2 dakika bekleme süresinden sonra ve mesaj gelmediyse iptal ile iade yapılabilir.

ParametreTipZorunluAçıklama
number_idintegerEvetİptal edilecek numara ID

Başarılı Yanıt

{
  "success": true,
  "title": "",
  "message": "Numara iptal edildi ve bakiyeniz iade edildi."
}
Önemli: API anahtarınızı gizli tutun ve sunucu tarafında kullanın. İstemci tarafında (JavaScript, mobil uygulama) doğrudan kullanmayın.