Skip to content

Webhooks

Register the URL in Integrações → Webhooks (Integrations → Webhooks) and choose the events. On every event, Auryon sends a POST with a signed JSON. You can have up to 20 webhooks per account.

Grant access to the product on transaction.paid, never on transaction.created. A created transaction has not been paid yet.

Every event arrives in the same envelope. The event’s object is in data.object:

{
"id": "evt_01JXEXEMPLO0000000000000000",
"api_version": "2026-06-15",
"type": "transaction.paid",
"created": 1781524800,
"livemode": true,
"data": {
"object": {
"id": "txn_exemplo_123",
"status": "APROVADA",
"payment_method": "PIX",
"payment_method_detail": null,
"amount": "19900",
"shipping_amount": "0",
"currency": "BRL",
"installments": 1,
"identifier": "SEU-PEDIDO-123",
"metadata": {
"origem": "exemplo"
},
"offer_code": "ABC12345",
"product": {
"name": "Produto de exemplo"
},
"offer": {
"name": "Oferta principal"
},
"customer": {
"name": "Comprador de Exemplo",
"email": "comprador@exemplo.test"
},
"created_at": "2026-06-15T12:00:00.000Z",
"paid_at": "2026-06-15T12:00:00.000Z"
}
}
}
Field What it is
id the event identifier (evt_…). The same on every retry and resend.
api_version the format version: today 2026-06-15
type the event (full list)
created when the fact happened, in Unix seconds
livemode true in production
data.object the event’s object: sale, subscription, withdrawal, affiliation, funnel step…

shipping_amount is the shipping fee of a physical product, already included in amount ("0" with no shipping). Status values (such as APROVADA) are the platform’s own enum names, in Portuguese.

Header Content
X-Auryon-Signature t=<timestamp>,v1=<signature> (two v1= during a rotation). See Signature.
X-Auryon-Timestamp the same t as the signature, in Unix seconds
X-Auryon-Event-Id the event id
X-Auryon-Event-Type the type
X-Auryon-Webhook-Id which of your webhooks received it
X-Auryon-Api-Version the envelope version, equal to the body’s api_version
X-Auryon-Delivery-Attempt the attempt number (1 to 6)
User-Agent Auryon369-Webhook/1.0
  • Respond 2xx within 30 seconds. Any other status, or a timeout, counts as a failure.
  • Redirects (3xx) are not followed: register the final URL.
  • Respond quickly and process later (in a queue), so you stay within the 30 seconds.
  • Up to 6 attempts per event: immediately, 30 s, 5 min, 30 min, 5 h and 24 h (about 30 hours in total).
  • When a delivery exhausts its 6 attempts, the webhook becomes degraded and attempts drop to one per day. One success brings it back to active.
  • After 7 days degraded without a single success, the webhook is disabled. It does not come back by itself: reactivate it in the dashboard with the Reativar (Reactivate) button.
  • While disabled, nothing is sent. Events that happen while the webhook is disabled are not kept and cannot be resent later. Deliveries already in the queue go out again when you reactivate.
  • A slow endpoint does not delay the others: each webhook has its own queue, and the events of one webhook go out in the order they happened.

The same event may arrive more than once, through a retry or a manual resend. Store the event id (X-Auryon-Event-Id) and process each one only once.

  • Enviar teste (Send test) shows, before sending, the exact body that will arrive, and sends it signed with your key, with fictitious data. It is a single attempt: if it fails, it does not enter the retries nor count towards the webhook’s health. Only available events can be tested, and only on an active webhook.
  • Entregas (Deliveries) lists every delivery with its status, your server’s response and the attempt. “O que enviamos” (What we sent) shows the exact body of the last attempt and the signature that went with it.
  • Reenviar (Resend) sends a delivery again, with the same event id. It requires an active webhook; a delivery that is going out at that moment is not resent twice. The content of each delivery is kept for 30 days; after that, resending is no longer possible.

Webhooks in the Legado (Legacy) format receive the previous platform’s body, with the token in the body and no signature. This format is deprecated: see Legacy API.