Kendi sitenizden veya uygulamanızdan otomatik sanal numara alın, doğrulama kodunu çekin, kod gelmezse iptal edip bakiyenize iade alın. REST, JSON, tek başlıkla kimlik doğrulama.
Her istekte X-API-Key başlığını gönderin:
X-API-Key: a1b2c3d4e5f60718293a4b5c6d7e8f90
Alternatif olarak Authorization: Bearer a1b2c3d4e5f6... da kabul edilir.
https://onaymatik.org/api/v1
Bağlantı testi. Anahtar gerekmez.
curl https://onaymatik.org/api/v1/ping
Hesap bakiyeniz.
{"ok":true,"data":{"balance":250.75,"currency":"TRY","email":"siz@ornek.com"}}
Servis kataloğu: her servisin fiyatı, stoğu ve ülke kırılımı. Sipariş verirken buradaki
id ve ülke id değerlerini kullanın.
Ülke listesi.
Numara satın alır. Tutar anında bakiyenizden düşer.
| Alan | Tip | Açıklama |
|---|---|---|
serviceId | string | /services içindeki id |
countryId | string | /countries içindeki id |
curl -X POST https://onaymatik.org/api/v1/order \
-H "X-API-Key: a1b2c3d4e5f6..." \
-H "Content-Type: application/json" \
-d '{"serviceId":"s1_wa","countryId":"tr"}'
Yanıt:
{
"order": {
"id": "ord_a1b2c3",
"service": "WhatsApp",
"country": "Türkiye",
"number": "905xxxxxxxxx",
"code": "",
"status": "bekliyor",
"price": 12.5,
"createdAt": "2026-09-13T10:00:00.000Z"
},
"balance": 238.25
}
Tek siparişin güncel durumu. Kodu buradan alırsınız. Kod geldiğinde
code alanı dolar ve status tamamlandı olur.
curl https://onaymatik.org/api/v1/order/ord_a1b2c3 \
-H "X-API-Key: a1b2c3d4e5f6..."
Son siparişleriniz (en fazla 20) ve güncel bakiye.
Kod gelmediyse siparişi iptal eder ve tutar otomatik olarak bakiyenize iade edilir.
1. POST /api/v1/order → numarayı al, order.id'yi sakla
2. GET /api/v1/order/{id} → 3-5 saniyede bir sor, code doldu mu?
3a. Kod geldi → işin bitti
3b. 2 dk geçti, kod yok → POST /api/v1/order/{id}/cancel → iade
<?php
$ANAHTAR = 'a1b2c3d4e5f6...';
$TABAN = 'https://onaymatik.org/api/v1';
function cagir($yol, $govde = null) {
global $ANAHTAR, $TABAN;
$ch = curl_init($TABAN . $yol);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['X-API-Key: ' . $ANAHTAR, 'Content-Type: application/json'],
]);
if ($govde !== null) curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($govde));
$y = curl_exec($ch); curl_close($ch);
return json_decode($y, true);
}
$s = cagir('/order', ['serviceId' => 's1_wa', 'countryId' => 'tr']);
$id = $s['order']['id'];
for ($i = 0; $i < 40; $i++) { // ~2 dakika boyunca yokla
sleep(3);
$d = cagir('/order/' . $id);
if (!empty($d['data']['code'])) { echo "KOD: " . $d['data']['code']; exit; }
}
cagir('/order/' . $id . '/cancel', []); // kod gelmedi → iade
echo "Kod gelmedi, iade edildi.";
| HTTP | Anlamı |
|---|---|
401 | Anahtar yok, geçersiz ya da iptal edilmiş |
402 | Yetersiz bakiye |
403 | Hesap askıya alınmış |
404 | Servis, ülke ya da sipariş bulunamadı |
409 | Stok yok ya da fiyat değişti — tekrar deneyin |
425 | İptal için henüz erken (2 dk dolmadı) |
429 | Çok fazla istek (dakikada 120) ya da önceki alım sürüyor |
503 | Site bakımda |
Hata yanıtları her zaman bir error alanı içerir.
Size verilen anahtar belirli bir servis ve/veya ülkeyle sınırlandırılmış olabilir. Örneğin yalnızca Türkiye WhatsApp numarası alabilen bir anahtar gibi.
Anahtarınızın neyle sınırlı olduğunu görmek için /services ve /countries
uçlarını çağırın — kısıtlıysa bu uçlar yalnızca izinli olanı döndürür. İzin dışında bir
sipariş denerseniz 403 alırsınız:
{
"ok": false,
"error": "Bu anahtar yalnızca \"WhatsApp\" servisinden numara alabilir (serviceId: s1_wa).",
"code": "SERVICE_NOT_ALLOWED"
}
Kısıt kodları: SERVICE_NOT_ALLOWED, COUNTRY_NOT_ALLOWED.
Sınırınızın değişmesini istiyorsanız bize yazın.
429 alır./services ile güncel fiyata bakın.