curl -X POST \
https://verification.didit.me/v3/session/3fa85f64-5717-4562-b3fc-2c963f66afa6/decision-email-preview/ \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"new_status": "Approved", "email_language": "en"}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.sessions.preview_decision_email(
"3fa85f64-5717-4562-b3fc-2c963f66afa6",
new_status="Approved",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.sessions.previewDecisionEmail("3fa85f64-5717-4562-b3fc-2c963f66afa6", {
new_status: "Approved",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Sessions.PreviewDecisionEmail(ctx, "3fa85f64-5717-4562-b3fc-2c963f66afa6", didit.SessionsPreviewDecisionEmailParams{
NewStatus: "Approved",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.SessionsPreviewDecisionEmailParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.sessions().previewDecisionEmail("3fa85f64-5717-4562-b3fc-2c963f66afa6", SessionsPreviewDecisionEmailParams.builder()
.newStatus(SessionsPreviewDecisionEmailParams.NewStatus.of("Approved"))
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->sessions->previewDecisionEmail('3fa85f64-5717-4562-b3fc-2c963f66afa6', [
'new_status' => 'Approved',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.sessions.preview_decision_email(
"3fa85f64-5717-4562-b3fc-2c963f66afa6",
new_status: "Approved"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Sessions.PreviewDecisionEmailAsync("3fa85f64-5717-4562-b3fc-2c963f66afa6", new SessionsPreviewDecisionEmailParams
{
NewStatus = "Approved",
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"recipient": "person@example.com",
"recipient_source": "email_verification",
"sender": "Example App <no-reply@mail.example.com>",
"sender_name": "Example App",
"sender_email": "no-reply@mail.example.com",
"sender_kind": "customer",
"subject": "Your verification has been approved in Example App",
"html": "<!DOCTYPE html><html><body>...</body></html>",
"language": "en",
"will_be_sent": true,
"not_sent_reason": null,
"preview_token": "eyJkaWdlc3QiOiI0ZjJhIn0:1uExAm:Pl3x4mpleS1gnatureValue000000000000000"
}API anteprima email di decisione: approvata e rifiutata
Visualizza l’email di approvazione o rifiuto che riceve la persona, con destinatario, mittente e lingua, prima di modificare lo stato della sessione con Didit.
curl -X POST \
https://verification.didit.me/v3/session/3fa85f64-5717-4562-b3fc-2c963f66afa6/decision-email-preview/ \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"new_status": "Approved", "email_language": "en"}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.sessions.preview_decision_email(
"3fa85f64-5717-4562-b3fc-2c963f66afa6",
new_status="Approved",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.sessions.previewDecisionEmail("3fa85f64-5717-4562-b3fc-2c963f66afa6", {
new_status: "Approved",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Sessions.PreviewDecisionEmail(ctx, "3fa85f64-5717-4562-b3fc-2c963f66afa6", didit.SessionsPreviewDecisionEmailParams{
NewStatus: "Approved",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.SessionsPreviewDecisionEmailParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.sessions().previewDecisionEmail("3fa85f64-5717-4562-b3fc-2c963f66afa6", SessionsPreviewDecisionEmailParams.builder()
.newStatus(SessionsPreviewDecisionEmailParams.NewStatus.of("Approved"))
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->sessions->previewDecisionEmail('3fa85f64-5717-4562-b3fc-2c963f66afa6', [
'new_status' => 'Approved',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.sessions.preview_decision_email(
"3fa85f64-5717-4562-b3fc-2c963f66afa6",
new_status: "Approved"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Sessions.PreviewDecisionEmailAsync("3fa85f64-5717-4562-b3fc-2c963f66afa6", new SessionsPreviewDecisionEmailParams
{
NewStatus = "Approved",
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"recipient": "person@example.com",
"recipient_source": "email_verification",
"sender": "Example App <no-reply@mail.example.com>",
"sender_name": "Example App",
"sender_email": "no-reply@mail.example.com",
"sender_kind": "customer",
"subject": "Your verification has been approved in Example App",
"html": "<!DOCTYPE html><html><body>...</body></html>",
"language": "en",
"will_be_sent": true,
"not_sent_reason": null,
"preview_token": "eyJkaWdlc3QiOiI0ZjJhIn0:1uExAm:Pl3x4mpleS1gnatureValue000000000000000"
}Approved o Declined con send_email: true.
Indica anche chi la riceve, da chi proviene e se la conferma la invia davvero.
Chi riceve l’email
L’email va all’indirizzo della persona: quello verificato in un passaggio di verifica email del flusso, altrimenti quello indicato incontact_details al momento della creazione della sessione.
recipient_source indica quale dei due si applica (email_verification o contact_details).
Se la sessione non contiene un indirizzo per la persona, recipient, recipient_source e preview_token sono stringhe vuote e non è possibile inviare alcuna email.
L’email viene inviata dal dominio mittente verificato della tua applicazione quando si applica la tua configurazione white label (sender_kind: customer), altrimenti dal mittente di Didit (sender_kind: didit).
Se l’email viene inviata
will_be_sent è true quando la conferma della modifica con send_email: true invia l’email.
Quando è false, not_sent_reason indica il motivo:
not_sent_reason | Significato |
|---|---|
status_unchanged | La sessione ha già questo stato, quindi l’aggiornamento non modifica nulla e non invia nulla. |
notification_emails_disabled | La sessione è stata creata senza contact_details.send_notification_emails: true, quindi nessuna email di decisione viene inviata all’indirizzo indicato in contact_details. |
no_recipient | Non è noto alcun indirizzo per la persona. |
sandbox | La sessione è una sessione sandbox e il destinatario non ha aderito all’invio di email in sandbox, quindi l’email viene solo simulata. Vedi adesione alle email. |
Conferma la decisione
Chiama Update Session Status con questi campi:| Campo di Update Session Status | Valore |
|---|---|
new_status | Lo stesso new_status che hai visualizzato in anteprima |
send_email | true |
email_address | recipient dell’anteprima |
email_language | language dell’anteprima |
email_preview_token | preview_token dell’anteprima |
409 prima che venga modificato qualsiasi dato.
Ripeti l’anteprima e conferma con la nuova ricevuta.
Correlati
- Update Session Status: approva o rifiuta la sessione e invia l’email.
- Preview Resubmission Email: visualizza in anteprima l’email per una nuova presentazione.
- White label: il mittente e il branding utilizzati nell’email.
Autorizzazioni
La chiave API della tua applicazione, da Developers -> API keys nella Business Console. La chiave primaria ha accesso completo. Una chiave con nome può avere un ambito definito: nessuno, lettura o scrittura per risorsa, limitata ad alcuni workflow o a sessioni approvate, a un elenco di indirizzi IP e a una data di scadenza. 401 indica che la chiave è errata, revocata o scaduta; 403 indica che non è stata inviata alcuna chiave, che la chiave non ha accesso a questa risorsa o azione, oppure che la richiesta proviene da un indirizzo non incluso nel suo elenco IP; 404 su una route di sessione indica che la sessione non rientra nei workflow o negli stati previsti dalla chiave. Una chiave senza accesso ai media riceve gli URL di immagini, video e PDF come null, e una chiave senza permessi di scrittura sulle sessioni riceve link e token di sessione come null. Consulta https://docs.didit.me/console/api-keys.
Parametri del percorso
UUID della sessione di verifica. Accetta sia ID di sessione utente (KYC) sia ID di sessione aziendale (KYB).
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
Corpo
La decisione di cui desideri visualizzare l'anteprima dell'email.
Approved, Declined "Approved"
Lingua dell'email, con lo stesso valore predefinito di Aggiorna stato della sessione. Una lingua non offerta ripiega sull'inglese; language nella risposta indica quale viene utilizzata.
"en"
Risposta
Solo anteprima. La sessione non viene modificata e non viene inviata alcuna email.
L'indirizzo a cui viene inviata l'email. Stringa vuota se non si conosce alcun indirizzo per la persona: in tal caso non è possibile inviare alcuna email e anche preview_token è vuoto. Passalo come email_address quando confermi.
"person@example.com"
Da dove proviene recipient. email_verification: l'indirizzo verificato dalla persona in un passaggio di verifica email del flusso. contact_details: l'indirizzo fornito in contact_details alla creazione della sessione. Una stringa vuota quando non è presente alcun indirizzo.
email_verification, contact_details, "email_verification"
L'intestazione From con cui viene inviata l'email.
"Example App <no-reply@mail.example.com>"
La parte del nome visualizzato di sender.
"Example App"
La parte relativa all'indirizzo di sender.
"no-reply@mail.example.com"
customer: l'email viene inviata dal dominio mittente verificato della tua applicazione (white label). didit: viene inviata dal mittente di Didit.
customer, didit "customer"
La riga dell'oggetto esattamente come viene inviata.
"Your verification has been approved in Example App"
L'HTML dell'email esattamente come inviato, con il logo incorporato come data URL. Effettuane il rendering in un frame in sandbox, mai direttamente nel DOM della tua applicazione.
"<!DOCTYPE html><html><body>...</body></html>"
Il testo dell'email in testo normale, così come viene mantenuto nel thread Messaggi della persona, per un'anteprima compatta (l'HTML rimane l'email ricevuta dalla persona).
"Verification Approved\n\nYour identity has been successfully verified with Acme Pay. No further action is needed on your part."
La lingua in cui è scritta l'email. Inglese (en) se l'email_language richiesta non è disponibile.
"en"
Indica se la conferma della modifica con send_email: true comporta l'invio di questa email. false quando not_sent_reason è impostato.
true
Il motivo per cui la conferma non invierebbe alcuna email, oppure null se verrà inviata. status_unchanged: la sessione ha già questo stato, quindi l'aggiornamento non modifica nulla e non invia nulla. notification_emails_disabled: la sessione è stata creata senza contact_details.send_notification_emails: true, quindi non viene inviata alcuna email di decisione all'indirizzo indicato in contact_details. no_recipient: non è noto alcun indirizzo per la persona. sandbox: una sessione sandbox il cui destinatario non ha acconsentito alla consegna delle email in sandbox, quindi l'invio viene solo simulato.
status_unchanged, notification_emails_disabled, no_recipient, sandbox, null null
Ricevuta firmata per questa specifica email, valida per 15 minuti. Inviala come email_preview_token a Update Session Status. Una stringa vuota quando non è presente alcun destinatario.
"eyJkaWdlc3QiOiI0ZjJhIn0:1uExAm:Pl3x4mpleS1gnatureValue000000000000000"