Pengaturan untuk Verifikasi SMS
- Buat Akun MessageCentral: Mendaftar untuk Pusat Pesan akun untuk memulai. Anda akan menerima ID pelanggan, yang akan Anda gunakan dalam aplikasi Anda.
- Instal Paket yang Diperlukan: Pastikan Anda memiliki Node.js diinstal pada mesin Anda. Buat direktori baru untuk proyek Anda dan inisialisasi proyek Node.js baru. Instal paket yang diperlukan menggunakan npm:
npm install express request
Langkah Integrasi
Proses ini melibatkan tiga langkah penting berikut:
- Pengaturan Pusat Pesan
- Input Detail dalam Kode
- Kirim Tes OTP
a. Pengaturan Pusat Pesan
Setelah membuat akun di Pusat Pesan, Anda memerlukan detail berikut:
- Id Pelanggan - Anda bisa mendapatkan ID pelanggan dari Message Central Home Console
- Kredensi Login: YAnda memerlukan email dan perlu membuat kata sandi.
b. Input Detail dalam Kode
Untuk menambahkan detail MessageCentral pada kode cari tahu definisi variabel dengan nama “CustomerID”, “email” dan “password”:
const customerId = '[Your Customer ID]';
const email = '[Your Email]';
const password = '[Your Password]';
Untuk menambahkan kredenSIAL Anda dalam kode javascript, Anda perlu membuat file javascript yaitu mc_verication_service.js: Dan tambahkan kode yang disediakan ke dalam file ini.
const request = require('request');
const express = require('express');
const app = express();
const port = 3000;
const baseURL = 'https://cpaas.messagecentral.com';
const customerId = '[Your Customer ID]';
const email = '[Your Email]';
const password = '[Your Password]';
let verificationId;
const generateAuthToken = async () => {
const base64String = Buffer.from(password).toString('base64');
const url = `${baseURL}/auth/v1/authentication/token?country=IN&customerId=${customerId}&email=${email}&key=${base64String}&scope=NEW`;
const options = {
url: url,
headers: {
'accept': '*/*'
}
};
return new Promise((resolve, reject) => {
request(options, (error, response, body) => {
if (error) {
console.error('Error generating auth token:', error);
reject(error);
return;
}
console.log('Auth Token:', body);
authToken = JSON.parse(body).token;
resolve(authToken);
});
});
};
const sendOtp = async (countryCode, mobileNumber) => {
const url = `${baseURL}/verification/v3/send?countryCode=${countryCode}&customerId=${customerId}&flowType=SMS&mobileNumber=${mobileNumber}`;
const options = {
url: url,
method: 'POST',
json: true,
headers: {
'accept': '*/*',
'authToken': authToken
}
};
return new Promise((resolve, reject) => {
request(options, (error, response, body) => {
if (error) {
console.error('Error generating auth token:', error);
reject(error);
return;
}
console.log('Request :', options)
console.log('Body :', body);
verificationId = body.data.verificationId;
resolve(body);
});
});
};
const velidateOtp = async (otpCode, countryCode, mobileNumber) => {
const url = `${baseURL}/verification/v3/validateOtp?countryCode=${countryCode}&mobileNumber=${mobileNumber}&verificationId=${verificationId}&customerId=${customerId}&code=${otpCode}`;
const options = {
url: url,
method: 'GET',
json: true,
headers: {
'accept': '*/*',
'authToken': authToken
}
};
return new Promise((resolve, reject) => {
request(options, (error, response, body) => {
if (error) {
console.error('Error generating auth token:', error);
reject(error)
return;
}
console.log('Request :', options)
console.log('Body :', body);
resolve(body);
});
});
};
app.post('/sendotp/:countryCode/:mobileNumber', async (req, res) => {
const { countryCode, mobileNumber } = req.params;
const authToken = await generateAuthToken();
try {
body = await sendOtp(countryCode, mobileNumber)
if (body.data.responseCode == 200 && body.data.errorMessage == null) {
res.status(200).send('Otp sent! Successfully');
} else {
res.status(400).send('Bad Request ${body.data.errorMessage}');
}
} catch (error) {
console.error('Error sending OTP:', error);
const s = error
res.status(500).send(s);
}
});
app.get('/validateOtp/:countryCode/:mobileNumber/:otpCode', async (req, res) => {
const { countryCode, mobileNumber, otpCode } = req.params;
const authToken = await generateAuthToken();
try {
body = await velidateOtp(otpCode, countryCode, mobileNumber);
if (body.data.verificationStatus == 'VERIFICATION_COMPLETED' && body.data.errorMessage == null) {
res.status(200).send('Otp verification Done! ');
} else {
res.status(400).send('Bad Request : ${body.data.errorMessage}');
}
} catch (error) {
console.error('Error verifying OTP:', error);
const s = error
res.status(500).send(s);
}
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
});
c. Kirim Tes OTP
Jika Anda perlu menguji layanan tanpa kode, Anda dapat pergi ke verifikasi SMS gratis halaman di situs web Pusat Pesan.
Untuk memastikan integrasi berhasil, kirim SMS OTP uji sebagai berikut:
1. Jalankan file javascript menggunakan perintah
node mc_verification_service.js
2. Buka Postman dan atur Metode Permintaan sebagai POST dan
URL sebagai http://localhost:3000/sendotp/<countryCode>/<phone_number>
Inilah port 3000, itu default dan didefinisikan dalam kode, dapat diubah.
Contoh, Untuk URL Nomor Telepon India: http://localhost:3000/sendotp/91/123****123
- Gambar: Mengirim Otp

3. Sekarang Anda memiliki otp di kotak masuk sms Anda. Coba validasi Otp API Anda sendiri untuk memvalidasi OTP.
Buka Postman dan atur Metode Permintaan sebagai GET dan
URL sebagai http://localhost:3000/validateOtp/<countryCode>/<phone_number>/<otp>
Inilah port 3000, itu default dan didefinisikan dalam kode, dapat diubah.
Contoh, Untuk Nomor Telepon IndiaURL : http://localhost:3000/validateOtp/91/123****123/ ****
- Gambar: Memverifikasi Otp
