PHPの「マイクロレターテンプレートメッセージのプッシュ」関連するコード

ヒント:

マイクロチャネルプッシュメッセージテンプレートのマイクロチャネルは最後まで行かなければならない、提供された構成テンプレート、対応するメッセージ・テンプレートIDを生成し、文字の文字列は、マイクロチャネル側に渡される必要なパラメータデータと一緒に、覚えておいてください!

サービスモジュールの責任コードに必要なパラメータ、準備マイクロチャネル側の本体部:第一部

/ ** 
 *注文がユーザ側プッシュマイクロチャネル[注文完了情報]で完了した後
 * @param INT $受注注文ID 
 * @returnミックス
 * / 
パブリック関数order_complete_wx_notice($受注)
{ 
    //の$ this - > write_log([ ' order_cmp '=> 1、。' $受注「=> $受注]); 
    IF($受注){ 
        //受注によって提示されるテンプレート情報を取得
        $ order_info =の$ this - > get_template_info($受注,. 3); 
        // this- $> write_log([ 'order_cmp' => 2、 'order_info' => $ order_info]); 
        IF($ order_info){ 
            //テンプレートデータ
            $リクエスト= []; 
            $要求[ 'TOUSER'] $ = order_info [「OpenIDの」];  
            $要求[ 'TEMPLATE_ID'] = '84Muc5Er_gyddmU1sdfdXSssssdAvW93kI';//メッセージテンプレートIDを完了するために
            $要求[「ページ」] =「ページおよび/近/インデックス」; //ジャンプページテンプレートのカードをクリックしてください
            $リクエストは[ 'form_id'] = $ order_info [ 'prepay_id']; // ID この有料の
            $要求[ 'データ'] = [ 
                'KEYWORD1' => [ '値' => $ order_info [ 'COURSE_NAME'] ]、//コース名
                'KEYWORD2' => [ '値 ' => $ order_info [ 'order_complete_time']]、// 完了時間
                'KEYWORD3' => [ '値 ' => $ order_info [ 'gym_name']]、 //ストアルーム名
                'keyword4' => [ '値 ' => $ order_info [ 'アドレス']]、// ストアアドレス
                'keyword5' => [ '値 ' => ' 完了']、//注文状況
                'keyword6' => [ '値 ' => '400-010-88888']、// 顧客サービスの電話
                'keyword7'=> [ '値' => 'ご注文は、この時間を完了している、してくださいコール顧客サービス、貴重なアドバイスああ!']、//ヒント
            ]; 
            // $要求[ 'emphasis_keyword'] = 'keyword5.DATA' ; //テンプレート増幅キーワード 
            //ます$ this-> write_log([ 'order_cmp' => 3 '要求' => $を要求。]); 
            //送信データ
            の$ this - > wx_show_template($要求); 
        } 
    } 
} 

/ ** 
 表示順序により取得*テンプレートID情報
 * @param INT $ ID順のID($タイプ= 2)||注文ID($タイプ= 3タイプ= $ 1か)の
 タイプ、支払成功の* @param int型$ 2; 3、注文が完了しています。
 @return配列* 
 * / 
パブリック関数get_template_info($ ID、$タイプ)
{ 
    IF(ID && $ $型){ 
        の$ this - >荷重- > DAO( 'order_dao'); 
        戻りの$ this - > order_dao-> get_template_info( ID $、$型); 
    } 
}

パートII:マイクロチャネルの調製端へのデータ送信を担当して、マイクロチャネル、マイクロチャネルのプッシュは、ユーザにメッセージ・テンプレートを与えます

/ ** 
 *データを送信するマイクロチャネルの端部に、ディスプレイインターフェイステンプレート
 * @paramの$要求アレイ
 * / 
パブリック関数wx_show_template($要求)
{ 
    //値はredis_access_token Redisの取得
    $ access_tokenは=の$ this - > get_redis_access_token(); 
    IF( !$ access_tokenは){ 
        マイクロチャネルの端から取得// 
        ; $ access_tokenは=の$ this - > get_access_token()
        //取得へのRedisの
        $ this-> load-> libraryメソッド( 'dbredis'); 
        の$ this - > dbredis-> SET ( 'redis_access_token'、access_tokenは$); 
    } 
    IF(!access_tokenは$){ 
        出口( 'access_tokenは悪い「!); 
    } 
    //送信アドレス
    $ URL =' https://api.weixin.qq.com/cgi-ビン/メッセージ/ wxopen /テンプレート/センド?access_tokenは=」。$ access_tokenは、
    //リクエストマイクロチャネル、マイクロチャネル側の表示テンプレート
    の$ this - > curl_post_weixin(URL $、$リクエスト); 
} 

/ ** 
 * cURLのPOSTデータマイクロチャネルモードへ
 * @param文字列$ URL要求アドレス
 * @param配列$データ伝送データ
 * / 
パブリック関数curl_post_weixin($ URL、$データ)
{ 
    IF($ URL && COUNT($データ)){ 
        $ヘッダー= [ 'のContent-Type:ファイルアプリケーション/ JSON']; 
        $ CH = curl_init(); 
        ますcurl_setopt($ CH 、CURLOPT_HTTPHEADER、$ヘッダ); //キーポイント
        ますcurl_setopt($ CH、CURLOPT_URL、$ URL); 
        ますcurl_setopt($ CH、CURLOPT_RETURNTRANSFER、1); 
        ますcurl_setopt($ CH、CURLOPT_POST、1); 
        ますcurl_setopt($ CH、CURLOPT_POSTFIELDS、json_encode ($データ)); 
        curl_exec($ CH);
        curl_close($ CH); 
    } 
} 

/ ** 
 * access_tokenは値を取得する
 文字列$ access_tokenは@return * 
 * / 
パブリックget_access_token関数()
{ 
    $のAppConfig = [ 
        'APP_ID' => 'wxsdd9asdfghe5efc'、
        '秘密' => 'ec1879wiujhyytbdt786ddb7d29106' 
    ]; 
    $ URL = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appConfig['app_id'].'&secret='.$appConfig['secret'] ; 
    $ curl_init CH =(); //ハンドルを作成
    しますcurl_setopt($ chの、CURLOPT_URL、$ URLを); // データのURLを取得
    しますcurl_setoptを($ CH、CURLOPT_RETURNTRANSFER ,. 1);ストリームファイルとして取得//戻り情報
    ますcurl_setopt($ chの、CURLOPT_SSL_VERIFYPEER、偽); //検証証明書をスキップ
    ますcurl_setopt($ chの、CURLOPT_SSL_VERIFYHOST、偽 ); // SSL暗号化証明書をチェックしている
    $ = json_decodeの出力(curl_exec(CH $)); 
    $ $出力- access_tokenは=> access_tokenは、
    curl_close($ CH); 
    リターンがaccess_tokenはを$ ; 
}

締結:

微信テンプレートメッセージプッシュ、キーポイントは、対応するテンプレートを形成するために、マイクロチャネル側の構成に移動することで、生成されたテンプレートIDは、次に、パラメータを用意することで、データ転送後、マイクロチャネル・クライアントは、OpenIDのベース、メッセージカール機能を受信しますマイクロのユーザの(モバイル)通信端末に対応するメッセージをプッシュ!
公開された59元の記事 ウォンの賞賛2 ビュー5581

おすすめ

転載: blog.csdn.net/LDR1109/article/details/101272425