Send verification request using WhatsApp
You can start the verification process by sending a verify request to the Verify API. The following example will send a request that uses WhatsApp for verification.
WhatsApp Modes (OTP and Zero-tap)
WhatsApp verification supports an optional mode parameter in the workflow item:
otp_code(default): sends a one-time code to WhatsApp for the user to enter.zero_tap(Android): enables a more seamless, zero-tap experience.
If mode is not specified, it defaults to otp_code.
Note: Zero-tap for WhatsApp is available for Android devices and requires provisioning. To initiate provisioning, contact Support or your Account Manager and provide your waba_id, along with the corresponding package_name and signature_hash for that WABA.
Where needed, replace the following variables in the sample code with your own values:
| Key | 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 |
Run your code
Save this file to your machine and run it:
Prerequisites
Create a file named send-request-whatsapp.js and add the following code:
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,
});Write the code
Add the following to 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));Run your code
Save this file to your machine and run it:
Prerequisites
Add the following to build.gradle:
Create a file named SendVerificationRequestWhatsapp and add the following code to the main method:
Write the code
Add the following to the main method of the SendVerificationRequestWhatsapp file:
Run your code
We can use the application plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:
Run the following gradle command to execute your application, replacing com.vonage.quickstart.kt.verify with the package containing SendVerificationRequestWhatsapp:
Prerequisites
Add the following to build.gradle:
Create a file named SendRequestWhatsapp and add the following code to the main method:
VonageClient client = VonageClient.builder()
.applicationId(VONAGE_APPLICATION_ID)
.privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
.build();Write the code
Add the following to the main method of the SendRequestWhatsapp file:
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());Run your code
We can use the application plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:
Run the following gradle command to execute your application, replacing com.vonage.quickstart.verify2 with the package containing SendRequestWhatsapp:
Prerequisites
Create a file named StartVerificationRequestWhatsApp.cs and add the following code:
using Vonage;
using Vonage.Request;
using Vonage.VerifyV2.StartVerification;
using Vonage.VerifyV2.StartVerification.WhatsApp;Add the following to StartVerificationRequestWhatsApp.cs:
var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_APPLICATION_PRIVATE_KEY_PATH);
var client = new VonageClient(credentials);Write the code
Add the following to StartVerificationRequestWhatsApp.cs:
var request = StartVerificationRequest.Build()
.WithBrand(BRAND_NAME)
.WithWorkflow(WhatsAppWorkflow.Parse(TO_NUMBER, FROM_NUMBER))
.Create();
var response = await client.VerifyV2Client.StartVerificationAsync(request);Prerequisites
Create a file named request.php and add the following code:
Run your code
Save this file to your machine and run it:
Prerequisites
Run your code
Save this file to your machine and run it:
Prerequisites
Create a file named request.rb and add the following code:
Run your code
Save this file to your machine and run it:
Tip: To enable Zero-tap, set mode to zero_tap for the WhatsApp workflow item (see the API specification for the full request schema).