Dokumentasi API Verifikasi SMS

Versi - 1.0

Parameter API untuk Verifikasi Sekarang

Parameter berikut perlu dikirim saat menggunakan API VerifyNow.

Parameter API
Mengetik
Nilai
Jenis aliran
Tali
SMS/WHATSAPP/RCS/AUDIO
RCS/SAUTH
tipe
Tali
TP

URL Dasar API Rest

Semua titik akhir API Platform di bawah ini harus diawali dengan URL berikut:

https://cpaas.messagecentral.com

Menghasilkan Token

Saat menggunakan API verifikasi SMS Verify Now untuk mengirim kode verifikasi SMS, panggilan awal harus ke API pembuatan token.

API ini mengembalikan token yang harus disertakan dalam semua panggilan berikutnya. Token otentikasi diperlukan untuk memvalidasi pengguna dan harus dimasukkan dalam bagian header dari setiap permintaan.

Lapangan
Mengetik
Wajib?
Deskripsi
ID Pelanggan
Tali
ya
Pengidentifikasi pelanggan (perlu mendaftar untuk mendapatkan ID pelanggan Anda)
negeri
Tali
tidak
Kode negara untuk mengirim OTP ke
surel
Tali
tidak
E-Mail
kunci
Tali
ya
Kata sandi terenkripsi Base-64
lingkup
Tali
tidak
Gunakan 'BARU' untuk pertama kalinya

Meminta Jalur URL:

/auth/v1/authentication/token

cURL

1curl --location 'https://cpaas.messagecentral.com/auth/v1/authentication/token? 
2customerId=%3CCustomerId%3E&key=%3CBase64%20Encrypted%20password%3E&scope=NEW&country=91
3&email=test%40messagecentral.com' \
4--header 'accept: */*'

CATATAN: Untuk mengubah perintah cURL menjadi kode menggunakan Postman, buka Postman, impor perintah cURL melalui tombol “Impor”, lalu buat kode dalam bahasa pilihan Anda dengan mengklik tombol “Kode” di sisi kanan permintaan.

Tanggapan JSON

1{
2  "status": Integer,
3  "token": "String"
4}

Code Example

OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
  .url("https://cpaas.messagecentral.com/auth/v1/authentication/token?customerId=<CustomerId>&key=<Base64 Encrypted password>&scope=NEW&country=91&[email protected]")
  .method("GET", body)
  .addHeader("accept", "*/*")
  .build();
Response response = client.newCall(request).execute();
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://cpaas.messagecentral.com/auth/v1/authentication/token?customerId=<CustomerId>&key=<Base64 Encrypted password>&scope=NEW&country=91&[email protected]',
  'headers': {
    'accept': '*/*'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://cpaas.messagecentral.com/auth/v1/authentication/token?customerId=<CustomerId>&key=<Base64 Encrypted password>&scope=NEW&country=91&[email protected]');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'accept' => '*/*'
));
try {
  $response = $request->send();
  if ($response->getStatus() == 200) {
    echo $response->getBody();
  }
  else {
    echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
    $response->getReasonPhrase();
  }
}
catch(HTTP_Request2_Exception $e) {
  echo 'Error: ' . $e->getMessage();
}
import requests

url = "https://cpaas.messagecentral.com/auth/v1/authentication/token?customerId=<CustomerId>&key=<Base64 Encrypted password>&scope=NEW&country=91&[email protected]"

payload = {}
headers = {
  'accept': '*/*'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
require "uri"
require "net/http"

url = URI("https://cpaas.messagecentral.com/auth/v1/authentication/token?customerId=<CustomerId>&key=<Base64 Encrypted password>&scope=NEW&country=91&[email protected]")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Get.new(url)
request["accept"] = "*/*"

response = https.request(request)
puts response.read_body

var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://cpaas.messagecentral.com/auth/v1/authentication/token?customerId=<CustomerId>&key=<Base64 Encrypted password>&scope=NEW&country=91&[email protected]");
request.Headers.Add("accept", "*/*");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());

Kirim OTP

Untuk SendOTP pada nomor ponsel di bawah ini adalah parameter permintaan. Token otentikasi diperlukan untuk mengirim OTP yang dihasilkan oleh token API yang dihasilkan (yang dapat Anda temukan di atas di bagian Pendahuluan).

Parameter API
Mengetik
Wajib?
AuthToken
Tali
ya

Meminta Jalur URL:

Respons yang berhasil akan mengembalikan kode status 200.

/verification/v3/send

Parameter URL Minta:

Lapangan
Mengetik
Wajib?
Deskripsi
ID Pelanggan
Tali
ya
Kode negara
Panjang OTPl
Bilangan bulat
tidak
Kirim nomor antara 4 dan 8. Defaultnya adalah 4
Nomor Ponsel
Tali
ya
Nomor ponsel untuk teks tunggal
Jenis aliran
Tali
ya
Kami mengirim OTP menggunakan beberapa media seperti SMS, WhatsApp, email, dll. Untuk saat ini, gunakan SMS atau WhatsApp

cURL

1curl --location --request POST 'https://cpaas.messagecentral.com/verification/v3/send? 
2countryCode=91&flowType=SMS&mobileNumber=9999999999' \
3--header 'authToken: 
4eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJDLTMzNDMyQTVGNDIGNzQwNCI6ImIhdCI6MTcxMjExOTA0MCwiZXhwIjo'

CATATAN: Untuk mengubah perintah cURL menjadi kode menggunakan Postman, buka Postman, impor perintah cURL melalui tombol “Impor”, lalu buat kode dalam bahasa pilihan Anda dengan mengklik tombol “Kode” di sisi kanan permintaan. Anda dapat mengubah basis FlowType saluran pilihan Anda.

Tanggapan JSON

1{
2  "responseCode": 200,
3  "message": "SUCCESS",
4  "data": {
5    "verificationId": "xxxx",
6    "mobileNumber": "xxxx",
7    "responseCode": "200",
8    "errorMessage": null,
9    "timeout": "60",
10    "smCLI": null,
11    "transactionId": "xxxx"
12  }
13}

Code Example

OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
  .url("https://cpaas.messagecentral.com/verification/v3/send?countryCode=91&flowType=SMS&mobileNumber=9999999999")
  .method("POST", body)
  .addHeader("authToken", "eyJhbGciOiJIUzUxMiJ9.eyJzdWOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOTA0MCwiZXhw")
  .build();
Response response = client.newCall(request).execute();
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://cpaas.messagecentral.com/verification/v3/send?countryCode=91&flowType=SMS&mobileNumber=9999999999',
  'headers': {
    'authToken': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOTA0MCwiZXhw'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://cpaas.messagecentral.com/verification/v3/send?countryCode=91&flowType=SMS&mobileNumber=9999999999');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'authToken' => 'eyJhbGciOiJIUzUxMiJ9.eyJzdWOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOTA0MCwiZXhw'
));
try {
  $response = $request->send();
  if ($response->getStatus() == 200) {
    echo $response->getBody();
  }
  else {
    echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
    $response->getReasonPhrase();
  }
}
catch(HTTP_Request2_Exception $e) {
  echo 'Error: ' . $e->getMessage();
}
import requests

url = "https://cpaas.messagecentral.com/verification/v3/send?countryCode=91&flowType=SMS&mobileNumber=9999999999"

payload = {}
headers = {
  'authToken': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOTA0MCwiZXhw'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
require "uri"
require "net/http"

url = URI("https://cpaas.messagecentral.com/verification/v3/send?countryCode=91&flowType=SMS&mobileNumber=9999999999")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authToken"] = "eyJhbGciOiJIUzUxMiJ9.eyJzdWOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOTA0MCwiZXhw"

response = https.request(request)
puts response.read_body
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://cpaas.messagecentral.com/verification/v3/send?countryCode=91&flowType=SMS&mobileNumber=9999999999");
request.Headers.Add("authToken", "eyJhbGciOiJIUzUxMiJ9.eyJzdWOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOTA0MCwiZXhw");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());

Validasi OTP

Metode validateOTP adalah titik akhir REST API untuk memvalidasi kata sandi satu kali (OTP) untuk pelanggan.

Minta Header
Mengetik
Wajib?
AuthToken
Tali
ya

Meminta Jalur URL:

Respons yang berhasil akan mengembalikan kode status 200.

/verification/v3/validateOtp/
Lapangan
Mengetik
Wajib?
Deskripsi
ID Verifikasi
Panjang
ya
VerificationId dari respons /send api
kode
Tali
ya
tp
langidia
Tali
tidak
Nomor ponsel untuk teks tunggal
Jenis aliran
Tali
ya
  • Untuk dukungan beberapa bahasa
  • secara default adalah bahasa Inggris
  • Untuk saat ini kami hanya mendukung bahasa Inggris

cURL

1curl --location 'https://cpaas.messagecentral.com/verification/v3/validateOtp? 
2&verificationId=2949&code=1476' \
3--header 'authToken: 
4eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJDLTMzNDMyQTVGNDIGNzQwNCI6ImIhdCI6MTcxMjExOTA0MC'

CATATAN: Untuk mengubah perintah cURL menjadi kode menggunakan Postman, buka Postman, impor perintah cURL melalui tombol “Impor”, lalu buat kode dalam bahasa pilihan Anda dengan mengklik tombol “Kode” di sisi kanan permintaan.

Tanggapan JSON

Respons yang berhasil akan mengembalikan kode status 200.

1{
2  "responseCode": 200,
3  "message": "SUCCESS",
4  "data": {
5    "verficationId": "xxxx",
6    "mobileNumber": "xxxx",
7    "responseCode": "200",
8    "errorMessage": null,
9    "verificationStatus": "VERIFICATION_COMPLETED",
10    "authToken": null,
11    "transactionId": "xxxx"
12  }
13}

Code Example

OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
  .url("https://cpaas.messagecentral.com/verification/v3/validateOtp?&verificationId=2949&code=1476")
  .method("GET", body)
  .addHeader("authToken", "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOT")
  .build();
Response response = client.newCall(request).execute();
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://cpaas.messagecentral.com/verification/v3/validateOtp?&verificationId=2949&code=1476',
  'headers': {
    'authToken': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOT'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://cpaas.messagecentral.com/verification/v3/validateOtp?&verificationId=2949&code=1476');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'authToken' => 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOT'
));
try {
  $response = $request->send();
  if ($response->getStatus() == 200) {
    echo $response->getBody();
  }
  else {
    echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
    $response->getReasonPhrase();
  }
}
catch(HTTP_Request2_Exception $e) {
  echo 'Error: ' . $e->getMessage();
}
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://cpaas.messagecentral.com/verification/v3/validateOtp?&verificationId=2949&code=1476");
request.Headers.Add("authToken", "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOT");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());

require "uri"
require "net/http"

url = URI("https://cpaas.messagecentral.com/verification/v3/send?countryCode=91&flowType=SMS&mobileNumber=9999999999")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authToken"] = "eyJhbGciOiJIUzUxMiJ9.eyJzdWOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOTA0MCwiZXhw"

response = https.request(request)
puts response.read_body
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://cpaas.messagecentral.com/verification/v3/send?countryCode=91&flowType=SMS&mobileNumber=9999999999");
request.Headers.Add("authToken", "eyJhbGciOiJIUzUxMiJ9.eyJzdWOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOTA0MCwiZXhw");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());

Kode Respon

Kode
Tampilan Teks
200
SUKSES
400
PERMOHONAN_BURUK
409
DUPLIKAT_SUMBER DAYA
500
SERVER_ERROR
501
INVALID_CUSTOMER_ID
505
INVALID_VERIFIKASI_ID
506
MINTA_SUDAH ADA
511
KODE_NEGARA TIDAK VALID
700
VERIFIKASI_GAGAL
702
SALAH_OTP_DISEDIAKAN
703
SUDAH DIVERIFIKASI
705
VERIFIKASI_KEDALUWARSA
800
MAKSIMAL_BATAS_TERCAPAI

Bantuan dan Dukungan

Untuk dukungan implementasi dan umpan balik apa pun, silakan hubungi kami di: [email protected]

Pertanyaan yang Sering Diajukan

1. Bagaimana saya bisa mengimplementasikan dengan kode khusus?

Anda dapat menggunakan postman untuk menulis ulang panggilan API dalam bahasa pemrograman pilihan Anda. Anda harus menggunakan: -

  • Metode POST untuk mengirim SMS
  • Metode GET untuk memvalidasi SMS OTP

2. Mengapa saya mendapatkan kesalahan “Metode tidak diizinkan” atau kode kesalahan 405?

Anda perlu memastikan bahwa URL titik akhir untuk API Token cocok dengan yang ditentukan dalam dokumentasi.Hal yang sama telah disebutkan di bawah ini: -

a. Token API menggunakan metode GET

b. Kirim API menggunakan metode POST

c. Validasi API menggunakan metode GET



3. Bagaimana cara menguji API verifikasi SMS?

Anda dapat menggunakan Postman untuk menguji API verifikasi SMS Message Central.

4. Mengapa saya mendapatkan halaman “Whitelabel Error”?

Jika Anda mendapatkan halaman Kesalahan Whitelabel, Anda harus memeriksa kesalahan berikut:

a. Anda menggunakan paket API yang salah

b. Anda belum mengganti placeholder dengan nilai aktual

c. API curl salah

d. Lokasi keriting belum diubah menjadi 'produksi' alih-alih 'pementasan'

5. Mengapa saya mendapatkan kode kesalahan 401?

Ini bisa jadi karena API atau token yang salah. Pastikan Anda telah mengikuti dokumentasi API kami untuk nilai token yang tepat.

6. Mengapa saya mendapatkan kode kesalahan 400 atau “Permintaan Buruk” di Postman?

Ada beberapa alasan untuk “Permintaan Buruk” di Postman. Anda dapat memeriksa kemungkinan alasan berikut: -

a. Periksa apakah AuthToken benar

b. Periksa apakah ada parameter yang hilang di API

c. Header harus diteruskan dalam format ini - application-x-www-form-urlencoded

7. Bagaimana cara menghasilkan AuthToken?

Untuk menghasilkan AuthToken di Postman, Anda harus: -

a. Temukan 'kunci' di GET API

b. Anda perlu menyalin kunci itu dan menyandikan yang sama menggunakan Base64 - https://www.base64encode.org/

c. Masukkan kata sandi yang dikodekan di placeholder 'Key'

d. Tekan GET API

Anda akan mendapatkan AuthToken.

8. Di mana saya menggunakan AuthToken?

Anda harus meletakkan AuthToken di header SEND API.

9. What all placeholders do I need to change in GET API to generate token?

You’d need to change country, customerid, email and key. Scope will always remain = “NEW”

Field
Type
Mandatory?
Description
customerId
String
yes
Customer identifier (need to signup to get your  customer id)
key
String
yes
Base-64 encrypted password

10. What all placeholders do I need to change in SEND API?

You’d need to change country code, customerid, otplength, and mobilenumber.

Field
Type
Mandatory?
Description
customerId
String
yes
Country code
flowType
String
yes
We send OTP using multiple mediums like SMS, WhatsApp, email, etc. For now, use either SMS or WhatsApp

Siap untuk memulai?

Lindungi akun pengguna Anda dan bangun kepercayaan dengan pelanggan Anda menggunakan verifikasi SMS. Coba Verifikasi Sekarang tanpa kartu kredit.

Message Central Logo Blue
Close Icon
Tim Pusat Pesan
Halo
Bagaimana kami bisa membantu Anda hari ini?
WhatsApp Icon
Mulai Obrolan Whatsapp
WhatsApp Icon