{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-@l10n/en/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Webhooks","description":"Documentação oficial, guias e referência da API Auvo v2.","siteUrl":"https://developers.auvo.com.br","lang":"pt-BR","keywords":"auvo, api, documentação, developers, field service, workforce","meta":[{"name":"og:site_name","content":"Auvo Developers"},{"name":"og:locale","content":"pt_BR"},{"name":"og:locale:alternate","content":"es_ES"},{"name":"og:locale:alternate","content":"en_US"},{"name":"twitter:card","content":"summary_large_image"},{"name":"twitter:site","content":"@auvoapp"}],"llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"webhooks","__idx":0},"children":["Webhooks"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Auvo API notifies task, ticket and service-order events via"," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["authenticated HTTP POST"]}," to the client-registered URL."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"subscribe-to-events","__idx":1},"children":["Subscribe to events"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["WebHooks"]}," group in the API reference to create/list/remove"," ","subscriptions. Each subscription holds:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["url"]}," — client endpoint (HTTPS required in production)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["events"]}," — event list (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["task.created"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["task.updated"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ticket.closed"]},"...)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["secret"]}," — opaque string returned on creation; use it to sign payloads."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"payload-shape","__idx":2},"children":["Payload shape"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"event\": \"task.created\",\n  \"occurredAt\": \"2026-04-24T13:45:00Z\",\n  \"deliveryId\": \"01J9F3T2...-\",\n  \"data\": { \"taskId\": 12345, \"customerId\": 98 }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"origin-validation","__idx":3},"children":["Origin validation"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Every delivery includes ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-Auvo-Signature: t=<ts>,v1=<hexHmacSha256>"]}," computed"," ","as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["HMAC_SHA256(secret, \"${ts}.${body}\")"]},". Reject when:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The delta between ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ts"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Date.now()"]}," exceeds ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["5 minutes"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v1"]}," does not match (use a time-safe comparison)."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"redelivery","__idx":4},"children":["Redelivery"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["2xx"]}," responses within ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["10 s"]}," mark the delivery as successful."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Failures or timeouts trigger exponential-backoff retries for up to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["24 h"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-Auvo-Delivery-Attempt"]}," reports the current attempt (1..n)."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"idempotency","__idx":5},"children":["Idempotency"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["deliveryId"]}," to deduplicate deliveries on your side — retries reuse the"," ","same ID."]}]},"headings":[{"value":"Webhooks","id":"webhooks","depth":1},{"value":"Subscribe to events","id":"subscribe-to-events","depth":2},{"value":"Payload shape","id":"payload-shape","depth":2},{"value":"Origin validation","id":"origin-validation","depth":2},{"value":"Redelivery","id":"redelivery","depth":2},{"value":"Idempotency","id":"idempotency","depth":2}],"frontmatter":{"title":"Webhooks","description":"Subscription, payloads, redelivery and origin validation for Webhooks.","seo":{"title":"Webhooks"}},"lastModified":"2026-04-24T13:01:34.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/en/guides/webhooks","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}