Hiện nay có nhiều website, app khi bạn đăng ký bằng số điện thoại thường nhận được một mã xác nhận. Vậy làm sao để làm được điều đó? Vâng, hiện nay có nhiều dịch vụ thuê đầu số để có thể làm được điều đó. Trong đó có dịch vụ của Twilio là mình thấy Ok nhất, và mình đang tìm hiểu sử dụng Twilio với PHP nên viết luôn bài này hướng dẫn các bạn còn đang vướng mắc. Nào chúng ta cùng đi xem xét cách làm nhé.
Đăng ký tài khoản Twilio (Dùng thử)
Twilio cho phép bạn đăng ký một tài khoản dùng thử, với tài khoản tài khoản của bạn sẽ sẵn có $15.50 để trải nghiệm gửi tin nhắn, sau khi dùng hết muốn dùng tiếp thì bạn cần phải nạp tiền vào tài khoản. Đầu tiên bạn truy cập vào https://www.twilio.com/try-twilio điền thông tin đăng ký, sau đó vào email kiểm tra kích hoạt tài khoản nhé.
Sau khi vào email click vào link kích hoạt sẽ hiển thị ra màn hình dùng để xác thực số điên thoại của bạn, số điện thoại này chính là số điện thoại mà bạn sẽ dùng để nhận sms.
Thiết lập tài khoản
Sau khi xác nhận số điện thoại sẽ hiển thị một trang chào mừng và hỏi bạn có viết code không?
Chọn Yes nhé.
Tiếp đến chọn ngôn ngữ, ở đây mình chọn PHP
Tiếp đến sẽ xuất hiện màn hình hỏi về mục tiêu của bạn
What is your goal today?
Use Twilio in a project Sử dụng Twilio trong một dự án
Use Twilio in a student or hackathon project Sử dụng Twilio trong dự án sinh viên hoặc hackathon
Explore Twilio Khám phá Twilio
bạn chọn Use Twilio in a project, tiếp đó nó sẽ hiển thị một loạt các tùy chọn để bạn chọn cho dự án của mình. Với bài viết này mình chọn Send or receive a SMS
Tiếp đến sẽ chuyển đến trang Dasboard để bạn thiết lập tài khoản
Click vào Get a Trial Number để lấy một số điện thoại làm số gửi tin nhắn. Bạn sẽ được chọn ngẫu nhiên một số điện thoại của Mỹ, nếu không muốn bạn có thể chọn số khác bằng cách click vào Search for a different number. Đến thời điểm hiện tại thì Twilio chưa có đầu số Việt Nam nhé.
Sau khi đăng ký số điện thoại bạn sẽ bị trừ $1 nhé.
Cơ bản xong bước thiết lập, bạn copy ACCOUNT SID và AUTH TOKEN ra để tý sử dụng trong code php nhé.
Code PHP cho Twilio SMS
Đầu tiên bạn vào https://codeload.github.com/twilio/twilio-php/zip/master để tải về gói PHP của Twilio nhé. Sau khi giải nén được thư mục twilio-php-master, bạn tạo 1 file index.php để gửi tin nhắn nhé.
Nội dung file index.php
Ví dụ
<?php
// Include the bundled autoload from the Twilio PHP Helper Library
require __DIR__ . '/twilio-php-master/Twilio/autoload.php';
// Use the REST API Client to make requests to the Twilio REST API
use Twilio\Rest\Client;
// Gui SMS kich hoat
function sendsms_otp($to_phone_number)
{
// Your Account SID and Auth Token from twilio.com/console
$sid = 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
$token = 'your_auth_token';
$from_phone_number ='+15017122661';
$client = new Client($sid, $token);
$otp = generate_otp();
// Use the client to do fun stuff like send text messages!
$message = $client->messages->create(
// the number you'd like to send the message to
$to_phone_number,
array(
// A Twilio phone number you purchased at twilio.com/console
'from' => $from_phone_number,
// the body of the text message you'd like to send
'body' => "Ma kich hoat la: ".$otp
)
);
// return $message->status;
return $otp;
}
// Function to generate OTP
function generate_otp($n=4) {
// Take a generator string which consist of
// all numeric digits
$generator = "1357902468";
$result = "";
for ($i = 1; $i <= $n; $i++) {
$result .= substr($generator, (rand()%(strlen($generator))), 1);
}
// Return result
return $result;
}
// Sung dung
sendsms_otp('+84999999999');
?>
Thay ACCOUNT SID , AUTH TOKEN và số điện thoại đã lấy ở bước trước đó vào code trên
Ví dụ
$sid = ‘ACXXXXXXXXXXXXXXXXXXXXXXXXXXXX’;
$token = ‘your_auth_token’;
$from_phone_number =’+15017122661′;
Sau khi bạn chạy file index.php giá trị trả về là mã OTP. Nếu bạn muốn hiển thị mã đó thì bạn thay
Ví dụ
sendsms_otp('+84999999999');
Bằng
Ví dụ
// Su dung
echo sendsms_otp('+84999999999');
Vậy là mình đã giới thiệu xong cách kết hợp Twilio với PHP, chắc chắn còn nhiều điều cần khám phá nữa, để tìm hiểu thêm bạn có thể ghé đọc các hướng dẫn tại https://www.twilio.com/docs/ . Nếu bạn có khám phá gì mới vui lòng chia sẻ với mọi người tại đây nhé.