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:
| 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). |
REQUEST_ID | The ID of the Verify request (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:
curl GET "https://api.nexmo.com/verify/control/json?api_key=$VONAGE_API_KEY&api_secret=$VONAGE_API_SECRET&request_id=$VERIFY_REQUEST_ID&cmd=trigger_next_event"Run your code
Save this file to your machine and run it:
Prerequisites
Add the following to build.gradle:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'Create a file named AdvanceVerification and add the following code to the main method:
val client = Vonage {
apiKey(VONAGE_API_KEY)
apiSecret(VONAGE_API_SECRET)
}Write the code
Add the following to the main method of the AdvanceVerification file:
val response = client.verifyLegacy.request(VERIFY_REQUEST_ID).advance()
println(response.errorText ?: "Verification advanced to next stage!")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.kt.verify.legacy with the package containing AdvanceVerification:
Prerequisites
Add the following to build.gradle:
implementation 'com.vonage:server-sdk:9.3.1'Create a file named AdvanceVerification 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 AdvanceVerification file:
ControlResponse response = client.getVerifyClient().advanceVerification(VERIFY_REQUEST_ID);
String errorText = response.getErrorText();
if (errorText != null) {
System.out.println("Couldn't advance workflow: " + errorText);
}
else {
System.out.println("Verification advanced to next stage!");
}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 AdvanceVerification:
Prerequisites
Install-Package VonageCreate a file named TriggerNextVerificationProcess.cs and add the following code:
using Vonage;
using Vonage.Request;
using Vonage.Verify;Add the following to TriggerNextVerificationProcess.cs:
var credentials = Credentials.FromApiKeyAndSecret(vonageApiKey, vonageApiSecret);Write the code
Add the following to TriggerNextVerificationProcess.cs:
var client = new VonageClient(credentials);
var request = new VerifyControlRequest() { RequestId = requestId, Cmd = "trigger_next_event" };
Prerequisites
composer require vonage/clientCreate a file named trigger_next_event.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 trigger_next_event.php:
$result = $client->verify()->trigger(REQUEST_ID);Run your code
Save this file to your machine and run it:
Prerequisites
pip install vonage python-dotenvWrite the code
Add the following to trigger-next-step.py:
from vonage import Auth, Vonage
from vonage_verify_legacy import VerifyControlStatus
client = Vonage(Auth(api_key=VONAGE_API_KEY, api_secret=VONAGE_API_SECRET))
response: VerifyControlStatus = client.verify_legacy.trigger_next_event(VERIFY_REQUEST_ID)
print(response)Run your code
Save this file to your machine and run it:
Prerequisites
gem install vonageCreate a file named trigger_next_event.rb and add the following code:
Run your code
Save this file to your machine and run it: