Send verification code with workflow
When you have collected a user's phone number, start the verification process by sending a verify request to the Verify API. This example includes use of a specific workflow for the request.
The Verify API returns a request_id
. Use this to identify a specific verification request in subsequent calls to the API, such as when making a check request to see if the user provided the correct code.
Replace the following variables in the sample code with your own values:
Key | Description |
---|---|
VONAGE_API_KEY |
Your Vonage API key (see it on your dashboard). |
VONAGE_API_SECRET |
Your Vonage API secret (also available on your dashboard). |
RECIPIENT_NUMBER |
The phone number to verify |
BRAND_NAME |
Included in the message to explain who is confirming the phone number |
WORKFLOW_ID |
Choose a workflow (number between 1 and 7), these are defined in the workflows guide |
Write the code
Add the following to send-verification-code-with-workflow.sh
:
curl -X GET "https://api.nexmo.com/verify/json?&api_key=$VONAGE_API_KEY&api_secret=$VONAGE_API_SECRET&number=$RECIPIENT_NUMBER&brand=AcmeInc&workflow_id=$WORKFLOW_ID"
Run your code
Save this file to your machine and run it:
sh send-verification-code-with-workflow.sh
Prerequisites
npm install @vonage/server-sdk
Create a file named request-with-workflow.js
and add the following code:
const Vonage = require('@vonage/server-sdk');
const vonage = new Vonage({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET
});
Write the code
Add the following to request-with-workflow.js
:
vonage.verify.request({
number: RECIPIENT_NUMBER,
brand: BRAND_NAME,
workflow_id: WORKFLOW_ID
}, (err, result) => {
if (err) {
console.error(err);
} else {
const verifyRequestId = result.request_id;
console.log('request_id', verifyRequestId);
}
});
Run your code
Save this file to your machine and run it:
node request-with-workflow.js
Prerequisites
Add the following to `build.gradle`:
compile 'com.vonage:client:6.2.0'
Create a class named StartVerificationWithWorkflow
and add the following code to the main
method:
VonageClient client = VonageClient.builder().apiKey(VONAGE_API_KEY).apiSecret(VONAGE_API_SECRET).build();
Write the code
Add the following to the main
method of the StartVerificationWithWorkflow
class:
VerifyResponse response = client.getVerifyClient().verify(RECIPIENT_NUMBER,BRAND_NAME, VerifyRequest.Workflow.TTS_TTS);
if (response.getStatus() == VerifyStatus.OK) {
System.out.printf("RequestID: %s", response.getRequestId());
} else {
System.out.printf("ERROR! %s: %s", response.getStatus(), response.getErrorText());
}
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:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''
Run the following gradle
command to execute your application, replacing com.vonage.quickstart.verify
with the package containing StartVerificationWithWorkflow
:
gradle run -Pmain=com.vonage.quickstart.verify.StartVerificationWithWorkflow
Prerequisites
Install-Package Vonage
Create a file named SendVerificationRequestWithWorkflow.cs
and add the following code:
using Vonage;
using Vonage.Request;
using Vonage.Verify;
Add the following to SendVerificationRequestWithWorkflow.cs
:
var credentials = Credentials.FromApiKeyAndSecret(vonageApiKey, vonageApiSecret);
Write the code
Add the following to SendVerificationRequestWithWorkflow.cs
:
var request = new VerifyRequest() { Brand = brandName, Number = recipientNumber, WorkflowId = VerifyRequest.Workflow.TTS };
Prerequisites
composer require vonage/client
Create a file named request_with_workflow.php
and add the following code:
$basic = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client(new \Vonage\Client\Credentials\Container($basic));
Write the code
Add the following to request_with_workflow.php
:
$request = new \Vonage\Verify\Request(NUMBER, BRAND_NAME, (int) WORKFLOW_ID);
$response = $client->verify()->start($request);
echo "Started verification, `request_id` is " . $response->getRequestId();
Run your code
Save this file to your machine and run it:
php request_with_workflow.php
Prerequisites
pip install vonage python-dotenv
Create a file named send-verification-request-with-workflow.py
and add the following code:
import os
from os.path import join, dirname
from dotenv import load_dotenv
import vonage
Add the following to send-verification-request-with-workflow.py
:
response = client.verify.start_verification(
Write the code
Add the following to send-verification-request-with-workflow.py
:
)
if response["status"] == "0":
print("Started verification request_id is %s" % (response["request_id"]))
else:
print("Error: %s" % response["error_text"])
Run your code
Save this file to your machine and run it:
python send-verification-request-with-workflow.py
Prerequisites
gem install vonage
Create a file named request_with_workflow.rb
and add the following code:
client = Vonage::Client.new(
api_key: VONAGE_API_KEY,
api_secret: VONAGE_API_SECRET
)
Write the code
Add the following to request_with_workflow.rb
:
response = client.verify.request(
number: TO_NUMBER,
brand: 'AcmeInc',
workflow_id: WORKFLOW_ID
)
if response
# display the Verify `request_id`
puts response.request_id
end
Run your code
Save this file to your machine and run it:
ruby request_with_workflow.rb
Note: If you receive the error code 15: The destination number is not in a supported network
, the target network might have been blocked by the platform's anti-fraud system. See Velocity Rules.