Geliştiriciler · Webhook'lar

Off-ramp yaşam döngüsü için HMAC imzalı webhook'lar.

Ürününüzün asenkron yaşam döngüsü durumuna ihtiyacı olduğunda, webhook uç noktaları kaydedin ve her teslimatı doğrulayın. İmza, zaman damgasını tam ham gövdeye bağlar, böylece kurcalanmış veya yeniden oynatılmış yükleri reddedebilirsiniz.

01

Yaşam döngüsü olayları

OlayAnlamı
deposit.createdBase üzerinde bir satıcı mevduatı oluşturuldu
deposit.partially_filledBir mevduat kısmen dolduruldu
deposit.filledBir mevduat tamamen dolduruldu
deposit.closedBir satıcı kalan bakiyeyi kapattı veya çekti
otc.takenÖzel bir OTC mevduatı onaylı alıcı tarafından alındı
02

Her teslimatı doğrulayın

  1. 1X-Usdctofiat-Signature başlığını t=<unix>,v1=<hex> biçiminde okuyun.
  2. 2İmzalı yükü, ham ve ayrıştırılmamış gövdeyi kullanarak timestamp.rawBody dizesi olarak oluşturun.
  3. 3O yük üzerinde uç nokta gizli anahtarınızla HMAC-SHA256 hesaplayın.
  4. 4Olaya güvenmeden önce v1 hex değerine karşı sabit zamanda karşılaştırın.
  5. 5İsteğe bağlı olarak zaman damgası seçtiğiniz pencereden eski olan teslimatları reddedin.
03

Yeniden oynatma koruması sizin seçiminiz

Starter deposundaki referans alıcı, yeniden oynatmalara karşı korunmak için 5 dakikadan eski zaman damgalarını bayat olarak değerlendirir. Bu pencere gönderen tarafından değil, sizin doğrulayıcınız tarafından zorunlu kılınır, böylece gecikmenize ve yeniden deneme toleransınıza uydurmak için onu daraltabilir veya gevşetebilirsiniz.

İmza timestamp.rawBody'yi kapsadığı için, JSON'u yalnızca HMAC kontrolü geçtikten sonra ayrıştırın. Ham baytlar yerine ayrıştırılmış nesneyi doğrulamak, imza doğrulamasını ince bir şekilde yanlış yapmanın en yaygın yoludur.

04

Kaydedin ve işletin

  • Uç noktaları Peerlytics API anahtarınızla kaydedin; tek bir anahtar offramp ve Peerlytics yüzeylerini doğrular.
  • Tekrarlanan ardışık teslimat başarısızlıklarına ulaşan uç noktalar, siz düzeltene kadar devre dışı bırakılabilir.
  • Bilinen-iyi bir HMAC doğrulama referansı olarak starter deposu alıcısını kullanın.
  • Webhook'ları durum ipuçları olarak değerlendirin; önemli olduğunda deposits() ile onchain gerçeğe karşı mutabakat sağlayın.

Common questions

USDCtoFiat webhook'ları nasıl imzalanır?

Her teslimat, timestamp.rawBody dizesi üzerinde bir HMAC-SHA256 olan X-Usdctofiat-Signature: t=<unix>,v1=<hex> taşır. HMAC'i uç nokta gizli anahtarınızla ham gövde üzerinde yeniden hesaplayın ve olaya güvenmeden önce sabit zamanda karşılaştırın.

Yeniden oynatılan webhook'ları nasıl önlerim?

İmzalı zaman damgası sizin seçtiğiniz bir pencereden eski olan teslimatları reddedin. Referans alıcı 5 dakika kullanır. Gönderen bir pencere zorunlu kılmaz, dolayısıyla bu sizin doğrulayıcınızın sorumluluğundadır.

Webhook'lar için bir API anahtarına ihtiyacım var mı?

Evet. Mevduat oluşturmak izin gerektirmez, ancak webhook uç noktalarını kaydetmek bir Peerlytics API anahtarı kullanır. Aynı anahtar Peerlytics API'sini de doğrular.