Siparişi ilk request_id ve değişmeyen parametrelerle yeniden gönderin. Bağlantı zaman aşımına uğradı diye yeni anahtar üretmeyin. NotPanel kabul edilen siparişi döndürebilir veya işlem sürüyorsa beklemenizi isteyebilir.
Müşteriniz tek satın alma yaptı. Panele gönderimden sonra yanıt kaybolursa sonraki adım bu satın almayı bulmaktır; belirsizlik yeni satın alma gerekçesi değildir.
Zaman aşımı üç ihtimal bırakır
- İstek ulaşmadı ve sipariş kabul edilmedi.
- Sipariş kabul edildi, fakat yanıt kayboldu.
- İstek işleniyor ve sonucu henüz bilinmiyor.
Zaman aşımı bu durumları ayırt etmez. HTTP tek başına sipariş oluşturan POST isteğini tekrar etmeyi güvenli kılmaz; korumayı API sözleşmesi sağlar. Bkz. RFC 9110, §9.2.2.
NotPanel yeniden denemeyi nasıl tanır?
request_id isteğe bağlıdır, boş olamaz ve en fazla 128 karakter içerir. idempotency_key uyumluluk takma adıdır; ikisi birlikte verilirse request_id kullanılır. Aynı hesap, anahtar ve tüm sipariş parametrelerini koruyun. Kabul edilen sipariş ilk ID’sini döndürür; aynı anahtarın farklı parametrelerle kullanılması reddedilir.
İki alan da yoksa NotPanel aynı hesaptaki özdeş add isteklerini 60 saniye korur. Daha geç tekrarlar için bu kısa süreye güvenmeyin. Sonucu belirsiz istekler kontrol sürerken korunur.
Bu süre içinde bilinçli olarak verilen iki özdeş satın alma da tek istek sayılır. Hemen iki ayrı sipariş oluşturmak için her yeni satın almaya ayrı request_id verin. Belirsiz bir sonucu aşmak amacıyla anahtarı değiştirmeyin.
Sipariş oluşturma parametreleri ve yanıtları
Zaman aşımından sonra ilk request_id değerini koruyun.
Aynı anahtar ve değişmeyen sipariş bilgileriyle tekrar deneyin.
Bulunan sipariş ID’sini kaydedin; sonuç belirsizse bekleyin.
Göndermeden önce satın almayı tanımlayın
8427 numaralı satın almanın bir satırı için request_id ve tüm parametreleri ilk denemeden önce kaydedin. Şema yer tutucular ve satır sonları kullanır; gerçek formu normal biçimde kodlayın. Gerçek değerleri yalnızca ücretli sipariş vermek istediğinizde gönderin.
POST https://notpanel.com/api/v3
Content-Type: application/x-www-form-urlencoded
key=YOUR_API_KEY
&action=add
&service=YOUR_SERVICE_ID
&link=YOUR_TARGET_URL
&quantity=YOUR_VALID_QUANTITY
&request_id=checkout-8427-line-1Zaman aşımından sonra checkout-8427-line-1 değerini aynı hizmet, hedef, miktar ve isteğe bağlı alanlarla gönderin; uygulama yeniden başlasa da bunu koruyun. Dönen sipariş ID’sini kaydedip status için kullanın. request_id oluşturma isteğini tanımlar, durum sorgusunda sipariş ID’sinin yerine geçmez.
Yanıtın tamamını okuyun
- Zaman aşımı veya belirsiz yanıt
- Anahtarı ve parametreleri koruyun. Deneme sayısını sınırlayın, aralık bırakın ve Retry-After değerine uyun. Denemeler bitince çözülmemiş kaydı saklayın.
- REQUEST_PROCESSING veya REQUEST_UNCONFIRMED
- Bekleyip yalnızca ilk isteği yineleyin. Başka anahtarla yerine yeni sipariş açmayın.
- REQUEST_ID_CONFLICT
- Kaydedilen parametreleri karşılaştırın. İlk sipariş için ilk bilgileri geri yükleyin; yeni anahtar yalnızca bilinçli olarak ayrı bir satın alma içindir.
- Doğrulama, kimlik veya istek sınırı hatası
- error_code ve retryable alanlarını okuyun. Verileri veya kimlik bilgilerini düzeltin ve bekleme sürelerine uyun. Her hatayı otomatik tekrarlamayın.
Müşteri siparişlerinden önce kurtarmayı test edin
Kendi test ortamınızda sahte bir API ile başlayın. Gerçek satın alma veya özel NotPanel test anahtarı gerekmez.
- Kabul edilmiş siparişin yanıtını kaybettirin; aynı anahtar ve parametrelerin tekrar kullanıldığını doğrulayın.
- İstemciyi yeniden başlatıp kayıtlı kimliği geri alın.
- Önce işleniyor, sonra başarı yanıtını taklit edin; tek sipariş ID’si saklanmalı.
- Çakışma veya tekrar edilemeyen hata verin; otomatik denemeler durmalı.
- İki yeni özdeş satın alma için ayrı anahtar üretin. Sonraki gerçek testte istediğiniz bir sipariş kullanın ve siparişle cüzdan kayıtlarını kontrol edin.
Sık sorulan sorular
Zaman aşımı iki kez ücret alındığı anlamına mı gelir?
Hayır. Uygulamanın kullanılabilir yanıt almadığını gösterir. İki ücret olduğu sonucuna varmadan önce bulunan siparişi ve cüzdan kayıtlarını kontrol edin.
request_id zorunlu mu?
Hayır. request_id ve idempotency_key isteğe bağlıdır. Bunlar olmadan aynı hesaptaki özdeş add istekleri 60 saniye korunur. Açık bir anahtar her satın almanın kimliğini belirler.
Her denemede yeni anahtar üretmeli miyim?
Hayır. İlk denemeden önce bir anahtar kaydedip değişmeyen siparişle yeniden kullanın. Yeni satın alma yeni anahtar alır.
request_id ile status sorgulanabilir mi?
status sipariş ID’sini ister. İlk add isteğini aynı anahtar ve parametrelerle yineleyerek ID’yi bulun. Sonuç belirsiz kalırsa yeni sipariş açmadan bilgileri destek için saklayın.
Devam edin: entegrasyon rehberi · webhook ve durum sorguları · hata referansı.



