SMSによってゆっくりと通常のコミュニケーションツールのキューをフェードアウト、常に置き換えれることはありませんによってその存在、SMSの確認コードを消去された、通知のステータスに関する重要な情報に加えてのは望ましくありません。だから、SMSの使用は、リングの開発に必要であることを理解。
テンセントクラウドSMSサービスは100に無料で提供され、それは開発とテストのために便利です。
テンプレートテキストメッセージングサービスと確立
https://console.cloud.tencent.com/sms
ビューSDK
https://cloud.tencent.com/document/product/382/13410
これは、複数の言語のSDKを提供します
PHPのSMSテンプレートの流線
単一メッセージテンプレートを達成するために送ります
1 / * * 2 * @param文字$ nationCode国コード、例えば86中国語など 3 * @param文字列$にphoneNumber国コード電話番号無し 4 * @param INT $ templidテンプレート前記ID上記 5 * @param配列$ paramsはテンプレートパラメータこうしたテンプレートとしてリスト、...、{1} {2} {3} ...、あなたは3つの引数を取る必要がある 。6 * @param文字列$サイン署名空白文字列で塗りつぶした場合、システムはデフォルトの署名を使用します 。7 * @param文字列$空白の文字列を埋めることができ、拡散符号を拡張する 8つの パラメータ@param文字列$ extは*のように、サーバから返され、空白の文字列を埋めることができます 。9 * @return文字列レスポンスJSON文字列を、詳細なプロトコルドキュメントテンセント雲参照 10 * / 11 機能 sendWithParam($ nationCode、$にphoneNumber、$ templid = 0、$ paramsは、$サイン = ""、$拡張 = ""、$ EXT = "" ){ 12は 13である $のAppID = 1400xxx; // 自分のメッセージのAppID 14 $のAppKey = "d80axxxxx"; // 自分のメッセージのAppKey 15 16 $ランダム = RAND(100000、999999); //は、乱数生成 17 $ CURTIME = 時間(); 18 $ wholeUrl = "https://yun.tim.qq.com/v5/tlssmssvr/sendsms"「sdkappid =。? 。 " $のAppID。" &ランダム= "。$ランダム; 19 20 //プロトコルパッケージに応じてポスト体組織 21が $データ = 新新 \はstdClass(); //は、メソッドとプロパティのメンバーオブジェクト空のいない作成 22は $電話は = 新しい新しい\はstdClass(); 23が $電話を。 - > nationcode =「」$ nationCode ; 24 $電話 - >モバイル= "" $にphoneNumber ; 25 $データ - >電話= $電話; 26は $データ - > SIG =ハッシュ( "SHA256"、 "のAppKey =" $のAppKey。 "&ランダム=" ランダム$ .. "時間=&" $ CURTIME "モバイル&="。$にphoneNumber)。// 署名生成 27 $のデータを- > tpl_id = $ templId 。 28の $データ - >のparams = $のparams ; 29の $データ - >記号= $記号; 30の $データ - > 時間 = $ CURTIME 。 31の $データ - >延長= $延ばします。 32の $データ - > EXT = $ EXT 。 33 34 リターン sendCurlPost($ wholeUrl、$データ)。 35 } 36 / * * 37 *发送请求 38 * 39 * @Param列$ URL要求アドレス 40 * @paramアレイはdataobjコンテンツ要求$ 41である * @returnストリング応答JSON文字列 42がある * / 43である 関数 sendCurlPost($ URL、$ dataobj ){ 44は $カール = curl_init(); 45 ますcurl_setopt ($カール、へCURLOPT_URL $ URL ); 46である ますcurl_setopt($カール、CURLOPT_HEADER、0 ;) 47 ますcurl_setopt($カール、CURLOPT_RETURNTRANSFER ,. 1 ); 48 ますcurl_setopt($カール、CURLOPT_POST ,. 1); 49 ますcurl_setopt($カール、CURLOPT_CONNECTTIMEOUT、60 ); 50 ますcurl_setopt($カール、CURLOPT_POSTFIELDS、json_encode($ dataObj )); 51 ますcurl_setopt($カール、CURLOPT_SSL_VERIFYHOST、0 ); 52 ますcurl_setopt($カール、CURLOPT_SSL_VERIFYPEER、0 ); 53 $ RET = curl_exec($カール); 54 もし(偽 == $ RET ){ 55 // curl_execは失敗した 56 $結果を= "{\" \つながります":"。-2。"\ "ERRMSG \":\ "" curl_error($カール)。 "\"}" ; 57 } 他{ 58 $ RSP = curl_getinfo($カール、CURLINFO_HTTP_CODE)。 59 もし(!200 = $ RSP ){ 60 $結果 = "{\"結果\ ":"。-1。"\ "ERRMSG \":\ ""。$ RSP 61 "" curl_error(。。$カール)。 "\"}" 。 62 } 他{ 63 $結果 = $右; 64 } 65 } 66 curl_close($カール)。 67 68 戻り ます$ result ; 69 }
テストコード:
1つの 関数XX(){ 2 $ templid = 286xxx; // 自分のメッセージテンプレートID 3。 $ phoneNumber1 = "159xxxxx"; //は、SMS、携帯電話番号を受け入れる 。4 試み{ 5つの // テンプレートプレースホルダデータ 。6 $ paramsは = 配列(「データ1 ""データ2 " ) 7 $結果 = sendWithParam(" "86 $ phoneNumber1、$ templid、$ paramsは、" "" "" " ); 8 エコー $結果。// JSON出力成果 9 } キャッチ(\ 例外 E $ ){ 10 エコー のvar_dump($ E); // 出力異常情報 11 } 12 }