Yii2 Extension hổ trợ bạn tích hợp dịch vụ eSMS.
Nếu như bạn thường xuyên xây dựng hệ thống có liên quan đến sms
hay voice call
thì chắc hẳn
eSMS là một đối tác không quá xa lạ với bạn, extension này sẽ giúp bạn tích hợp dịch vụ của eSMS
vào hệ thống của bạn.
Cài đặt thông qua composer
nếu như đó là một khái niệm mới với bạn xin click vào
đây để tìm hiểu nó.
composer require "yiiviet/yii2-esms"
hoặc thêm
"yiiviet/yii2-esms": "*"
vào phần require
trong file composer.json.
Sau khi cài đặt hoàn tất bạn hãy vào thư mục config
mở file web.php
và thêm cấu hình sau
vào components
:
'components' => [
'eSMS' => [
'class' => 'yiiviet\esms\Gateway',
'client' => [
'apiKey' => 'API key ban dang ky tai eSMS (phan quan ly api)',
'secretKey' => 'Secret key ban dang ky tai eSMS (phan quan ly api)'
]
]
]
Sau khi thiết lập xong ngay lập tức bạn đã có thể giao tiếp với eSMS
thông qua cú pháp sau:
Yii::$app->eSMS
.
1. Cách gửi tin nhắn:
$result = Yii::$app->eSMS->sendSMS([
'Phone' => '0909113911',
'Content' => 'Hi Mr.Minh'
]);
if ($result->isOk) {
Yii::info('Send sms to Mr.Minh success! SMSID: ' . $result->SMSID);
} else {
Yii::warning($result->message);
}
2. Cách gửi voice call (cuộc gọi thoại):
Yii::$app->eSMS->sendVoice([
'Phone' => '0909113911',
'ApiCode' => 'xxxxxxxxxxx', // Liên hệ kỹ thuật eSMS cấp
'ApiPass' => 'xxxxxxxxxxx'
]);
if ($result->isOk) {
Yii::info('Send voice call to Mr.Minh success! SMSID: ' . $result->SMSID);
} else {
Yii::warning($result->message);
}
3. Cách kiểm tra số dư tài khoản:
$result = Yii::$app->eSMS->getBalance();
if ($result->isOk) {
Yii::info('Balance of account: ' . $result->Balance);
} else {
Yii::warning($result->message);
}
4. Cách kiểm tra trạng thái tin nhắn đã gửi:
$result = Yii::$app->eSMS->getSendStatus($SMSID);
if ($result->isOk) {
Yii::info('Sent: ' . $result->SentSuccess);
} else {
Yii::warning($result->message);
}
$SMSID
có được trong kết quả gửisms
hoặcvoice call
vì thế sau khi gửi tin nhắn xong bạn nên lưu lại$SMSID
.
5. Cách kiểm tra trạng thái chi tiết tin nhắn đã gửi (hiển thị chi tiết từng số điện thoại):
$result = Yii::$app->eSMS->getReceiverStatus($SMSID);
if ($result->isOk) {
Yii::info('Sent: ' . var_export($result->ReceiverList, true));
} else {
Yii::warning($result->message);
}
$SMSID
có được trong kết quả gửisms
hoặcvoice call
vì thế sau khi gửi tin nhắn xong bạn nên lưu lại$SMSID
.
Nếu bạn muốn tìm hiểu sau hơn về các thành phần khi tạo lệnh gửi sms
hoặc voice call
hay các thành
phần kết quả mà eSMS
gửi về thì mời bạn kham khảo thêm tại tài liệu của eSMS
tại đây.
Tên các thành phần trong tài liệu eSMS đồng nhất với tên các thành phần (property, element key) của extension này.