# Com obtenir resultats de verificació amb webhooks

Source: https://help.didit.me/ca/integration/webhooks-basics
Updated: 2026-10-12

Didit no t'envia un correu quan una verificació canvia d'estat: configura un webhook per saber-ho al moment i verifica la signatura abans de confiar-hi.

Un webhook és una petició HTTP que Didit envia a la teva URL quan alguna cosa
canvia. Afegeix una destinació a **Desenvolupadors → Webhooks**, subscriu-te als esdeveniments
que vulguis - no hi ha **comodí**, cal llistar-los tots - guarda el secret de
signatura, i verifica la signatura abans de processar res.

[Video: Introducció als webhooks - Didit Academy](https://www.youtube.com/watch?v=fX03-WEu_EI&t=192)

Didit no t'envia cap correu quan una sessió passa a **In Review** o **Declined**. Per saber en el moment en què un estat canvia, sense haver de refrescar la consola, configura un webhook - una URL al teu servidor a la qual Didit envia l'actualització automàticament.

Els webhooks són el patró d'integració **recomanat**. Fer polling a l'endpoint de decisió funciona com a alternativa, però és més lent, costa més peticions, i es perd esdeveniments que només s'arriben a lliurar per webhook - edicions de dades fetes per un revisor, canvis d'estat de transaccions, i canvis a nivell d'entitat.

## Configurar-ne un

1. **Desenvolupadors → Webhooks**

   Obre l’aplicació i l’entorn Live o Sandbox correctes, i després Desenvolupadors i Webhooks.

2. **Afegeix un endpoint**

   Prem Afegeix endpoint, indica l’URL HTTPS i un nom, i tria els esdeveniments. Mantén v3, la versió recomanada, excepte si mantens una integració antiga. Revisa i confirma.

3. **Guarda el secret de signatura**

   Cada endpoint té un secret de signatura propi, ocult. Prem Mostra i confirma la identitat; es torna a ocultar en 60 segons. Desa’l a la configuració del servidor. Contacta amb suport si Mostra està desactivat. [Desenvolupadors → Webhooks](https://docs.didit.me/integration/webhooks#signature-verification).

4. **Envia un esdeveniment de prova**

   Envia una prova signada per comprovar l’endpoint, la signatura i el processament sense executar una verificació real.

![Destinacions de webhook a la consola de Didit amb els esdeveniments subscrits i l'historial de lliuraments](https://help.didit.me/screenshots/webhooks-light.webp)

*Cada destinació té els seus propis esdeveniments subscrits, secret de signatura i registre de lliuraments.*

## Els esdeveniments als quals et pots subscriure

No hi ha **comodí** - llista cada família d'esdeveniments que vulguis. Repartir-los entre diverses destinacions és vàlid i sovint queda més net.

| Esdeveniment | Es dispara quan |
|---|---|
| `status.updated` | L'estat d'una sessió de KYC o KYB canvia. El que gairebé segur que vols |
| `data.updated` | Les dades de verificació s'editen després de la creació - un revisor corregint un camp |
| `user.status.updated` | Un usuari consolidat es mou entre ACTIVE, FLAGGED i BLOCKED |
| `user.data.updated` | El perfil, els comptadors o els identificadors d'un usuari consolidat canvien |
| `business.status.updated` | Una empresa consolidada canvia d'estat |
| `business.data.updated` | Les dades d'una empresa consolidada canvien |
| `transaction.created` | Es crea una transacció i el seu veredicte inicial ja està llest |
| `transaction.status.updated` | L'estat d'una transacció canvia més endavant |
| `travel_rule.status.updated` | L'estat d'un intercanvi de Travel Rule canvia |

> **Note:** No existeix cap `session.status.updated` ni `kyc.completed`. Si t'has subscrit a
> un nom que no és en aquesta llista, no rebràs res - i semblarà exactament una
> fallada de lliurament. Comprova el nom primer.

## Què hauria de fer el teu endpoint

- **Verifica la signatura abans de qualsevol altra cosa.** Calcula l'HMAC del cos **en brut** de la petició - mai d'una versió re-serialitzada del JSON parsejat, perquè tornar-lo a convertir en string canvia els bytes i la signatura no coincidirà. Fes servir una comparació de temps constant.
- **Retorna un 2xx ràpidament.** Fes la feina pesada de manera asíncrona, després de respondre.
- **Sigues idempotent.** Basa't en l'id de l'esdeveniment, o en id de sessió + estat + tipus de webhook. Els reintents i els duplicats passen.
- **Gestiona cada estat que t'importi**, incloent-hi els que arriben molt després de l'alta - una sessió aprovada pot passar més endavant a In Review a través del [monitoratge continu d'AML](https://help.didit.me/ca/aml-screening/ongoing-monitoring).
- **Només HTTPS.** Els endpoints en HTTP simple no són compatibles.

## Reintents

Amb una resposta 5xx o 404, Didit reintenta dues vegades, al cap d’un minut i després quatre. Un temps d’espera superior a 5 segons o una connexió fallida no es reintenten automàticament. Fes servir Reenvia a Lliuraments després de corregir el problema; un error definitiu genera una alerta.

> **Warning:** No donis per garantit cada webhook. Després d’una interrupció, reenvia des de Lliuraments o consulta el resultat de cada sessió sense decisió rebuda.

## Darrere d'un tallafoc o un WAF

Didit fa els lliuraments des de la IP estàtica **18.203.201.92** amb un user agent `DiditWebhook/2.0`. Si el teu edge bloqueja clients desconeguts - la postura per defecte de Cloudflare, per exemple - permet aquesta IP per al nom d'host receptor, o els lliuraments fallaran abans d'arribar al teu codi.

## Encara no tens backend?

Mentre en construeixes un, pots seguir supervisant els resultats manualment a la secció **Verifications** de la consola, o fer servir mentrestant un [enllaç de verificació sense codi](https://help.didit.me/ca/integration/integration-options).

## Següents passos

- Quan un webhook no arriba: [quan un webhook no arriba mai](https://help.didit.me/ca/integration/webhook-troubleshooting)
- Entén què significa cada estat un cop arriba: [què significa cada estat de sessió](https://help.didit.me/ca/verification-sessions/session-statuses)
- Referència tècnica completa, incloent-hi mostres de codi de verificació de signatura: [Webhooks](https://docs.didit.me/integration/webhooks)
