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.
Kimlik Doğrulama
Kimlik doğrulama gerektiren endpoint'lerde API anahtarınızı URL'ye ekleyerek kullanabilirsiniz:
/api/{API_KEY}/getBalanceAlternatif olarak api_key query parametresi de kullanılabilir:
/api/getBalance?api_key={API_KEY}Hata Kodları
| Kod | Açıklama |
|---|---|
200 | Başarılı |
400 | Geçersiz parametre |
401 | API key gerekli |
403 | Geçersiz API key |
429 | Rate 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
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
Belirtilen kategorideki tüm aktif servisleri listeler.
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
category_id | integer | Evet | Kategori 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ı
Bir servisin fiyat ve stok bilgilerini getirir.
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
service_id | integer | Evet | Servis ID |
Örnek Yanıt
{
"id": "10",
"price": "12.50",
"stock": 150
}Bakiye Sorgula
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
Belirtilen servisten bir numara satın alır. Bakiyenizden otomatik olarak düşülür.
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
service_id | integer | Evet | Servis 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
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.
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
number_id | integer | Evet | getNumber'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
Satın alınan numarayı iptal eder. 2 dakika bekleme süresinden sonra ve mesaj gelmediyse iptal ile iade yapılabilir.
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
number_id | integer | Evet | İptal edilecek numara ID |
Başarılı Yanıt
{
"success": true,
"title": "",
"message": "Numara iptal edildi ve bakiyeniz iade edildi."
}