Envoyer une demande de vérification par WhatsApp

Vous pouvez lancer le processus de vérification en envoyant un demande de vérification à l'API Verify. L'exemple suivant envoie une demande qui utilise WhatsApp pour vérification.

Modes WhatsApp (OTP et Zero-tap)

La vérification de WhatsApp prend en charge une option de mode dans l'élément de workflow :

  • otp_code (par défaut) : envoie un code à usage unique à WhatsApp pour que l'utilisateur le saisisse.
  • zero_tap (Android) : permet une expérience plus transparente, sans aucune touche.

Si mode n'est pas spécifié, il prend par défaut la valeur otp_code.

Remarque : Zero-tap for WhatsApp est disponible pour les appareils Android et nécessite un provisionnement. Pour lancer le provisionnement, contactez l'assistance ou votre Account Manager et fournissez votre waba_idainsi que les package_name et signature_hash pour cette WABA.

Le cas échéant, remplacez les variables suivantes dans l'exemple de code par vos propres valeurs :

CléDescription
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

Rédiger le code

Ajouter ce qui suit à 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'"
      }
   ]
}'

Voir la source complète

Exécutez votre code

Enregistrez ce fichier sur votre machine et exécutez-le :

sh send-request-whatsapp.sh

Conditions préalables

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

Créez un fichier nommé send-request-whatsapp.js et ajoutez le code suivant :

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,
});

Voir la source complète

Rédiger le code

Ajouter ce qui suit à 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));

Voir la source complète

Exécutez votre code

Enregistrez ce fichier sur votre machine et exécutez-le :

node send-request-whatsapp.js

Conditions préalables

Ajouter ce qui suit à build.gradle:

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

Créez un fichier nommé SendVerificationRequestWhatsapp et ajoutez le code suivant à la méthode main:

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

Voir la source complète

Rédiger le code

Ajouter ce qui suit à la méthode main du fichier SendVerificationRequestWhatsapp:

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

Voir la source complète

Exécutez votre code

Nous pouvons utiliser le plugin application pour Gradle afin de simplifier l'exécution de notre application. Mettez à jour votre build.gradle avec ce qui suit :

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

Lancez la commande suivante gradle pour exécuter votre application, en remplaçant com.vonage.quickstart.kt.verify par le paquet contenant SendVerificationRequestWhatsapp:

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

Conditions préalables

Ajouter ce qui suit à build.gradle:

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

Créez un fichier nommé SendRequestWhatsapp et ajoutez le code suivant à la méthode main:

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

Voir la source complète

Rédiger le code

Ajouter ce qui suit à la méthode main du fichier 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());

Voir la source complète

Exécutez votre code

Nous pouvons utiliser le plugin application pour Gradle afin de simplifier l'exécution de notre application. Mettez à jour votre build.gradle avec ce qui suit :

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

Lancez la commande suivante gradle pour exécuter votre application, en remplaçant com.vonage.quickstart.verify2 par le paquet contenant SendRequestWhatsapp:

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

Conditions préalables

Install-Package Vonage

Créez un fichier nommé StartVerificationRequestWhatsApp.cs et ajoutez le code suivant :

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

Voir la source complète

Ajouter ce qui suit à StartVerificationRequestWhatsApp.cs:

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

Voir la source complète

Rédiger le code

Ajouter ce qui suit à StartVerificationRequestWhatsApp.cs:

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

Voir la source complète

Conditions préalables

composer require vonage/client

Créez un fichier nommé request.php et ajoutez le code suivant :

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

Voir la source complète

Rédiger le code

Ajouter ce qui suit à request.php:

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

Voir la source complète

Exécutez votre code

Enregistrez ce fichier sur votre machine et exécutez-le :

php request.php

Conditions préalables

pip install vonage python-dotenv

Rédiger le code

Ajouter ce qui suit à 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)

Voir la source complète

Exécutez votre code

Enregistrez ce fichier sur votre machine et exécutez-le :

python verify/send-request-whatsapp.py

Conditions préalables

gem install vonage

Créez un fichier nommé request.rb et ajoutez le code suivant :

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

Voir la source complète

Rédiger le code

Ajouter ce qui suit à request.rb:

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

Voir la source complète

Exécutez votre code

Enregistrez ce fichier sur votre machine et exécutez-le :

ruby request.rb

Conseil : Pour activer le Zero-tap, définissez mode à zero_tap pour l'élément de workflow WhatsApp (voir la section Spécification API pour le schéma complet de la demande).