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 de prévia do e-mail de decisão: aprovado e recusado
Veja no Didit o e-mail de Aprovado ou Recusado que a pessoa recebe, com destinatário, remetente e idioma, antes de alterar o status da sessão.
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.
Ela também informa quem recebe o e-mail, quem o envia e se a confirmação de fato o envia.
Quem recebe o e-mail
O e-mail vai para o próprio endereço da pessoa: o que ela verificou em uma etapa de verificação de e-mail do fluxo ou, caso contrário, o informado 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 são strings vazias e nenhum e-mail pode ser enviado.
O e-mail é enviado a partir do domínio de remetente verificado da sua aplicação quando sua configuração de marca própria se aplica (sender_kind: customer) ou, caso contrário, a partir do remetente da Didit (sender_kind: didit).
Se o e-mail será enviado
will_be_sent é true quando a confirmação da alteração com send_email: true envia o e-mail.
Quando é false, not_sent_reason informa o motivo:
not_sent_reason | O que significa |
|---|---|
status_unchanged | A sessão já tem esse status, então 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, então nenhum e-mail de decisão é enviado para o endereço informado em contact_details. |
no_recipient | Não há endereço conhecido para a pessoa. |
sandbox | A sessão é de sandbox e o destinatário não optou pelo recebimento de e-mails de sandbox, então o e-mail é apenas simulado. Consulte opt-in 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 você 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 que qualquer coisa seja alterada.
Pré-visualize novamente e confirme com o novo comprovante.
Relacionados
- Update Session Status: aprove ou recuse a sessão e envie o e-mail.
- Preview Resubmission Email: visualize o e-mail de um reenvio.
- Marca própria: o remetente e a identidade visual que o e-mail usa.
Autorizações
Chave de API da sua aplicação, em Developers -> API keys no Business Console. A chave principal tem acesso total. Uma chave nomeada pode ter escopo restrito: nenhum acesso, 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á errada, 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 a requisição veio de um endereço fora da sua lista de IPs; 404 em uma rota de sessão significa que a sessão está fora dos fluxos ou status da chave. Uma chave sem acesso a mídia recebe URLs de imagem, vídeo e PDF como null, e uma chave sem permissão de escrita em sessões recebe links e tokens de sessão como null. Consulte https://docs.didit.me/console/api-keys.
Parâmetros de caminho
UUID da sessão de verificação. Aceita IDs de sessão tanto de usuário (KYC) quanto de empresa (KYB).
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
Corpo
A decisão cujo e-mail você quer pré-visualizar.
Approved, Declined "Approved"
Idioma do e-mail, com o mesmo padrão de Update Session Status. Um idioma que não é oferecido passa a usar inglês; language na resposta indica qual é usado.
"en"
Resposta
Somente pré-visualização. A sessão não é alterada e nenhum e-mail é enviado.
O endereço para o qual o e-mail vai. Uma string vazia quando nenhum endereço da pessoa é conhecido. Nesse caso, nenhum e-mail pode ser enviado e preview_token também fica vazio. Envie-o como email_address ao confirmar.
"person@example.com"
A origem de recipient. email_verification: o endereço que a pessoa verificou em uma etapa de verificação de e-mail do fluxo. contact_details: o endereço informado em contact_details quando a sessão foi criada. Uma string vazia quando não há 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 exibição de sender.
"Example App"
A parte de endereço de sender.
"no-reply@mail.example.com"
customer: o e-mail é enviado a partir do domínio de remetente verificado da sua aplicação (marca própria). didit: ele é enviado a partir do remetente da própria 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 logotipo incorporado como data URL. Renderize-o em um frame isolado (sandbox), nunca diretamente no DOM da sua aplicação.
"<!DOCTYPE html><html><body>...</body></html>"
O texto do e-mail em texto simples, como a conversa de Mensagens da pessoa o mantém, para uma pré-visualização compacta (o HTML continua sendo 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 é oferecido.
"en"
Indica se confirmar a alteração com send_email: true envia este e-mail. false quando not_sent_reason está definido.
true
Por que a confirmação não enviaria nenhum e-mail, ou null quando ele será enviado. status_unchanged: a sessão já tem esse status, então a atualização não muda nada e não envia nada. notification_emails_disabled: a sessão foi criada sem contact_details.send_notification_emails: true, então nenhum e-mail de decisão é enviado ao endereço informado em contact_details. no_recipient: nenhum endereço é conhecido para a pessoa. sandbox: uma sessão sandbox cujo destinatário não ativou a entrega de e-mails no sandbox, então 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 status da sessão. Uma string vazia quando não há destinatário.
"eyJkaWdlc3QiOiI0ZjJhIn0:1uExAm:Pl3x4mpleS1gnatureValue000000000000000"