Советы:
Микро-канал шаблон толчок сообщение, микро-каналы должны идти до конца, если шаблон конфигурации, генерирует соответствующее сообщение шаблона, строка символов, наряду с требуемыми данными параметров, передаваемых в микро стороне канала, помните! ~
Тела часть кода требуемых параметров, ответственных за сервисный модуль, готовый стороны микро-канала: первый участок
/ **
* После того, как заказ будет завершен на стороне пользователя нажимной микроканале [информацию о завершении заказа]
* @param INT $ OrderID ID заказа
* @return Mixed
* /
функция order_complete_wx_notice общественности ($ OrderID)
{
// $ this-> write_log ([ ' order_cmp. => 1, '$ OrderID «=> $ OrderID]);
IF ($ OrderID) {
// Получить информацию шаблона , представленный OrderID
$ order_info = $ this-> get_template_info ($ OrderID ,. 3);
// this- $> write_log ([ 'order_cmp' => 2, 'order_info' => $ order_info]);
IF ($ order_info) {
// шаблон данных
$ Request = [];
$ Request [ 'TOUSER'] $ = order_info [ «Вконтакте»];
$ Request [ 'template_id'] = '84Muc5Er_gyddmU1sdfdXSssssdAvW93kI';// для завершения шаблона идентификатора сообщения
$ Запрос [ 'страница'] = 'страницы / вблизи индекса /'; // нажмите на шаблон карты Скачок страницы
$ Запрос [ 'form_id'] = $ order_info [ 'prepay_id']; // идентификатор этого платить
$ Request [ 'Data'] = [
'keyword1' => [ 'значение' => $ order_info [ 'COURSE_NAME'] ], // название курса
'keyword2' => [ 'значение ' => $ order_info [ 'order_complete_time']], // время завершения
'ключевое слово 3 ' => [ 'значение ' => $ order_info [ 'gym_name']], // кладовую имя
'keyword4' => [ 'значение ' => $ order_info [ 'адрес']], // адрес магазина
'keyword5' => [ 'значение ' => ' завершено'], // статус заказа
'keyword6' => [ 'значение ' => '400-010-88888'], // телефон обслуживания клиентов
'keyword7'=> [ 'Значение' => ' Ваш заказ был завершен на этот раз, пожалуйста обслуживания клиентов вызов, ценный совет Oh!'], // Советы
];
// $ запрос [ 'emphasis_keyword'] = 'keyword5.DATA'; // ключевое слово шаблоны масштаба
// $ this-> write_log ([ 'order_cmp' => 3, 'Request' => $ Request.]);
// данные передач
$ этом-> wx_show_template ($ Request);
}
}
}
/ **
* идентификатор шаблона информация , полученная с помощью последовательности отображения
* @param INT $ идентификатора заказа идентификатор ($ типа = 2) || идентификатора заказа ($ типа = 3 типа = $ 1 или)
* @param INT $ 2 типа, успех оплаты, 3, заказ завершен.
@Return массив *
* /
функция get_template_info общественности ($ ID, $ типа)
{
IF (ID && $ $ типа) {
$ this-> load-> DAO ( 'order_dao');
возвращение $ this-> order_dao-> get_template_info ( ID $, $ типа);
}
}
Часть II: отвечают за передачу данных на подготовленный конце микро-канал, микро-канальный микро-канал толчок, чтобы дать пользователю шаблон сообщения
/ **
* передает данные в конце микро - канала, шаблон интерфейса дисплея
* @param $ Request массив
* /
общественная функция wx_show_template ($ Request)
{
// Получить значение REDIS redis_access_token в
$ 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 $, $ Request);
}
/ **
* данные Curl POST в режиме микро-канала
* @param Строка $ URL - адрес запроса
* данные передачи @param массив $ данных
* /
функция curl_post_weixin общественности ($ URL, $ данных)
{
ЕСЛИ ($ URL && COUNT ($ данных)) {
$ заголовки = [ 'Content-Тип: файл приложения / JSON'];
$ СН = curl_init ();
curl_setopt ($ СН , CURLOPT_HTTPHEADER, $ заголовки); // ключевой момент
curl_setopt ($ СН, CURLOPT_URL, $ URL);
curl_setopt ($ СН, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ СН, CURLOPT_POST, 1);
curl_setopt ($ СН, CURLOPT_POSTFIELDS, json_encode ($ данных));
curl_exec ($ СН);
curl_close ($ CH);
}
}
/ **
* Возвращает access_token значение
* @return Строка $ access_token
* /
общественная 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 ($ ч, CURLOPT_URL, $ URL); // получить URL данных
curl_setopt ($ CH, CURLOPT_RETURNTRANSFER ,. 1); // информация возврат приобретенного в виде файла потока
curl_setopt ($ ч,CURLOPT_SSL_VERIFYPEER, ложь); // пропустить проверочный сертификат
curl_setopt ($ ч, CURLOPT_SSL_VERIFYHOST, ложные ); // проверить сертификат шифрования SSL является
$ = Вывод json_decode (curl_exec (CH $));
$ $ output- в access_token => access_token;
curl_close (CH $);
возвращение $ в access_token ;
}
Заключенный:
WeChat шаблон сообщения толчка, ключевой моментом является то, чтобы перейти к микро конфигурации бокового канала, чтобы сформировать соответствующий шаблон, генерируются шаблон, а затем, является подготовка параметров, после передачи данных, клиент микро-канал принимает сообщения локона функции, на основе OpenId, выталкивает сообщение, соответствующее пользователя (мобильной) связи терминала микро!