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

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
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 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 nexmo
Initialize your dependencies

Create a file named check.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 check.js:

Copy to Clipboard
nexmo.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.nexmo:client:5.2.1'
Initialize your dependencies

Create a class named CheckVerification 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 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.nexmo.quickstart.verify with the package containing CheckVerification:

gradle run -Pmain=com.nexmo.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 Nexmo.Api;
using Nexmo.Api.Request;
using Nexmo.Api.Verify;

View full source

Initialize your dependencies

Add the following to CheckVerificationRequest.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 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 nexmo/client
Initialize your dependencies

Create a file named verify.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 verify.php:

Copy to Clipboard
$verification = new \Nexmo\Verify\Verification(REQUEST_ID);
$result = $client->verify()->check($verification, CODE);

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 nexmo

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

View full source

Write the code

Add the following to check.py:

Copy to Clipboard
response = client.check_verification(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 nexmo
Initialize your dependencies

Create a file named check.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 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