Check verification code

Check the verification code that a user has provided. Use the request_id that was received when the verification code was sent.

Note: You should always check the verification code after sending it. This enables Vonage to determine the number of successful requests and protect against fraudulent use of the platform

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

Name Description
VONAGE_API_KEY Your Vonage API key
VONAGE_API_SECRET Your Vonage API secret
REQUEST_ID The ID of the Verify request you wish to check (this is returned in the API response when you send a verification code)
CODE The code the user supplies as having been sent to them

Write the code

Add the following to send-verification-code.sh:

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

View full source

Run your code

Save this file to your machine and run it:

sh send-verification-code.sh

Prerequisites

Install dependencies

npm install @vonage/server-sdk
Initialize your dependencies

Create a file named check.js and add the following code:

Copy to Clipboard
const Vonage = require('@vonage/server-sdk');
const vonage = new Vonage({
  apiKey: VONAGE_API_KEY,
  apiSecret: VONAGE_API_SECRET
}, {
  debug: true
});

View full source

Write the code

Add the following to check.js:

Copy to Clipboard
vonage.verify.check({
  request_id: REQUEST_ID,
  code: CODE
}, (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 check.js

Prerequisites

Install dependencies

Add the following to `build.gradle`:

compile 'com.vonage:client:5.5.0'
Initialize your dependencies

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

Copy to Clipboard
VonageClient client = VonageClient.builder().apiKey(VONAGE_API_KEY).apiSecret(VONAGE_API_SECRET).build();

View full source

Write the code

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

Copy to Clipboard
CheckResponse response = client.getVerifyClient().check(REQUEST_ID, CODE);

if (response.getStatus() == VerifyStatus.OK) {
    System.out.println("Verification Successful");
} else {
    System.out.println("Verification failed: " + response.getErrorText());
}

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

gradle run -Pmain=com.vonage.quickstart.verify.CheckVerification

Prerequisites

Install dependencies

Install-Package Nexmo.Csharp.Client
Import dependencies

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

Copy to Clipboard
using Vonage;
using Vonage.Request;
using Vonage.Verify;

View full source

Initialize your dependencies

Add the following to CheckVerificationRequest.cs:

Copy to Clipboard
var credentials = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET);
var client = new VonageClient(credentials);

View full source

Write the code

Add the following to CheckVerificationRequest.cs:

Copy to Clipboard
var request = new VerifyCheckRequest() { Code = CODE, RequestId = REQUEST_ID };
var response = client.VerifyClient.VerifyCheck(request);

View full source

Prerequisites

Install dependencies

composer require vonage/client
Initialize your dependencies

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

Copy to Clipboard
$basic  = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client(new \Vonage\Client\Credentials\Container($basic));

View full source

Write the code

Add the following to verify.php:

Copy to Clipboard
$result = $client->verify()->check(REQUEST_ID, CODE);

var_dump($result->getResponseData());

View full source

Run your code

Save this file to your machine and run it:

php verify.php

Prerequisites

Install dependencies

pip install nexmo
Initialize your dependencies

Create a file named check.py and add the following code:

Copy to Clipboard
import vonage

verify = vonage.Verify(key=VONAGE_API_KEY, secret=VONAGE_API_SECRET)

View full source

Write the code

Add the following to check.py:

Copy to Clipboard
response = verify.check(REQUEST_ID, code=CODE)

if response["status"] == "0":
    print("Verification successful, event_id is %s" % (response["event_id"]))
else:
    print("Error: %s" % response["error_text"])

View full source

Run your code

Save this file to your machine and run it:

python check.py

Prerequisites

Install dependencies

gem install vonage
Initialize your dependencies

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

Copy to Clipboard
client = Vonage::Client.new(
  api_key: VONAGE_API_KEY,
  api_secret: VONAGE_API_SECRET
)

View full source

Write the code

Add the following to check.rb:

Copy to Clipboard
response = client.verify.check(
  request_id: REQUEST_ID,
  code: CODE
)

# when the check is successful
if response
  # the cost of this verification
  puts response.price
  # the currency ofthe cost
  puts response.currency
end

View full source

Run your code

Save this file to your machine and run it:

ruby check.rb