> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Verificació d'identitat per a Salesforce: KYC i KYB

> Didit: paquet de Salesforce per a verificació d'identitat, KYC i KYB sense codi. Des de $0.33 per KYC complet, $10 gratuïts al mes, sense contractes.

Afegeix la verificació d'identitat de Didit a Salesforce Sales Cloud / Service Cloud amb el nostre paquet gestionat. El component s'afegeix a les pàgines de registre de Contacte i de Lead, crea sessions a través de la teva organització amb Apex (la teva clau d'API de Didit es queda dins de Salesforce) i escriu els resultats als camps estàndard del registre perquè els fluxos i els informes els puguin fer servir. Una **Invocable Action** integrada permet que Flow Builder activi verificacions automàticament, per exemple, quan es crea un Lead nou.

## Requisits previs

* Una organització de Salesforce (edició Enterprise o superior; Developer Edition per a proves)
* Un compte de la [Didit Console](https://business.didit.me) amb un flux de treball configurat
* Permís per instal·lar paquets gestionats i crear Sites a Setup

***

### Pas 1: Instal·la l'aplicació

L'enllaç següent instal·la el paquet publicat **DiditVerifyManaged 1.0.0.2**.
La instal·lació del paquet és independent de l'aprovació de la fitxa al marketplace.

1. Obre l'enllaç d'instal·lació: [[https://login.salesforce.com/packaging/installPackage.apexp?p0=04td10000004M0LAAU](https://login.salesforce.com/packaging/installPackage.apexp?p0=04td10000004M0LAAU)](https://login.salesforce.com/packaging/installPackage.apexp?p0=04td10000004M0LAAU)
2. Selecciona **Install for Admins Only** mentre configures i proves la integració.
   Concedeix l'accés als usuaris previstos després de validar la configuració.

![Instal·la l'aplicació Didit a Salesforce](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/install-package.png?fit=max\&auto=format\&n=yCWnhXcnyUBtSh0w\&q=85\&s=8758cc01110ca562d2e88b7cb76a9ab5)

3. Fes clic a **Install**

***

### Pas 2: Obtén les teves credencials de Didit

#### Obtén la teva clau d'API (per al mode API)

1. Inicia sessió a la [Didit Business Console](https://business.didit.me)
2. Ves a **API i Webhooks** a la barra lateral esquerra
3. Copia la teva clau d'API

![Com obtenir la clau d'API des de la Didit Business Console](https://mintcdn.com/didit-0f962782/gKLcMCmiLycklBol/images/shopify-how-to-get-api-key.jpg?fit=max\&auto=format\&n=gKLcMCmiLycklBol\&q=85\&s=9027ca685cc296a400e78d320a566453)

#### Obtén el teu ID del flux de treball

1. A la Didit Business Console, ves a **Fluxos de treball**
2. Selecciona el flux de treball que vols utilitzar (o crea'n un de nou)
3. Copia el **ID del flux de treball** (un UUID com `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`)

![Com obtenir l'ID del flux de treball des de la Didit Business Console](https://mintcdn.com/didit-0f962782/gKLcMCmiLycklBol/images/shopify-how-to-get-workflow-id.jpg?fit=max\&auto=format\&n=gKLcMCmiLycklBol\&q=85\&s=529dc681169efc0a6cdc96d6c0e0a605)

***

### Pas 3: Configura els paràmetres de Didit

1. Fes clic a **App Launcher** (icona de quadrícula, a dalt a l'esquerra) i cerca **"Didit"**

![com entrar a l'aplicació Didit](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/app-launcher-search-didit.png?fit=max\&auto=format\&n=yCWnhXcnyUBtSh0w\&q=85\&s=1a2fb9eee64fa9735b29e4d64a20e56e)

2. Obre l'aplicació **Didit** i arribaràs a la pestanya **Didit Settings**
3. Omple les teves credencials i preferències:

| Camp | Descripció | Per defecte |
| - | - | - |
| **Mode** | `api` (recomanat) o `unilink` | `api` |
| **Clau d'API de Didit** | La teva clau d'API de Didit (només en mode API) | — |
| **ID del flux de treball** | El teu ID del flux de treball de Didit (només en mode API) | — |
| **Secret del webhook** | Secret HMAC de Didit Console → API i Webhooks. Cal per rebre actualitzacions de verificació en temps real. Si es deixa buit, es rebutgen tots els webhooks entrants. | — |
| **UniLink URL** | URL de verificació fixa (només en mode UniLink) | — |
| **Mode de visualització** | `modal` (finestra emergent) o `embedded` (integrat a la pàgina) | `embedded` |
| **Dades del proveïdor** | `record_id`, `record_email`, `custom prefix + record id` o `none` | `record_id` |
| **Idioma** | Codi d'idioma (per exemple, `en`, `es`, `fr`) | `Auto detect by browser` |
| **Enviar automàticament les dades del registre** | Preomple la verificació amb les dades del registre | `true` |
| **Mostra el botó de tancar** | Mostra el botó X a la finestra modal | `true` |
| **Confirmació de sortida** | Demana confirmació abans de tancar la finestra modal | `true` |
| **Tancament automàtic en completar** | Tanca automàticament la finestra modal en completar la verificació | `false` |
| **Registre de depuració** | Activa el registre a la consola del navegador | `false` |
| **Text del botó** | Etiqueta del botó de verificació | `Verify Identity` |
| **Text del botó després de la verificació** | Etiqueta després de la verificació | `Identity Verified` |
| **Color del botó** | Color hexadecimal de fons del botó | `#2667ff` |

4. Fes clic a **Save Settings**

### Pas 4: Afegeix el component a les pàgines de registre

1. Ves a un registre de **Contacte** o **Lead**

![vista de la pàgina de contacte](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/contact-page-1.png?fit=max\&auto=format\&n=yCWnhXcnyUBtSh0w\&q=85\&s=0a5d3676ade4b7d2e4334df2305ae050)

2. Fes clic a la **icona d'engranatge → Edit Page** (o a Setup → Object Manager → Contacte/Lead → Lightning Record Pages)

![vista dels detalls del contacte](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/contact-page-2.png?fit=max\&auto=format\&n=yCWnhXcnyUBtSh0w\&q=85\&s=68b8d16948761de61d5ee8a4c5dcc0f2)

3. A Lightning App Builder, arrossega **Didit Identity Verification** des del panell de components

![Arrossega el component de Didit](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/drag-didit-component.gif?s=f34880744041ffa63271a683a641b3ba)

4. Fes clic a **Desa** i **Activa** la pàgina, selecciona "Assign as Org Default" en activar-la, i mira el vídeo:

![Desa i activa la pàgina amb el component de Didit](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/save-and-activate.gif?s=2f9f3fffb2fed482ea524236b5ad910d)

5. L'exemple anterior utilitza una pàgina de registre de Contacte; els passos són idèntics per a les pàgines de registre de Lead.

## Com funciona

### Mode API (recomanat)

1. L'usuari fa clic a **Verify Identity** en un registre de Contact/Lead.
2. Apex crea una sessió mitjançant l'API de Didit (la clau d'API es manté al servidor).
3. El SDK de Didit obre el flux de verificació, com a superposició modal o com a vista incrustada en línia, segons la configuració de **Display Mode**.
4. En completar-se la sessió, el registre s'actualitza automàticament:
   * `Verification Status` → el resultat de la sessió (`Approved`, `Declined`, `In Review`, etc.)
   * `Identity Verified` → `true` en cas d'Approved; `false` en cas de Declined
   * `Verified At` (marca de temps) i `Didit Session ID`
   * `Verified Document Type`, `Document Expiry Date` i `AML Check Status` (omplerts mitjançant el webhook; vegeu més avall)
5. El component mostra l'estat de la verificació, el tipus de document, la data de caducitat i el resultat AML directament a la pàgina; no cal configurar el disseny de la pàgina.

### Mode UniLink

1. L'usuari fa clic a **Verify Identity**.
2. S'obre una URL UniLink fixa en una finestra modal o en un iframe (no cal fer cap crida a l'API).
3. En completar-se la verificació, el resultat es desa al registre.

### Actualitzacions automàtiques de la verificació (webhooks)

Quan una sessió de verificació es completa (tant si l'agent és a la pàgina com si no), Didit envia un webhook a la teva organització de Salesforce per actualitzar automàticament el registre de Contact/Lead. Cal fer una configuració única del Site de Salesforce.

#### Per què és necessari?

Salesforce no accepta sol·licituds HTTP entrants de serveis externs sense un endpoint públic. Un Site de Salesforce crea aquest endpoint perquè Didit pugui enviar els resultats de verificació directament a la teva organització en temps real.

#### Pas 1: vés a Setup > Sites

A Salesforce, fes clic a la **icona d'engranatge > Setup**. A la caixa Quick Find, escriu **Sites** i fes clic a sobre, sota **Sites and Domains**.

![Pas 1 - Cerca de Sites](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/step1-sites-search.png?fit=max\&auto=format\&n=yCWnhXcnyUBtSh0w\&q=85\&s=07d8ca3804316538de6d15b6ccb39caf)

Si és la primera vegada, marca **"I have read and accepted the Salesforce Site Terms of Use"** i fes clic a **Register My Salesforce Site Domain**.

![Pas 1 - Pàgina de Sites amb el domini registrat](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/step1-sites-registered.png?fit=max\&auto=format\&n=yCWnhXcnyUBtSh0w\&q=85\&s=9a89d50c21cfc4911cf707a111f963ad)

#### Pas 2: crea un Site nou

Fes clic al botó **New** de la llista de Sites. Omple els camps següents:

* **Site Label**: `DiditWebhook`
* **Site Name**: s'omple automàticament com a `DiditWebhook`
* **Default Web Address**: `didit`
* **Active**: marcat
* **Active Site Home Page**: `InMaintenance`

Deixa la resta de camps amb els valors per defecte i fes clic a **Save**.

![Pas 2 - Formulari de Site nou](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/step2-new-site-form.png?fit=max\&auto=format\&n=yCWnhXcnyUBtSh0w\&q=85\&s=d5869ff430f4050ebde176ff6020c260)

#### Pas 3: verifica que el Site s'ha creat

Després de desar, veuràs la pàgina de detall del Site. Anota el **Site URL**; tindrà un aspecte com `https://your-org.develop.my.salesforce-sites.com/didit`. La necessitaràs més endavant.

![Pas 3 - Site creat](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/step3-site-created.png?fit=max\&auto=format\&n=yCWnhXcnyUBtSh0w\&q=85\&s=daa8ed30fedd1369d33abe13828ddb12)

#### Pas 4: concedeix a l'usuari convidat l'accés a la classe del webhook

A la pàgina de detall del Site, fes clic a **Public Access Settings**. Això obre el perfil de l'usuari convidat (Guest User). Desplaça't fins a **Enabled Apex Class Access** i fes clic a **Edit**. Selecciona **DiditWebhookReceiver** de la llista Available i fes clic a **Add** per moure-la a la llista Enabled. Fes clic a **Save**.

![Pas 4 - Accés a classes Apex](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/step4-apex-class-access.png?fit=max\&auto=format\&n=yCWnhXcnyUBtSh0w\&q=85\&s=8bcfbece75a5a7864e8e1ab8fc07db9d)

#### Pas 5: configura el webhook a la Consola de Didit

1. Ves a [business.didit.me](https://business.didit.me) > **API & Webhooks**
2. Defineix la **Webhook URL** com a: `https://your-org.develop.my.salesforce-sites.com/didit/services/apexrest/didit/webhook/`

> **Nota:** El format exacte del domini depèn del tipus d'organització. Les organitzacions Developer Edition inclouen `.develop` a la URL. Les organitzacions de producció fan servir `https://your-org.my.salesforce-sites.com/didit/services/apexrest/didit/webhook/`. Copia sempre la URL de la pàgina de detall del Site (pas 3) per assegurar-te'n.

3. Copia la **Webhook Secret Key**
4. A Salesforce, ves a **Didit Settings** i enganxa el secret al camp **Webhook Secret**
5. Fes clic a **Save Settings**

Ja està. A partir d'ara, cada resultat de verificació actualitzarà automàticament el registre de Contact/Lead, fins i tot si ningú té oberta la pàgina de Salesforce.

#### Què desa el webhook

Quan Didit envia un webhook, el Contact o el Lead s'actualitza automàticament.

**Sempre s'actualitza, independentment del tipus de flux de verificació:**

| Camp | Què emmagatzema |
| - | - |
| **Verification Status** | `Approved`, `Declined`, `In Review`, `In Progress`, `Abandoned` |
| **Identity Verified** | `true` en cas d'Approved; `false` en cas de Declined o Abandoned |
| **Verified At** | Marca de temps del resultat aprovat |
| **Didit Session ID** | L'UUID de la sessió |

**Només s'actualitza quan la funcionalitat forma part del teu flux de verificació:**

| Camp | Requereix |
| - | - |
| **Verified Document Type** | Verificació d'identitat al teu flux de verificació |
| **Document Expiry Date** | Verificació d'identitat al teu flux de verificació |
| **AML Check Status** | Cribratge AML al teu flux de verificació |
| **Verification Decline Reasons** | Verificació d'identitat al teu flux de verificació |

Si una funcionalitat no està habilitada al teu flux de Didit, els camps corresponents queden buits, sense que res es trenqui.

També es crea un registre fill **Didit Verification** (`Didit_Verification__c`) per a cada sessió, que ofereix un registre d'auditoria complet amb més detall (número de document, país emissor, nom al document, data de naixement, puntuació de coincidència facial, puntuació de prova de vida i nombre de coincidències AML). De nou, només s'inclouen les funcionalitats incloses al flux de verificació.

Pots afegir la llista relacionada **Didit Verifications** al disseny de pàgina de Contact/Lead per veure l'historial.

### Automatització amb Flow (acció Apex invocable)

El plugin inclou una acció Apex invocable que els Flows de Salesforce poden cridar per activar la verificació automàticament:

1. A Flow Builder, afegeix un element **Action**
2. Cerca **"Create Didit Verification Session"**
3. Passa l'ID d'un registre de Contact o Lead
4. L'acció retorna `url`, `sessionId`, `success` i `error`
5. Fes servir la URL en un element **Send Email** o **Send Notification** per enviar-la al client

**Exemples d'ús:**

* **En crear un Lead**: envia automàticament un enllaç de verificació a cada Lead nou.
* **Seguiment de la caducitat dels documents**: crea un Scheduled Flow que s'executi cada dia, trobi tots els Contacts que tinguin `Document Expiry Date ≤ TODAY + 90 days` i enviï un enllaç de reverificació. Això funciona de sèrie fent servir el camp `Document Expiry Date`, que omple el webhook.

## Resolució de problemes

### El botó no fa res en fer-hi clic

* Assegura't d'haver desat la teva clau d'API i l'ID del flux de treball a la configuració de Didit
* Comprova que l'ID del flux de treball correspongui a la mateixa aplicació que la teva clau d'API
* Activa **Debug Logging** a la configuració de Didit i comprova si hi ha errors a la consola del navegador

### "Received a non-JSON response from the Didit API"

* Verifica que la Remote Site Setting per a `https://verification.didit.me` estigui activa: Setup → Remote Site Settings
* Comprova que la teva clau d'API sigui vàlida i que no hagi caducat a la [Consola empresarial de Didit](https://business.didit.me)

### El webhook retorna 401: "Webhook secret not configured"

* Ves a **Didit Settings**, enganxa la clau secreta del webhook (copiada de Didit Console → API & Webhooks) al camp **Webhook Secret** i fes clic a **Save Settings**

### El webhook retorna 401: "Invalid signature" o "Request timestamp is stale"

* Signatura no vàlida: assegura't que el Webhook Secret de la configuració de Didit coincideixi exactament amb el de Didit Console, sense espais ni caràcters addicionals
* Marca de temps obsoleta: els webhooks han d'arribar en un termini de 5 minuts des que s'envien. Si el rellotge de la teva organització de Salesforce no està sincronitzat, això pot provocar falsos positius, tot i que és molt poc freqüent

### La finestra de verificació no s'obre (error de CSP a la consola del navegador)

* El Trusted Site de CSP per a `https://verify.didit.me` s'inclou al paquet gestionat i es desplega automàticament. Si desplegues des del codi font, assegura't que `cspTrustedSites/Didit_Verify_Frontend.cspTrustedSite-meta.xml` s'inclogui al desplegament

## Suport (24/7)

El nostre equip està disponible per ajudar-te a posar-te en marxa.

> [card] [Correu electrònic](mailto:hello@didit.me)
>
> Envia'ns un correu a [hello@didit.me](mailto:hello@didit.me).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.