Enviar solicitação de verificação pelo WhatsApp

Você pode iniciar o processo de verificação enviando um verificar solicitação para uma API Verify. O exemplo a seguir enviará uma solicitação que utiliza WhatsApp para verificação.

Modos do WhatsApp (OTP e Zero-tap)

A verificação do WhatsApp oferece uma opção mode parâmetro no item do fluxo de trabalho:

  • otp_code (padrão): envia um código de uso único para o WhatsApp, para que o usuário o insira.
  • zero_tap (Android): proporciona uma experiência mais fluida, sem a necessidade de tocar na tela.

Se mode Se não for especificado, o valor padrão é otp_code.

Observação: O Zero-tap para o WhatsApp está disponível para dispositivos Android e requer provisionamento. Para iniciar o provisionamento, entre em contato com o Suporte ou com seu gerente de Accounts e forneça seu waba_id, juntamente com o correspondente package_name e signature_hash para aquela WABA.

Quando necessário, substitua as seguintes variáveis no código de exemplo pelos seus próprios valores:

ChaveDescrição
JWT

Used to authenticate your request. See Authentication for more information, including how to generate a JWT.

BRAND_NAME

Included in the message to explain who is confirming the phone number

VONAGE_APPLICATION_PRIVATE_KEY_PATH

Private key path.

VONAGE_APPLICATION_ID

The Vonage Application ID.

TO_NUMBER

The phone number to verify

Escreva o código

Adicione o seguinte ao arquivo ` send-request-whatsapp.sh`:

curl -X POST "https://api.nexmo.com/v2/verify" \
  -H "Authorization: Bearer $JWT"\
  -H 'Content-Type: application/json' \
  -d $'{
	 "brand": "'$VERIFY_BRAND_NAME'",
   "workflow": [
      {
         "channel": "whatsapp",
         "to": "'$VERIFY_NUMBER'"
      }
   ]
}'

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

sh send-request-whatsapp.sh

Pré-requisitos

npm install @vonage/server-sdk @vonage/verify2

Crie um arquivo chamado ` send-request-whatsapp.js ` e insira o seguinte código:

const { Vonage } = require('@vonage/server-sdk');
const { Channels } = require('@vonage/verify2');

const vonage = new Vonage({
  applicationId: VONAGE_APPLICATION_ID,
  privateKey: VONAGE_APPLICATION_PRIVATE_KEY_PATH,
});

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao arquivo ` send-request-whatsapp.js`:

vonage.verify2.newRequest({
  brand: VERIFY_BRAND_NAME,
  workflow: [
    {
      channel: Channels.WHATSAPP,
      to: VERIFY_NUMBER,
    },
  ],
})
  .then(({requestId}) => console.log(requestId))
  .catch((err) => console.error(err));

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

node send-request-whatsapp.js

Pré-requisitos

Adicione o seguinte ao arquivo ` build.gradle`:

implementation 'com.vonage:server-sdk-kotlin:2.1.1'

Crie um arquivo chamado ` SendVerificationRequestWhatsapp ` e adicione o código a seguir ao método ` main `:

val client = Vonage {
    applicationId(VONAGE_APPLICATION_ID)
    privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
}

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao método ` main ` do arquivo ` SendVerificationRequestWhatsapp `:

val response = client.verify.sendVerification(VERIFY_BRAND_NAME) {
    whatsapp(VERIFY_NUMBER, VERIFY_WHATSAPP_NUMBER)
}
println("Verification sent: ${response.requestId}")

Ver código-fonte completo

Execute seu código

Podemos usar o plugin “ aplicativo ” para o Gradle a fim de simplificar a execução do nosso aplicativo. Atualize seu arquivo ` build.gradle ` com o seguinte:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Execute o seguinte comando ` gradle ` para rodar seu aplicativo, substituindo ` com.vonage.quickstart.kt.verify ` pelo pacote que contém ` SendVerificationRequestWhatsapp`:

gradle run -Pmain=com.vonage.quickstart.kt.verify.SendVerificationRequestWhatsapp

Pré-requisitos

Adicione o seguinte ao arquivo ` build.gradle`:

implementation 'com.vonage:server-sdk:9.3.1'

Crie um arquivo chamado ` SendRequestWhatsapp ` e adicione o código a seguir ao método ` main `:

VonageClient client = VonageClient.builder()
		.applicationId(VONAGE_APPLICATION_ID)
		.privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
		.build();

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao método ` main ` do arquivo ` SendRequestWhatsapp `:

VerificationResponse response = client.getVerify2Client().sendVerification(
		VerificationRequest.builder()
			.addWorkflow(new WhatsappWorkflow(VERIFY_NUMBER, VERIFY_WHATSAPP_NUMBER))
			.brand(VERIFY_BRAND_NAME).build()
);
System.out.println("Verification sent: " + response.getRequestId());

Ver código-fonte completo

Execute seu código

Podemos usar o plugin “ aplicativo ” para o Gradle a fim de simplificar a execução do nosso aplicativo. Atualize seu arquivo ` build.gradle ` com o seguinte:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Execute o seguinte comando ` gradle ` para rodar seu aplicativo, substituindo ` com.vonage.quickstart.verify2 ` pelo pacote que contém ` SendRequestWhatsapp`:

gradle run -Pmain=com.vonage.quickstart.verify2.SendRequestWhatsapp

Pré-requisitos

Install-Package Vonage

Crie um arquivo chamado ` StartVerificationRequestWhatsApp.cs ` e insira o seguinte código:

using Vonage;
using Vonage.Request;
using Vonage.VerifyV2.StartVerification;
using Vonage.VerifyV2.StartVerification.WhatsApp;

Ver código-fonte completo

Adicione o seguinte ao arquivo ` StartVerificationRequestWhatsApp.cs`:

var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_APPLICATION_PRIVATE_KEY_PATH);
var client = new VonageClient(credentials);

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao arquivo ` StartVerificationRequestWhatsApp.cs`:

var request = StartVerificationRequest.Build()
    .WithBrand(BRAND_NAME)
    .WithWorkflow(WhatsAppWorkflow.Parse(TO_NUMBER, FROM_NUMBER))
    .Create();
var response = await client.VerifyV2Client.StartVerificationAsync(request);

Ver código-fonte completo

Pré-requisitos

composer require vonage/client

Crie um arquivo chamado ` request.php ` e insira o seguinte código:

$client = new Vonage\Client(
    new Vonage\Client\Credentials\Keypair(VONAGE_APPLICATION_PRIVATE_KEY_PATH, VONAGE_APPLICATION_ID),
);

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao arquivo ` request.php`:

$newRequest = new \Vonage\Verify2\Request\WhatsAppRequest(VERIFY_NUMBER, VERIFY_BRAND_NAME);
$client->verify2()->startVerification($newRequest);

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

php request.php

Pré-requisitos

pip install vonage python-dotenv

Escreva o código

Adicione o seguinte ao arquivo ` send-request-whatsapp.py`:

from vonage import Auth, Vonage
from vonage_verify import (StartVerificationResponse, VerifyRequest,
                           WhatsappChannel)

client = Vonage(
    Auth(
        application_id=VONAGE_APPLICATION_ID,
        private_key=VONAGE_PRIVATE_KEY,
    )
)

verify_request = VerifyRequest(
    brand=VERIFY_BRAND_NAME,
    workflow=[
        WhatsappChannel(to=VERIFY_NUMBER, from_=VERIFY_FROM_NUMBER),
    ],
)

response: StartVerificationResponse = client.verify.start_verification(verify_request)
pprint(response)

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

python verify/send-request-whatsapp.py

Pré-requisitos

gem install vonage

Crie um arquivo chamado ` request.rb ` e insira o seguinte código:

client = Vonage::Client.new(
  application_id: VONAGE_APPLICATION_ID,
  private_key: VONAGE_PRIVATE_KEY
)

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao arquivo ` request.rb`:

client.verify2.start_verification(
  brand: VERIFY_BRAND_NAME,
  workflow: [
    {
      channel: 'whatsapp',
      to: VERIFY_NUMBER,
      from: VERIFY_FROM_NUMBER
    }
  ]
)

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

ruby request.rb

Dica: Para ativar o Zero-tap, defina mode para zero_tap para o item de fluxo de trabalho do WhatsApp (consulte o Especificação da API (para o esquema completo da solicitação).