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"
}Pré-visualizar e-mail de decisão: API de verificação
Veja o e-mail de aprovação ou recusa que o utilizador recebe, com destinatário, remetente e idioma, antes de alterar o estado da sessão. 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 ou Declined com send_email: true.
Indica também quem o recebe, quem o envia e se a confirmação o envia de facto.
Quem recebe o e-mail
O e-mail é enviado para o endereço da própria pessoa: o que foi verificado num passo de verificação de e-mail do fluxo, caso contrário o indicado emcontact_details quando a sessão foi criada.
recipient_source indica qual deles se aplica (email_verification ou contact_details).
Quando a sessão não tem endereço para a pessoa, recipient, recipient_source e preview_token ficam com strings vazias e não é possível enviar nenhum e-mail.
O e-mail é enviado a partir do domínio de remetente verificado da sua aplicação quando se aplica a sua configuração de marca branca (sender_kind: customer), caso contrário a partir do remetente da Didit (sender_kind: didit).
Se o e-mail é enviado
will_be_sent é true quando a confirmação da alteração com send_email: true faz com que o e-mail seja enviado.
Quando é false, not_sent_reason indica o motivo:
not_sent_reason | O que significa |
|---|---|
status_unchanged | A sessão já tem este estado, pelo que a atualização não altera nada e não envia nada. |
notification_emails_disabled | A sessão foi criada sem contact_details.send_notification_emails: true, pelo que nenhum e-mail de decisão é enviado para o endereço indicado em contact_details. |
no_recipient | Não é conhecido nenhum endereço para a pessoa. |
sandbox | A sessão é uma sessão de sandbox e o destinatário não optou por receber e-mails de sandbox, pelo que o e-mail é apenas simulado. Consulte a adesão ao envio de e-mail. |
Confirmar a decisão
Chame Update Session Status com estes campos:| Campo de Update Session Status | Valor |
|---|---|
new_status | O mesmo new_status que pré-visualizou |
send_email | true |
email_address | recipient da pré-visualização |
email_language | language da pré-visualização |
email_preview_token | preview_token da pré-visualização |
409 antes de qualquer alteração.
Volte a pré-visualizar e confirme com o novo recibo.
Relacionados
- Update Session Status: aprove ou recuse a sessão e envie o e-mail.
- Preview Resubmission Email: em alternativa, pré-visualize o e-mail de reenvio.
- Marca branca: o remetente e a identidade visual que o e-mail utiliza.
Autorizações
A chave de API da sua aplicação, a partir de Programadores -> Chaves de API na Business Console. A chave principal tem acesso total. Uma chave nomeada pode ter o âmbito definido: nenhum, leitura ou escrita por recurso, limitada a alguns fluxos ou a sessões aprovadas, a uma lista de endereços IP e a uma data de validade. 401 significa que a chave está incorreta, revogada ou expirada; 403 significa que nenhuma chave foi enviada, que a chave não tem acesso a este recurso ou ação, ou que o pedido veio de um endereço fora da sua lista de IP; 404 numa rota de sessão significa que a sessão está fora dos fluxos ou estados da chave. Uma chave sem acesso a multimédia recebe URLs de imagens, vídeos e PDFs como nulos, e uma chave sem permissão de escrita em sessões recebe ligações de sessão e tokens como nulos. Consulte https://docs.didit.me/console/api-keys.
Parâmetros de caminho
UUID da sessão de verificação. Aceita IDs de sessão de utilizador (KYC) e de empresa (KYB).
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
Corpo
A decisão cujo e-mail pretende pré-visualizar.
Approved, Declined "Approved"
Idioma do e-mail, a mesma predefinição que Atualizar Estado da Sessão. Um idioma que não esteja disponível reverte para inglês; o campo language na resposta indica qual é utilizado.
"en"
Resposta
Apenas pré-visualização. A sessão permanece inalterada e nenhum e-mail é enviado.
O endereço para o qual o e-mail é enviado. Uma string vazia quando não se conhece qualquer endereço para a pessoa: nesse caso, nenhum e-mail pode ser enviado e preview_token fica também vazio. Passe-o como email_address quando confirmar.
"person@example.com"
De onde provém recipient. email_verification: o endereço que a pessoa verificou num passo de verificação de e-mail do fluxo. contact_details: o endereço fornecido em contact_details aquando da criação da sessão. Uma string vazia quando não existir endereço.
email_verification, contact_details, "email_verification"
O cabeçalho From com o qual o e-mail é enviado.
"Example App <no-reply@mail.example.com>"
A parte do nome de apresentação de sender.
"Example App"
A parte da morada de sender.
"no-reply@mail.example.com"
customer: o e-mail sai a partir do domínio de remetente verificado da sua aplicação (marca branca). didit: sai a partir do remetente próprio da Didit.
customer, didit "customer"
A linha de assunto exatamente como é enviada.
"Your verification has been approved in Example App"
O HTML do e-mail exatamente como é enviado, com o respetivo logótipo incorporado como data URL. Renderize-o numa frame isolada (sandbox), nunca diretamente no DOM da sua aplicação.
"<!DOCTYPE html><html><body>...</body></html>"
O texto simples do e-mail, tal como o histórico de Mensagens da pessoa o guarda, para uma pré-visualização compacta (o HTML continua a ser o e-mail que a pessoa recebe).
"Verification Approved\n\nYour identity has been successfully verified with Acme Pay. No further action is needed on your part."
O idioma em que o e-mail está escrito. Inglês (en) quando o email_language solicitado não estiver disponível.
"en"
Se confirmar a alteração com send_email: true envia este e-mail. false quando not_sent_reason estiver definido.
true
O motivo pelo qual a confirmação não enviaria nenhum e-mail, ou null quando será enviado. status_unchanged: a sessão já tem este estado, pelo que a atualização não altera nada nem envia nada. notification_emails_disabled: a sessão foi criada sem contact_details.send_notification_emails: true, pelo que nenhum e-mail de decisão é enviado para o endereço fornecido em contact_details. no_recipient: nenhum endereço é conhecido para a pessoa. sandbox: uma sessão de sandbox cujo destinatário não aceitou a entrega de e-mails em sandbox, pelo que o envio é apenas simulado.
status_unchanged, notification_emails_disabled, no_recipient, sandbox, null null
Recibo assinado para este e-mail exato, válido por 15 minutos. Passe-o como email_preview_token para Atualizar estado da sessão. Uma string vazia quando não há destinatário.
"eyJkaWdlc3QiOiI0ZjJhIn0:1uExAm:Pl3x4mpleS1gnatureValue000000000000000"