Przejdź do treści
AchaduDevelopers
Achadu/Developers/Haki internetowe

Niezawodne, podpisane i identyfikowalne zdarzenia.

Otrzymuj zmiany w swojej operacji bez odpytywania. Każda dostawa przechodzi przez dedykowaną kolejkę, zapisuje próby i jest opatrzona weryfikowalnym podpisem.

28 zdarzeń domeny

Podpisz je wszystkie znakiem * lub wybierz tylko te zdarzenia, z których faktycznie korzysta Twoja aplikacja.

offer.createdoffer.updatedoffer.archivedoffer.publishedsegment.createdsegment.updatedsegment.deletedcoupon.createdcoupon.updatedcoupon.archivedtemplate.createdtemplate.updatedtemplate.deletedschedule.createdschedule.updatedschedule.deletedschedule.executedmonitor.createdmonitor.updatedmonitor.deletedstore.updatedjourney.createdjourney.updatedjourney.deletedconversation.updatedconversation.closedconversation.repliedwebhook.test

Schematy w wersji zdarzeń

Każda koperta pobiera api_version. Katalog zawiera adres URL schematu i przykład umożliwiający sprawdzenie poprawności konsumentów przed opublikowaniem zmiany.

json
{
  "id": "evt_...",
  "type": "offer.updated",
  "api_version": "2026-08-31",
  "created_at": "2026-08-31T12:00:00.000Z",
  "data": { "offer_id": "off_..." }
}

Sprawdź przed przetworzeniem

Sekret pojawia się tylko raz. Oblicz HMAC-SHA256 na podstawie znacznika czasu i nieprzetworzonej treści i porównaj w stałym czasie.

javascript
import { createHmac, timingSafeEqual } from "node:crypto";

const signed = `${timestamp}.${rawBody}`;
const expected = createHmac("sha256", process.env.ACHADU_WEBHOOK_SECRET)
  .update(signed)
  .digest("hex");
const received = signature.replace("sha256=", "");

if (!timingSafeEqual(Buffer.from(expected), Buffer.from(received))) {
  throw new Error("Invalid signature");
}

Trwała dostawa

Kolejka niezależna od procesu sieciowego.
Do sześciu prób w przypadku przejściowych niepowodzeń.
Limit czasu 12 sekund na próbę.
Historia ze statusem HTTP, błędem i czasem.
Wewnętrzne miejsca docelowe i adresy prywatne są blokowane.

Webhook Inspector

W obszarze Deweloperzy otwórz dostawę, aby sprawdzić ładunek, odpowiedź docelową, status HTTP, czas trwania, próby i następną ponowną próbę. W tym samym panelu możesz skopiować wydarzenie i ustawić w kolejce ponowne wysłanie.

Surowe ciało zachowane do debugowania.
Ograniczona odpowiedź i brak tajemnic.
Czas trwania mierzony na próbę.
Wyślij ponownie tworzy nową dostawę powiązaną z tym samym identyfikatorem zdarzenia.