ARNPROXY

Webhook bildirimleri

Webhook, HTTPS alıcınıza gönderilen isteğe bağlı imzalı bildirimdir. Durum sorguları kullanılmaya devam eder; API kullanmak için webhook kurmak zorunlu değildir.

API hesabım

Alıcıyı API hesabınızdan etkinleştirin. Genel HTTPS/443 zorunludur; yönlendirme, sorgu parametresi ve URL içi kimlik bilgisi desteklenmez. Adres, etkinlik veya imza değişirse eski bekleyen olaylar iptal edilir. Geçmiş işlemler topluca bildirilmez.

Yalnız desteklenen yeni API işlemleri izlenir; her HTTP yanıtı veya web sitesi siparişi bildirilmez. Bildirimler güvenli kimlik ve durum bilgisi içerir; API anahtarı veya proxy şifresi içermez. timestamp yerel UTC gözlemidir; dakikalık işçi nedeniyle gecikme olabilir.

Olay türleri

TürDurum
webhook.testtest
order.acceptedaccepted
order.delivereddelivered
order.action_requiredaction_required
order.canceledcanceled
renewal.completedcompleted
extra_login.operation.completedcompleted
extra_login.operation.rejectedrejected
extra_login.operation.action_requiredaction_required
proxy_ip.operation.completedcompleted
proxy_ip.operation.rejectedrejected
proxy_ip.operation.action_requiredaction_required
proxy_ip.authorization.revokedrevoked
residential_list.operation.completedcompleted
residential_list.operation.rejectedrejected
residential_list.operation.action_requiredaction_required
auto_renewal.configuration.completedcompleted
application/json
{
    "id": "evt_0123456789abcdef0123456789abcdef",
    "type": "order.delivered",
    "timestamp": "2026-10-26T12:00:00+00:00",
    "api_version": "1",
    "data": {
        "account_id": 12345,
        "order_id": 12345,
        "number": "1000012345",
        "product": "proxy",
        "state": "delivered",
        "quantity": 1,
        "mode": null,
        "gb": null,
        "reason_code": null,
        "provider_live_check": false
    }
}

İmza doğrulama

Ayrı webhook anahtarıyla webhook-id, webhook-timestamp ve webhook-signature başlıklarını doğrulayın. whsec_ önekini çıkarıp anahtarı Base64 çözün; aşağıdaki ham gövde yapısını HMAC-SHA256 ile imzalayıp sabit süreli karşılaştırın. Zaman için 300 saniye tolerans uygulayın.

HMAC-SHA256
signed_content = webhook_id + "." + webhook_timestamp + "." + raw_body
webhook_signature = "v1," + Base64(HMAC_SHA256(decoded_secret, signed_content))

Gönderim ve tekrar denemeler

Olay ID’sini tekilleştirerek işleyin. Bildirim tekrarlanabilir ve sırasız gelebilir. Kabul edince 2xx dönün. En fazla 7 denemede 1 dk, 5 dk, 30 dk, 2 sa, 6 sa ve 24 sa gecikmeleri kullanılır. Tekrarlanan yalnız bildirimdir, asıl işlem değildir.

HTTP 2xx gönderimi doğrular. HTTP 408/429/5xx ve geçici ağ hataları tekrar denenebilir. Diğer 4xx ve yönlendirmeler kalıcı hatadır. Tekrar gönderimde olay ID’si ve gövde aynı kalır, imza zamanı yenilenir.

Geçerli dilde arar. Kapatmak için Esc