mobiweb / sdk
4.0.3 PHP 库,用于与 MobiWeb REST APIs 通信。
Requires
- php: >=7.0.0
- ext-curl: *
- ext-json: *
README
一个用于与 MobiWeb RESTful SMS、HLR 和 OTP APIs 交互的 PHP 库。
文档
MobiWeb RESTful APIs 可以在这里找到:这里。
版本
支持的 PHP 版本
此库支持以下 PHP 实现
- 从 PHP 7.0 到 PHP 8.2
安装
- 下载源代码
- composer require
mobiweb/sdk
composer require mobiweb/sdk
API 账户
- 使用 MobiWeb SMS API,您可以向 200 多个国家的 1000 多家移动运营商的 70 多亿订阅者发送短信。
- 使用 MobiWeb HLR API,您可以最大化您的活动和业务通信的性能。验证手机号码数据库,删除无效条目,并接收正确的可携性信息,识别手机号码所属的运营商。
- 使用 MobiWeb OTP API,您可以为简单的用户名和密码身份验证提供额外的安全性,验证交易,准确验证用户,减少欺诈并降低双因素身份验证成本(无需硬件令牌)。
- 使用 MobiWeb 异步 SMS API,您可以使用 SMPP 协议以高吞吐量发送短信。
API 基于 REST,内置 HTTP 身份验证和 HTTP 状态码。所有数据交换都使用 JSON 格式完成。
要测试 SMS、OTP 和 HLR API,您需要一个有效的 API 账户。如果您还没有,请点击这里注册一个免费账户。
要测试异步 SMS API,您需要一个有效的 SMPP API 账户。如果您还没有,请[这里][smppaccount]联系我们以注册一个免费测试账户。
示例
SMS API
发送单个 SMS
<?php //Your account username and password $username = ""; $password = ""; $client = new MobiWeb\Rest\Client($username, $password); //Submit message $message = $client->broadcast( [[ "from" => "HelloWorld", //The sender displayed upon the SMS arrival. Can be composed of 2-11 alphanumeric characters (A-z,0-9, ,-,.) or 14 numeric characters (0-9). Special characters are not allowed. "to" => ["44xxxxxxxxxx"], //The full international number(s) of the recipient(s) in international E.164 format https://en.wikipedia.org/wiki/E.164. "message" => "Hello from MobiWeb!" //The text of the SMS message. If all characters in the message belong to the 3GPP GSM 7-bit GSM 03.38 ASCII character table https://en.wikipedia.org/wiki/GSM_03.38#GSM_7-bit_default_alphabet_and_extension_table_of_3GPP_TS_23.038_/_GSM_03.38, you can send up to 160 characters in a single SMS. You can send longer messages automatically by setting message parameter with your preffered text. In long SMS (multi-part SMS), each SMS part can be up to 153 characters. Each part costs as 1 SMS. If one or more characters in the message belong to the 16-bit Unicode / UCS-2 character table https://en.wikipedia.org/wiki/UTF-16, because of the increased memory requirement for each character, you can send up to 70 characters in a single SMS. In long SMS (multi-part SMS), each SMS part can be up to 67 characters. Each part costs as 1 SMS. ]] ); //Print message print_r($message); ?>
发送多个 SMS
<?php //Your account username and password $username = ""; $password = ""; $client = new MobiWeb\Rest\Client($username, $password); $message = $client->broadcast( [[ "from" => "HelloEx1", //The sender displayed upon the SMS arrival. Can be composed of 2-11 alphanumeric characters (A-z,0-9, ,-,.) or 14 numeric characters (0-9). Special characters are not allowed. "to" => ["44xxxxxxxxxx"], //The full international number(s) of the recipient(s) in international E.164 format https://en.wikipedia.org/wiki/E.164. "message" => "Hello from MobiWeb 1!" //The text of the SMS message. If all characters in the message belong to the 3GPP GSM 7-bit GSM 03.38 ASCII character table https://en.wikipedia.org/wiki/GSM_03.38#GSM_7-bit_default_alphabet_and_extension_table_of_3GPP_TS_23.038_/_GSM_03.38, you can send up to 160 characters in a single SMS. You can send longer messages automatically by setting message parameter with your preffered text. In long SMS (multi-part SMS), each SMS part can be up to 153 characters. Each part costs as 1 SMS. If one or more characters in the message belong to the 16-bit Unicode / UCS-2 character table https://en.wikipedia.org/wiki/UTF-16, because of the increased memory requirement for each character, you can send up to 70 characters in a single SMS. In long SMS (multi-part SMS), each SMS part can be up to 67 characters. Each part costs as 1 SMS. ], [ "from" => "HelloEx2", "to" => ["44xxxxxxxxxx"], "message" => "Hello from MobiWeb 2!" ]] ); //Print message print_r($message); ?>
向多个收件人发送 SMS
<?php //Your account username and password $username = ""; $password = ""; $client = new MobiWeb\Rest\Client($username, $password); $message = $client->broadcast( [[ "from" => "HelloWorld", //The sender displayed upon the SMS arrival. Can be composed of 2-11 alphanumeric characters (A-z,0-9, ,-,.) or 14 numeric characters (0-9). Special characters are not allowed. "to" => ["44xxxxxxxxx0","44xxxxxxxxx1"], //The full international number(s) of the recipient(s) in international E.164 format https://en.wikipedia.org/wiki/E.164. "message" => "Hello to multiple recipients!" //The text of the SMS message. If all characters in the message belong to the 3GPP GSM 7-bit GSM 03.38 ASCII character table https://en.wikipedia.org/wiki/GSM_03.38#GSM_7-bit_default_alphabet_and_extension_table_of_3GPP_TS_23.038_/_GSM_03.38, you can send up to 160 characters in a single SMS. You can send longer messages automatically by setting message parameter with your preffered text. In long SMS (multi-part SMS), each SMS part can be up to 153 characters. Each part costs as 1 SMS. If one or more characters in the message belong to the 16-bit Unicode / UCS-2 character table https://en.wikipedia.org/wiki/UTF-16, because of the increased memory requirement for each character, you can send up to 70 characters in a single SMS. In long SMS (multi-part SMS), each SMS part can be up to 67 characters. Each part costs as 1 SMS. ]] ); //Print message print_r($message); ?>
使用所有选项发送 SMS
<?php //Your account username and password $username = ""; $password = ""; $client = new MobiWeb\Rest\Client($username, $password); $message = $client->broadcast( [[ "from" => "HelloWorld", //The sender displayed upon the SMS arrival. Can be composed of 2-11 alphanumeric characters (A-z,0-9, ,-,.) or 14 numeric characters (0-9). Special characters are not allowed. "to" => ["44xxxxxxxxxx"], //The full international number(s) of the recipient(s) in international E.164 format https://en.wikipedia.org/wiki/E.164. "message" => "Hello from MobiWeb!", //The text of the SMS message. If all characters in the message belong to the 3GPP GSM 7-bit GSM 03.38 ASCII character table https://en.wikipedia.org/wiki/GSM_03.38#GSM_7-bit_default_alphabet_and_extension_table_of_3GPP_TS_23.038_/_GSM_03.38, you can send up to 160 characters in a single SMS. You can send longer messages automatically by setting message parameter with your preffered text. In long SMS (multi-part SMS), each SMS part can be up to 153 characters. Each part costs as 1 SMS. If one or more characters in the message belong to the 16-bit Unicode / UCS-2 character table https://en.wikipedia.org/wiki/UTF-16, because of the increased memory requirement for each character, you can send up to 70 characters in a single SMS. In long SMS (multi-part SMS), each SMS part can be up to 67 characters. Each part costs as 1 SMS. "options" => [ "receive_dlr" => "1", //Set this parameter to ‘1’ for requesting delivery report for this SMS. Refer to receive Delivery Reports section for more information . https://api.solutions4mobiles.com/sms-api.html#receive_delivery_reports "message_type" => "sms", //The type of the SMS message. "track_url" => "0", //Set this parameter to ‘1’ to shorten and track URL link for this SMS. Refer to receive URL tracking and conversion section for more information . https://api.solutions4mobiles.com/sms-api.html#receive_url_ctr "reference_code" => "ABCD1234", //Set this parameter to your preferred reference id / custom data for this submission. Length can be up to 50 characters. "schedule_date" => "", //Set this parameter in format "yyyy-mm-dd hh:mm:ss" UTC +0 to schedule your sending to a future datetime. Must be at least 20 minutes from now. "expire_date" => "" //Set this parameter in format "yyyy-mm-dd hh:mm:ss" UTC +0 to force expiration of your SMS to a future datetime. Must be at least 30 minutes from now and schedule_date. ] ]] ); //Print message print_r($message); ?>
使用缩短的 URL 并启用 URL 跟踪发送 SMS
<?php //Your account username and password $username = ""; $password = ""; $client = new MobiWeb\Rest\Client($username, $password); $message = $client->broadcast( [[ "from" => "HelloURL", //The sender displayed upon the SMS arrival. Can be composed of 2-11 alphanumeric characters (A-z,0-9, ,-,.) or 14 numeric characters (0-9). Special characters are not allowed. "to" => ["44xxxxxxxxxx"], //The full international number(s) of the recipient(s) in international E.164 format https://en.wikipedia.org/wiki/E.164. "message" => "Hello from https://www.solutions4mobiles.com", //The text of the SMS message. If all characters in the message belong to the 3GPP GSM 7-bit GSM 03.38 ASCII character table https://en.wikipedia.org/wiki/GSM_03.38#GSM_7-bit_default_alphabet_and_extension_table_of_3GPP_TS_23.038_/_GSM_03.38, you can send up to 160 characters in a single SMS. You can send longer messages automatically by setting message parameter with your preffered text. In long SMS (multi-part SMS), each SMS part can be up to 153 characters. Each part costs as 1 SMS. If one or more characters in the message belong to the 16-bit Unicode / UCS-2 character table https://en.wikipedia.org/wiki/UTF-16, because of the increased memory requirement for each character, you can send up to 70 characters in a single SMS. In long SMS (multi-part SMS), each SMS part can be up to 67 characters. Each part costs as 1 SMS. "options" => [ "track_url" => "1" //Set this parameter to ‘1’ to shorten and track URL link for this SMS. Refer to receive URL tracking and conversion section for more information . https://api.solutions4mobiles.com/sms-api.html#receive_url_ctr ] ]] ); //Print message print_r($message); ?>
安排 SMS
<?php //Your account username and password $username = ""; $password = ""; $client = new MobiWeb\Rest\Client($username, $password); $message = $client->broadcast( [[ "from" => "HelloSche", //The sender displayed upon the SMS arrival. Can be composed of 2-11 alphanumeric characters (A-z,0-9, ,-,.) or 14 numeric characters (0-9). Special characters are not allowed. "to" => ["44xxxxxxxxxx"], //The full international number(s) of the recipient(s) in international E.164 format https://en.wikipedia.org/wiki/E.164. "message" => "Hello from scheduled message!".date("d/m/Y H:i:s"), //The text of the SMS message. If all characters in the message belong to the 3GPP GSM 7-bit GSM 03.38 ASCII character table https://en.wikipedia.org/wiki/GSM_03.38#GSM_7-bit_default_alphabet_and_extension_table_of_3GPP_TS_23.038_/_GSM_03.38, you can send up to 160 characters in a single SMS. You can send longer messages automatically by setting message parameter with your preffered text. In long SMS (multi-part SMS), each SMS part can be up to 153 characters. Each part costs as 1 SMS. If one or more characters in the message belong to the 16-bit Unicode / UCS-2 character table https://en.wikipedia.org/wiki/UTF-16, because of the increased memory requirement for each character, you can send up to 70 characters in a single SMS. In long SMS (multi-part SMS), each SMS part can be up to 67 characters. Each part costs as 1 SMS. "options" => [ "schedule_date" => "2021-06-16 13:06:00" //Set this parameter in format "yyyy-mm-dd hh:mm:ss" UTC +0 to schedule your sending to a future datetime. Must be at least 20 minutes from now. ] ]] ); //Print message print_r($message); ?>
获取账户余额
<?php //Your account username and password $username = ""; $password = ""; $client = new MobiWeb\Rest\Client($username, $password); //Get account balance and print it echo $client->getBalance(); ?>
获取账户定价
<?php //Your account username and password $username = ""; $password = ""; $client = new MobiWeb\Rest\Client($username, $password); //Get account pricing and print it print_r($client->getPricing(MobiWeb\Rest\Client::SMS)); ?>
接收投递报告
投递报告将自动转发到用户系统/平台。当我们的 SMS API 平台收到 SMS 投递报告时,DLR 信息将立即通过 POST 请求转发到您指定的 DLR 回调 URL。您可以在[网络门户][webpanel]中设置您的 DLR 回调 URL。
<? //For information about receiving delivery reports please visit https://api.solutions4mobiles.com/sms-api.html#receive_delivery_reports //Get request $inputJSON = file_get_contents('php://input'); //convert JSON into array $input= json_decode( $inputJSON, TRUE ); //print data print_r($input); //Return successful http code header('HTTP/1.1 200 OK', true, 200); // or error // header('HTTP/1.1 500 Internal Server Error', true, 500); ?>
接收 URL 跟踪和转换信息
URL 跟踪信息将自动转发到用户系统/平台。当用户点击链接时,CTR 和用户信息将立即通过 POST 请求转发到您指定的回调 URL。您可以在[网络门户][webpanel]中设置您的回调 URL。
<? //For information about receiving url tracking and conversion information please visit https://api.solutions4mobiles.com/sms-api.html#receive_url_ctr //Get request $inputJSON = file_get_contents('php://input'); //convert JSON into array $input= json_decode( $inputJSON, TRUE ); //print data print_r($input); //Return successful http code header('HTTP/1.1 200 OK', true, 200); // or error // header('HTTP/1.1 500 Internal Server Error', true, 500); ?>
HLR API
查找手机号码
<? //Your account username and password $username = ""; $password = ""; $client = new MobiWeb\Rest\Client($username, $password); //HLR lookup for a mobile number $lookup = $client->lookup( "44xxxxxxxxxx" //The mobile number in international E.164 format. ); //Print the HLR lookup result print_r($lookup); ?>
获取账户余额
<?php //Your account username and password $username = ""; $password = ""; $client = new MobiWeb\Rest\Client($username, $password); //Get account balance and print it echo $client->getBalance(); ?>
获取账户定价
<?php //Your account username and password $username = ""; $password = ""; $client = new MobiWeb\Rest\Client($username, $password); //Get account HLR pricing and print it print_r($client->getPricing(MobiWeb\Rest\Client::HLR)); ?>
OTP SMS API
生成并发送 OTP
<? //Your account username and password $username = ""; $password = ""; $client = new MobiWeb\Rest\Client($username, $password); //Generate OTP and send it via SMS to a mobile number $otp = $client->generate( "44xxxxxxxxxx", //The mobile number in international E.164 format. "SECUREPIN", //The sender that will be displayed in the OTP SMS. Can be composed of 2-11 alphanumeric characters (A-z,0-9, ,-,.) or 14 numeric characters (0-9). Special characters are not allowed. "Please do not share your password pin. Your password pin is: [PIN]", //The text message of OTP SMS. Remember to put placeholder [PIN] in the message. If all characters in the message belong to the 3GPP GSM 7-bit GSM 03.38 ASCII character table, you can send up to 160 characters. If one or more characters in the message belong to the 16-bit Unicode / UCS-2 character table, because of the increased memory requirement for each character, you can send up to 70 characters. 600, //The validity period of the pin in seconds. The default value is 600 seconds (10 minutes). ); //Print the generate OTP result. Remember to store the mobile number and the OTP id for later use. print_r($otp); ?>
验证 OTP
<? //Your account username and password $username = ""; $password = ""; $client = new MobiWeb\Rest\Client($username, $password); //Validate a previously generated OTP with the OTP ID. OTP is provided by the mobile number subscriber. $otp = $client->validate( "564xxx", //The OTP ID returned by the generated OTP. "44xxxxxxxxxx", //The mobile number of the subscriber in international E.164 format. "265xxx", //The OTP provided by the mobile number subscriber. ); //Print the OTP validation attempt result. If result is TRUE, OTP is validated. echo $otp; ?>
获取账户余额
<?php //Your account username and password $username = ""; $password = ""; $client = new MobiWeb\Rest\Client($username, $password); //Get account balance and print it echo $client->getBalance(); ?>
获取账户定价
<?php //Your account username and password $username = ""; $password = ""; $client = new MobiWeb\Rest\Client($username, $password); //Get account OTP pricing and print it print_r($client->getPricing(MobiWeb\Rest\Client::OTP)); ?>
异步 SMS API
异步 SMS 流程
为了实现更好的性能,使用MobiWeb异步短信API发送的消息将立即进行验证和接受,但异步处理。一旦您的消息被处理并提交,您将收到有关它们状态的状态通知。消息状态通知将自动转发到您的系统/平台。当我们的短信API平台处理一条消息时,状态信息将通过POST请求立即转发到您指定的DLR回调URL(在设置异步短信API账户时指定)(状态通知转发)。在消息投递成功或达到最终状态后,我们的短信API平台将通过POST请求立即将相关的投递报告转发到您指定的DLR回调URL(投递报告转发)。
发送单个 SMS
<?php //Your account username and password $username = ""; $password = ""; //Endpoint Options: // APIClient::API_ENDPOINT - REST API (SMS, OTP, HLR) - Default // APIClient::SMPP_API_1_ENDPOINT - Asynchronous SMS API (SMS) // APIClient::SMPP_API_2_ENDPOINT - Asynchronous SMS API (SMS) - Alternative $endpoint = MobiWeb\Rest\Client::SMPP_API_1_ENDPOINT; $client = new MobiWeb\Rest\Client($username, $password, $endpoint); //Submit message $message = $client->broadcast( [[ "from" => "HelloWorld", //The sender displayed upon the SMS arrival. Can be composed of 2-11 alphanumeric characters (A-z,0-9, ,-,.) or 14 numeric characters (0-9). Special characters are not allowed. "to" => ["44xxxxxxxxxx"], //The full international number(s) of the recipient(s) in international E.164 format https://en.wikipedia.org/wiki/E.164. "message" => "Hello from MobiWeb!" //The text of the SMS message. If all characters in the message belong to the 3GPP GSM 7-bit GSM 03.38 ASCII character table https://en.wikipedia.org/wiki/GSM_03.38#GSM_7-bit_default_alphabet_and_extension_table_of_3GPP_TS_23.038_/_GSM_03.38, you can send up to 160 characters in a single SMS. You can send longer messages automatically by setting message parameter with your preffered text. In long SMS (multi-part SMS), each SMS part can be up to 153 characters. Each part costs as 1 SMS. If one or more characters in the message belong to the 16-bit Unicode / UCS-2 character table https://en.wikipedia.org/wiki/UTF-16, because of the increased memory requirement for each character, you can send up to 70 characters in a single SMS. In long SMS (multi-part SMS), each SMS part can be up to 67 characters. Each part costs as 1 SMS. ]] ); //Print message print_r($message); ?>
在保持身份验证令牌的情况下发送单条短信(用于多个并发执行)
<?php //Your account username and password $username = ""; $password = ""; //Preserve an access_token if it already exists and it is not expired. Used when multiple nodes use the same account to access the API. $preserve=true; //Endpoint Options: // APIClient::API_ENDPOINT - REST API (SMS, OTP, HLR) - Default // APIClient::SMPP_API_1_ENDPOINT - Asynchronous SMS API (SMS) // APIClient::SMPP_API_2_ENDPOINT - Asynchronous SMS API (SMS) - Alternative $endpoint = MobiWeb\Rest\Client::SMPP_API_1_ENDPOINT; $client = new MobiWeb\Rest\Client($username, $password, $endpoint, $preserve); //Submit message $message = $client->broadcast( [[ "from" => "HelloWorld", //The sender displayed upon the SMS arrival. Can be composed of 2-11 alphanumeric characters (A-z,0-9, ,-,.) or 14 numeric characters (0-9). Special characters are not allowed. "to" => ["44xxxxxxxxxx"], //The full international number(s) of the recipient(s) in international E.164 format https://en.wikipedia.org/wiki/E.164. "message" => "Hello from MobiWeb!" //The text of the SMS message. If all characters in the message belong to the 3GPP GSM 7-bit GSM 03.38 ASCII character table https://en.wikipedia.org/wiki/GSM_03.38#GSM_7-bit_default_alphabet_and_extension_table_of_3GPP_TS_23.038_/_GSM_03.38, you can send up to 160 characters in a single SMS. You can send longer messages automatically by setting message parameter with your preffered text. In long SMS (multi-part SMS), each SMS part can be up to 153 characters. Each part costs as 1 SMS. If one or more characters in the message belong to the 16-bit Unicode / UCS-2 character table https://en.wikipedia.org/wiki/UTF-16, because of the increased memory requirement for each character, you can send up to 70 characters in a single SMS. In long SMS (multi-part SMS), each SMS part can be up to 67 characters. Each part costs as 1 SMS. ]] ); //Print message print_r($message); ?>
发送多个 SMS
<?php //Your account username and password $username = ""; $password = ""; //Endpoint Options: // APIClient::API_ENDPOINT - REST API (SMS, OTP, HLR) - Default // APIClient::SMPP_API_1_ENDPOINT - Asynchronous SMS API (SMS) // APIClient::SMPP_API_2_ENDPOINT - Asynchronous SMS API (SMS) - Alternative $endpoint = MobiWeb\Rest\Client::SMPP_API_1_ENDPOINT; $client = new MobiWeb\Rest\Client($username, $password, $endpoint); $message = $client->broadcast( [[ "from" => "HelloEx1", //The sender displayed upon the SMS arrival. Can be composed of 2-11 alphanumeric characters (A-z,0-9, ,-,.) or 14 numeric characters (0-9). Special characters are not allowed. "to" => ["44xxxxxxxxxx"], //The full international number(s) of the recipient(s) in international E.164 format https://en.wikipedia.org/wiki/E.164. "message" => "Hello from MobiWeb 1!" //The text of the SMS message. If all characters in the message belong to the 3GPP GSM 7-bit GSM 03.38 ASCII character table https://en.wikipedia.org/wiki/GSM_03.38#GSM_7-bit_default_alphabet_and_extension_table_of_3GPP_TS_23.038_/_GSM_03.38, you can send up to 160 characters in a single SMS. You can send longer messages automatically by setting message parameter with your preffered text. In long SMS (multi-part SMS), each SMS part can be up to 153 characters. Each part costs as 1 SMS. If one or more characters in the message belong to the 16-bit Unicode / UCS-2 character table https://en.wikipedia.org/wiki/UTF-16, because of the increased memory requirement for each character, you can send up to 70 characters in a single SMS. In long SMS (multi-part SMS), each SMS part can be up to 67 characters. Each part costs as 1 SMS. ], [ "from" => "HelloEx2", "to" => ["44xxxxxxxxxx"], "message" => "Hello from MobiWeb 2!" ]] ); //Print message print_r($message); ?>
使用所有选项发送 SMS
<?php //Your account username and password $username = ""; $password = ""; //Endpoint Options: // APIClient::API_ENDPOINT - REST API (SMS, OTP, HLR) - Default // APIClient::SMPP_API_1_ENDPOINT - Asynchronous SMS API (SMS) // APIClient::SMPP_API_2_ENDPOINT - Asynchronous SMS API (SMS) - Alternative $endpoint = MobiWeb\Rest\Client::SMPP_API_1_ENDPOINT; $client = new MobiWeb\Rest\Client($username, $password, $endpoint); $message = $client->broadcast( [[ "from" => "HelloWorld", //The sender displayed upon the SMS arrival. Can be composed of 2-11 alphanumeric characters (A-z,0-9, ,-,.) or 14 numeric characters (0-9). Special characters are not allowed. "to" => ["44xxxxxxxxxx"], //The full international number(s) of the recipient(s) in international E.164 format https://en.wikipedia.org/wiki/E.164. "message" => "Hello from MobiWeb!", //The text of the SMS message. If all characters in the message belong to the 3GPP GSM 7-bit GSM 03.38 ASCII character table https://en.wikipedia.org/wiki/GSM_03.38#GSM_7-bit_default_alphabet_and_extension_table_of_3GPP_TS_23.038_/_GSM_03.38, you can send up to 160 characters in a single SMS. You can send longer messages automatically by setting message parameter with your preffered text. In long SMS (multi-part SMS), each SMS part can be up to 153 characters. Each part costs as 1 SMS. If one or more characters in the message belong to the 16-bit Unicode / UCS-2 character table https://en.wikipedia.org/wiki/UTF-16, because of the increased memory requirement for each character, you can send up to 70 characters in a single SMS. In long SMS (multi-part SMS), each SMS part can be up to 67 characters. Each part costs as 1 SMS. "options" => [ "receive_dlr" => "1", //Set this parameter to ‘1’ for requesting delivery report for this SMS. Refer to receive Delivery Reports section for more information . https://api.solutions4mobiles.com/sms-api.html#receive_delivery_reports "message_type" => "sms", //The type of the SMS message. "reference_code" => "ABCD1234", //Set this parameter to your preferred reference id / custom data for this submission. Length can be up to 50 characters. "schedule_date" => "", //Set this parameter in format "yyyy-mm-dd hh:mm:ss" UTC +0 to schedule your sending to a future datetime. Must be at least 20 minutes from now. "expire_date" => "" //Set this parameter in format "yyyy-mm-dd hh:mm:ss" UTC +0 to force expiration of your SMS to a future datetime. Must be at least 30 minutes from now and schedule_date. ] ]] ); //Print message print_r($message); ?>
获取账户余额
<?php //Your account username and password $username = ""; $password = ""; //Endpoint Options: // APIClient::API_ENDPOINT - REST API (SMS, OTP, HLR) - Default // APIClient::SMPP_API_1_ENDPOINT - Asynchronous SMS API (SMS) // APIClient::SMPP_API_2_ENDPOINT - Asynchronous SMS API (SMS) - Alternative $endpoint = MobiWeb\Rest\Client::SMPP_API_1_ENDPOINT; $client = new MobiWeb\Rest\Client($username, $password, $endpoint); //Get account balance and print it echo $client->getBalance(); ?>
获取账户定价
<?php //Your account username and password $username = ""; $password = ""; //Endpoint Options: // Client::SMPP_API_OTP_ENDPOINT - Asynchronous SMS API (SMS) - For (one-time pins) OTP & Notification messages // Client::SMPP_API_MRK_ENDPOINT - Asynchronous SMS API (SMS) - For marketing messages $endpoint = MobiWeb\Rest\Client::SMPP_API_OTP_ENDPOINT; $client = new MobiWeb\Rest\Client($username, $password, $endpoint); //Get account pricing and print it print_r($client->getPricing(MobiWeb\Rest\Client::SMS)); ?>
接收消息状态通知和投递报告
消息处理状态通知和投递报告将自动转发到用户系统/平台。当我们的短信API平台处理一条消息时,状态信息将通过POST请求立即转发到您指定的DLR回调URL(在设置异步短信API账户时指定)。
<? //For information about receiving message status notifications and delivery reports please visit https://api.solutions4mobiles.com/asynchronous-sms-api.html#receive_status_notifications //Get request $inputJSON = file_get_contents('php://input'); //convert JSON into array $input= json_decode( $inputJSON, TRUE ); //print data print_r($input); //Return successful http code header('HTTP/1.1 200 OK', true, 200); // or error // header('HTTP/1.1 500 Internal Server Error', true, 500); ?>
将消息状态通知和投递报告与消息匹配
状态通知和投递报告的POST请求传输消息ID
、参考代码
、接收者电话
和消息状态
。
由于SMPP API的异步性质,在提交消息进行处理时,消息ID不可用。
为了匹配和交叉检查提交的消息与其状态通知和投递报告,请在提交消息时设置参考代码
并存储它,以便在接收到通知和投递报告时进行交叉检查和匹配。
或者,如果您不是向同一手机号码发送多条消息,可以使用接收者电话
来匹配报告与消息。
获取帮助
如果您需要安装或使用库的帮助,请[联系我们][MobiWeb支持中心]。
如果您在库中发现了错误或希望添加新功能,请打开此存储库的问题或拉取请求!
[smppaccount]: mailto:sales@solutions4mobiles.com?subject=异步短信API测试账户请求&body=尊敬的团队,请为我提供异步短信API的测试账户。 [webpanel]: https://sms.solutions4mobiles.com [MobiWebSupportCenter]: https://www.solutions4mobiles.com/support