Guia de verificação da migração

O guia a seguir irá ajudá-lo a migrar do Verify Legacy, que está obsoleto, para Verify. Para isso, você precisa atualizar as URLs dos seus endpoints para que chamem a nova versão e modificar as configurações do seu aplicativo; não é necessário preencher nenhum formulário de pré-registro para começar a usar Verify.

Resumo

A API Vonage Verify é um serviço que permite aos desenvolvedores implementar a autenticação de dois fatores (2FA) para proteger contra fraudes e garantir a autenticidade do usuário. A Vonage oferece duas versões dessa API: a Legacy e a atual Verify. Embora ambas as versões tenham a mesma função principal, há diferenças significativas em seus recursos, funcionalidades e uso.

Principais diferenças

  • Flexibilidade e personalização: Verify agora oferece uma criação de fluxos de trabalho mais flexível e opções de personalização aprimoradas, como um sistema de gerenciamento de modelos personalizados com mais recursos em comparação com a versão antiga.
  • Suporte ao canal: O “Verify” agora oferece suporte adicional para verificação por meio de vários novos canais, como Silent Auth, RCS, WhatsApp e e-mail, enquanto o “Legacy” se limita a SMS e chamadas de voz.
  • Recursos de segurança: O Verify agora inclui recursos de segurança aprimorados e está em conformidade com as normas mais recentes.
  • Proteção contra fraudes: Os clientes que migrarem do Verify Legacy para a nova API do Verify terão proteção e acesso a Vonage Fraud Defender Advanced sem custo adicional.
  • Tratamento de erros: O “Verify” agora oferece mensagens de erro mais detalhadas e um tratamento aprimorado, além de mecanismos mais avançados de limitação de taxa e de novas tentativas automáticas.
  • Projeto e integração de APIs: O Verify oferece suporte tanto a padrões de integração síncronos quanto assíncronos.

Comparação de recursos

Recurso/Função Verify (Versão antiga) Verify
Verificação básica SMS, Voz Autenticação silenciosa, RCS, SMS, voz, e-mail, WhatsApp
Tratamento do ID da solicitação Sistema básico de identificação de solicitações Rastreamento aprimorado de IDs de solicitações com mais metadados
Configuração personalizada do fluxo de trabalho Limitada Amplo, incluindo diversas configurações de canais
Gerenciamento da validade do PIN Configurável, mas com limite (60 a 3.600 segundos) Controle mais detalhado sobre a validade do PIN e os horários dos eventos
Conformidade com as normas de segurança Básico, em conformidade com padrões mais antigos Avançado, em conformidade com os mais recentes padrões de segurança
Tratamento de erros Mensagens básicas de erro Mensagens de erro detalhadas com códigos de erro abrangentes
Limitação de taxa Limitação básica de taxa Mecanismos aprimorados de limitação de taxa
Mecanismo de nova tentativa Retenta básica em caso de falha Lógica avançada de repetição de tentativas com fluxos de trabalho personalizáveis
Análise e Relatórios Recursos limitados de geração de relatórios Análises aprimoradas e relatórios detalhados
Suporte à localização Localização básica (idiomas limitados) Localização aprimorada, com mais idiomas e mensagens personalizadas
Documentação e suporte da API Documentação abrangente, mas um pouco desatualizada Documentação moderna, detalhada e mais fácil de usar
Autenticação api_key + api_secret parâmetros de consulta e/ou corpo da solicitação Autenticação básica (cabeçalho) ou JWT Bearer (recomendado) — consulte Guia de autenticação

Chamadas de API

Importante: Verify se a v2 é compatível com a autenticação básica e com o JWT Bearer (não api_key / api_secret). Recomenda-se o uso do JWT Bearer. Antes de realizar qualquer chamada à API v2, crie um aplicativo da Vonage no Painel de controle, gerar application ID e private key, e usá-los para assinar JWTs. Consulte o Guia de autenticação.

O modo assíncrono foi introduzido no Verify, permitindo que você receba mensagens e status de chamadas por webhook, recebendo tanto eventos (no caso de whatsapp_interactive) e callbacks de resumo. Você também pode usá-lo de forma síncrona com redirect_url e check_url.

Você deve configurar seus webhooks para os callbacks do Verify na seção “Aplicativo” do Painel do Cliente:

Webhooks can be configured on the customer dashboard

É possível encontrar mais documentação sobre webhooks em aqui.

Pontos finais

Todas as chamadas à API do Verify precisam ser atualizadas para usar o novo endpoint:

Função Verify (Versão antiga) Verify
Enviar solicitação de verificação POST https://api.nexmo.com/verify/ POST https://api.nexmo.com/v2/verify
Solicitação de verificação de cheque POST https://api.nexmo.com/verify/check/:format POST https://api.nexmo.com/v2/verify/:request_id
Verify Search https://api.nexmo.com/verify/search/:format Não está disponível no momento. Enquanto isso, use os status enviados aos seus webhooks para monitorar solicitações anteriores ou atuais. Consulte Callbacks de resumo e Webhooks.
Cancelar solicitação POST https://api.nexmo.com/verify/control/:format com cmd = cancel DELETE https://api.nexmo.com/v2/verify/:request_id
Acionar o próximo evento no fluxo de trabalho POST https://api.nexmo.com/verify/control/:format com cmd = trigger_next_event POST https://api.nexmo.com/v2/verify/:request_id/next-workflow
Modelos personalizados POST https://api.nexmo.com/verify/templates GET https://api.nexmo.com/v2/verify/templates

POST https://api.nexmo.com/v2/verify/templates

GET https://api.nexmo.com/v2/verify/templates/:template_id

PATCH https://api.nexmo.com/v2/verify/templates/:template_id

DELETE https://api.nexmo.com/v2/verify/templates/:template_id
PSD2 POST https://api.nexmo.com/verify/psd2/:format Obsoleto
Desbloqueio de rede POST https://api.nexmo.com/verify/network-unblock POST https://api.nexmo.com/v2/verify/network-unblock

Fluxos de trabalho

Verify oferece a flexibilidade de definir seu próprio fluxo de trabalho, ao contrário dos fluxos de trabalho fixos do Legacy. Você pode especificar qualquer combinação de canais de suporte de sua escolha no fluxo de trabalho, até um máximo de três canais.

É possível encontrar mais documentação sobre fluxos de trabalho aqui.

Canais

Agora há novos canais disponíveis no Verify:

  • SMS
  • Voz (anteriormente TTS na versão antiga)
  • WhatsApp
  • E-mail
  • Autenticação silenciosa
  • RCS

Para obter informações mais detalhadas sobre esses canais, consulte o Especificação da API.

A documentação específica sobre autenticação silenciosa pode ser encontrada aqui.

Callbacks de resumo

As chamadas de retorno são enviadas ao seu webhook com o status do evento, correspondente request_id & canal. Os diagramas de sequência a seguir mostram como isso funciona ao usar um único canal ou vários canais em seu fluxo de trabalho.

Canal único

Summary Callback: Single channel in the workflow

Vários canais

Summary Callback: Multiple channels in the workflow

Códigos de resposta

Além de alterar seus endpoints, suas Applications também precisam ser atualizadas para reconhecer os códigos de resposta recebidos ao usar o Verify:

Código HTTP Definição
Criação de uma solicitação: POST /v2/verify
202 O pedido foi aceito. Entrega em andamento.
409 Há uma solicitação em andamento para esse número.
422 Ocorreu um erro ao processar a solicitação.
Validação de uma solicitação: POST /v2/verify/{request_id}
200 Sucesso! O código correto foi fornecido.
400 Foi inserido um código incorreto.
404 Não foi possível encontrar a solicitação.
409 A ação atual não oferece suporte à verificação de pinos.
410 O código incorreto foi fornecido várias vezes.
422 Não foi possível validar a solicitação.

Cancelamento de solicitação

Verify (Versão antiga) Verify
Verify controle pode ser usado para cancelar uma solicitação de verificação em andamento. Não é possível cancelar nos primeiros 30 segundos após a solicitação. Envie um pedido de cancelamento - se a solicitação de verificação estiver ativa, ela interrompe o fluxo de trabalho.

Modelos

Verify (Versão antiga) Verify
Os clientes podem usar um modelo personalizado para enviar mensagens de verificação (documentação) Verify oferece suporte tanto a modelos predefinidos quanto a modelos personalizados. Gerencie os modelos usando o Guia de gerenciamento de modelos.

Conformidade com a PSD2

Verify (Versão antiga) Verify
Está em conformidade com a PSD2? Obsoleto

Solicitação de verificação de pesquisa

Verify (Versão antiga) Verify
Uso Verify Search para verificar o status de solicitações de verificação anteriores ou atuais. Use os status enviados aos seus webhooks para monitorar solicitações anteriores ou atuais. Consulte Callbacks de resumo e Webhooks.

Gestão de fraudes

Observe que os bloqueios de rede são aplicados apenas aos canais de SMS e voz na API Verify.

Verify (Versão antiga) Verify
Os blocos acionados por regras de velocidade são respondidos com Erro 7 Os blocos acionados por regras de velocidade são exibidos com o status blocked e a razão Fraudulent traffic detected for your account on network [23415]. na função de retorno de chamada de resumo
Os desbloqueios de rede podem ser emitidos por meio do API de desbloqueio de rede. Utiliza a mesma API para desbloqueios.
Mais informações: Sistema Antifraude Antigo Mais documentação: Sistema Antifraude

Verify diagramas de sequência

Verify o fluxo

Verify Flow

Verify solicitação com callbacks de resumo

Verify Request with Summary Callbacks

Diagrama de sequência de autenticação silenciosa

Silent Authentication Sequence Diagram

Verify a análise dos parâmetros de carga útil entre a V1 e a V2

Autenticação (Verify v2): Verifique se a v2 utiliza a autenticação JWT Bearer. Gere um JWT usando seu ID de aplicativo e sua chave privada da Vonage e envie-o no Authorization cabeçalho (leia mais no Guia de autenticação). api_key e api_secret não estão incluídos na carga útil da solicitação v2.

Enviar solicitação de verificação

Parâmetro Verify (Versão antiga) Verify (V2) Notas
Chave da API api_key N/A
Segredo da API api_secret N/A
Número de telefone number to
Marca brand Incluído em workflow.channels.template
ID do remetente sender_id from Aplicável a channel = SMS & Email na V2
Comprimento do código code_length code_length
Idioma lg locale
Validade do PIN pin_expiry channel_timeout
Próximo evento: Aguarde next_event_wait N/A
Identificador do fluxo de trabalho workflow_id Fluxo de trabalho personalizado em workflow.channels Configuração flexível dos canais no fluxo de trabalho
Código personalizado pin_code code
Modelo N/A template_id Gerenciamento de modelos documentação para a V2
E-mail N/A workflow.channels.email
WhatsApp N/A workflow.channels.whatsapp
Autenticação silenciosa N/A workflow.channels.silent_auth
ID da entidade N/A entity_id Aplicável a channel = SMS na V2
ID do conteúdo N/A content_id Aplicável a channel = SMS na V2
Identificador do aplicativo N/A app_hash Aplicável a channel = SMS na V2

Solicitação de verificação de cheque

Parâmetro Verify (Versão antiga) Verify (V2)
Chave da API api_key N/A
Segredo da API api_secret N/A
ID da solicitação request_id request_id
Código code code

Solicitação de verificação de pesquisa

Parâmetro Verify (Versão antiga) Verify (V2)
Chave da API api_key N/A
Segredo da API api_secret N/A
ID da solicitação request_id N/A

Cancelar solicitação de verificação

Parâmetro Verify (Versão antiga) Verify (V2) Notas
Chave da API api_key N/A
Segredo da API api_secret N/A
ID da solicitação request_id request_id
Comando cmd=cancel N/A A V2 utiliza um endpoint dedicado para cancelamento.

Iniciar o próximo processo de verificação

Parâmetro Verify (Versão antiga) Verify (V2) Notas
Chave da API api_key N/A
Segredo da API api_secret N/A
ID da solicitação request_id request_id
Comando cmd=trigger_next_event N/A O V2 utiliza um endpoint dedicado para acionar a próxima ação.

Modelos personalizados

Parâmetro Verify (Versão antiga) Verify (V2)
Chave da API api_key N/A
Segredo da API api_secret N/A
Canal action_type channel
Idioma lg locale
Texto do modelo template text
Tipo de texto para SMS type N/A
URL do arquivo de mídia digit_n N/A
Início da mensagem welcome_message N/A
Fim da mensagem bye_message N/A
Tíquete do Zendesk contact_email N/A
Nome do modelo N/A name
Indicador de modelo padrão N/A is_default
Referência de modelos N/A template_id

Conformidade com a PSD2

Parâmetro Verify (Versão antiga) Verify (V2)
Chave da API api_key N/A
Segredo da API api_secret N/A
Número de telefone number N/A
Código do país country N/A
Nome do destinatário payee N/A
Valor do pagamento amount N/A
Comprimento do código code_length N/A
Idioma lg N/A
Vencimento do PIN pin_expiry N/A
Próximo evento: Aguarde next_event_wait N/A
Identificador do fluxo de trabalho workflow_id N/A

Mapeamento do fluxo de trabalho entre o Verify V1 e o Verify V2

Fluxo de trabalho 1 (padrão)

Padrão: SMS → TTS → TTS

Verify V1

{
  "api_key": "your_key",
  "api_secret": "your_secret",
  "number": "15555551234",
  "brand": "YourBrand",
  "workflow_id": 1
}

Verify V2

{
  "brand": "YourBrand",
  "workflow": [
    {"channel": "sms", "to": "15555551234"},
    {"channel": "voice", "to": "15555551234"},
    {"channel": "voice", "to": "15555551234"}
  ]
}

Fluxo de trabalho 2

Padrão: SMS → SMS → TTS

Verify V1

{
  "api_key": "your_key",
  "api_secret": "your_secret",
  "number": "15555551234",
  "brand": "YourBrand",
  "workflow_id": 2
}

Verify V2

{
  "brand": "YourBrand",
  "workflow": [
    {"channel": "sms", "to": "15555551234"},
    {"channel": "sms", "to": "15555551234"},
    {"channel": "voice", "to": "15555551234"}
  ]
}

Fluxo de trabalho 3

Padrão: TTS → TTS

Verify V1

{
  "api_key": "your_key",
  "api_secret": "your_secret",
  "number": "15555551234",
  "brand": "YourBrand",
  "workflow_id": 3
}

Verify V2

{
  "brand": "YourBrand",
  "workflow": [
    {"channel": "voice", "to": "15555551234"},
    {"channel": "voice", "to": "15555551234"}
  ]
}

Fluxo de trabalho 4

Padrão: SMS → SMS

Verify V1

{
  "api_key": "your_key",
  "api_secret": "your_secret",
  "number": "15555551234",
  "brand": "YourBrand",
  "workflow_id": 4
}

Verify V2

{
  "brand": "YourBrand",
  "workflow": [
    {"channel": "sms", "to": "15555551234"},
    {"channel": "sms", "to": "15555551234"}
  ]
}

Fluxo de trabalho 5

Padrão: SMS → TTS

Verify V1

{
  "api_key": "your_key",
  "api_secret": "your_secret",
  "number": "15555551234",
  "brand": "YourBrand",
  "workflow_id": 5
}

Verify V2

{
  "brand": "YourBrand",
  "workflow": [
    {"channel": "sms", "to": "15555551234"},
    {"channel": "voice", "to": "15555551234"}
  ]
}

Fluxo de trabalho 6

Padrão: SMS

Verify V1

{
  "api_key": "your_key",
  "api_secret": "your_secret",
  "number": "15555551234",
  "brand": "YourBrand",
  "workflow_id": 6
}

Verify V2

{
  "brand": "YourBrand",
  "workflow": [
    {"channel": "sms", "to": "15555551234"}
  ]
}

Fluxo de trabalho 7

Padrão: TTS

Verify V1

{
  "api_key": "your_key",
  "api_secret": "your_secret",
  "number": "15555551234",
  "brand": "YourBrand",
  "workflow_id": 7
}

Verify V2

{
  "brand": "YourBrand",
  "workflow": [
    {"channel": "voice", "to": "15555551234"}
  ]
}