Trigger next verification process

The Verify API starts the verification process by sending an SMS to the user. If the user does not confirm the code that they received within a certain time period, the Verify API sends a second SMS. If that does not elicit a response it attempts a Text-to-Speech (TTS) call.

You can advance to the next verification attempt programmatically by making a control request. You would normally do this if your user indicates that they prefer to verify via a phone call instead of by SMS. An alternative approach in this situation is to use an appropriate workflow for the user's preference.

Replace the following variables in the sample code with your own values:

Name Description
NEXMO_API_KEY Your Nexmo API key
NEXMO_API_SECRET Your Nexmo API secret
REQUEST_ID The ID of the Verify request you wish to cancel (this is returned in the API response when you send a verification code)

Write the code

Add the following to trigger-next-verification-process.sh:

Copy to Clipboard
curl -X GET "https://api.nexmo.com/verify/control/json?api_key=$NEXMO_API_KEY&api_secret=$NEXMO_API_SECRET&request_id=$REQUEST_ID&cmd=trigger_next_event"

View full source

Run your code

Save this file to your machine and run it:

sh trigger-next-verification-process.sh

Prerequisites

Install dependencies

npm install nexmo
Initialize your dependencies

Create a file named next-event.js and add the following code:

Copy to Clipboard
const Nexmo = require('nexmo');
const nexmo = new Nexmo({
  apiKey: NEXMO_API_KEY,
  apiSecret: NEXMO_API_SECRET
}, {
  debug: true
});

View full source

Write the code

Add the following to next-event.js:

Copy to Clipboard
nexmo.verify.control({
  request_id: REQUEST_ID,
  cmd: 'trigger_next_event'
}, (err, result) => {
  if (err) {
    console.error(err);
  } else {
    console.log(result);
  }
});

View full source

Run your code

Save this file to your machine and run it:

node next-event.js

Prerequisites

Install dependencies

Add the following to build.gradle:

compile 'com.nexmo:client:5.1.0'
Initialize your dependencies

Create a class named AdvanceVerification and add the following code to the main method:

Copy to Clipboard
NexmoClient client = NexmoClient.builder().apiKey(NEXMO_API_KEY).apiSecret(NEXMO_API_SECRET).build();

View full source

Write the code

Add the following to the main method of the AdvanceVerification class:

Copy to Clipboard
client.getVerifyClient().advanceVerification(REQUEST_ID);

View full source

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.nexmo.quickstart.verify with the package containing AdvanceVerification:

gradle run -Pmain=com.nexmo.quickstart.verify.AdvanceVerification

Prerequisites

Install dependencies

Install-Package Nexmo.Csharp.Client
Initialize your dependencies

Create a file named VerifySender.cs and add the following code:

Copy to Clipboard
const string API_KEY = "NEXMO_API_KEY";
const string API_SECRET = "NEXMO_API_SECRET";

var client = new Client(creds: new Nexmo.Api.Request.Credentials(
    nexmoApiKey: API_KEY, nexmoApiSecret: API_SECRET));

View full source

Write the code

Add the following to VerifySender.cs:

Copy to Clipboard
var result = client.NumberVerify.Control(new NumberVerify.ControlRequest
{
    request_id = REQUEST_ID,
    cmd = "trigger_next_event"
});

View full source

Prerequisites

Install dependencies

composer require nexmo/client
Initialize your dependencies

Create a file named trigger_next_event.php and add the following code:

Copy to Clipboard
$basic  = new \Nexmo\Client\Credentials\Basic(NEXMO_API_KEY, NEXMO_API_SECRET);
$client = new \Nexmo\Client(new \Nexmo\Client\Credentials\Container($basic));

View full source

Write the code

Add the following to trigger_next_event.php:

Copy to Clipboard
$result = $client->verify()->trigger(REQUEST_ID);

View full source

Run your code

Save this file to your machine and run it:

php trigger_next_event.php

Prerequisites

Install dependencies

pip install nexmo
Initialize your dependencies

Create a file named trigger-next-step.py and add the following code:

Copy to Clipboard
import nexmo

client = nexmo.Client(key=NEXMO_API_KEY, secret=NEXMO_API_SECRET)

View full source

Write the code

Add the following to trigger-next-step.py:

Copy to Clipboard
response = client.trigger_next_verification_event(REQUEST_ID)

if response["status"] == "0":
    print("Next verification stage triggered")
else:
    print("Error: %s" % response["error_text"])

View full source

Run your code

Save this file to your machine and run it:

python trigger-next-step.py

Prerequisites

Install dependencies

gem install nexmo
Initialize your dependencies

Create a file named trigger_next_event.rb and add the following code:

Copy to Clipboard
client = Nexmo::Client.new(
  api_key: NEXMO_API_KEY,
  api_secret: NEXMO_API_SECRET
)

View full source

Write the code

Add the following to trigger_next_event.rb:

Copy to Clipboard
response = client.verify.trigger_next_event(REQUEST_ID)

if response.status == '0'
  puts 'Next event triggered'
else
  puts response.error_text
end

View full source

Run your code

Save this file to your machine and run it:

ruby trigger_next_event.rb