这份文档还在翻译中,预期年底前完成。欢迎您提供宝贵的意见及建议。

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.2.1'
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
Import dependencies

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

Copy to Clipboard
using Nexmo.Api;
using Nexmo.Api.Request;
using Nexmo.Api.Verify;

View full source

Initialize your dependencies

Add the following to TriggerNextVerificationProcess.cs:

Copy to Clipboard
var credentials = Credentials.FromApiKeyAndSecret(NEXMO_API_KEY, NEXMO_API_SECRET);
var client = new NexmoClient(credentials);

View full source

Write the code

Add the following to TriggerNextVerificationProcess.cs:

Copy to Clipboard
var request = new VerifyControlRequest() { RequestId = REQUEST_ID, Cmd = "trigger_next_event" };

var response = client.VerifyClient.VerifyControl(request);

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
  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