Auteur : Wang Xianrong
Cet article présente les modèles de messages dans les comptes publics WeChat, notamment les suivants : (1) Introduction à la classe TemplateMessage ; (2) Définition de l'industrie (3) Obtention ; l'identifiant du modèle ; (4) Envoyer des messages de modèle (5) Recevoir des messages de modèle push envoyant des événements de résultat ;
1 Introduction à la classe TemplateMessage
La classe statique TemplateMessage encapsule les méthodes liées aux modèles de messages, voir le tableau ci-dessous :
方法名 | 功能 |
SetIndustry | 设置行业 |
GetId | 获取模板id |
Send | 发送模板消息 |
2 Définir le secteur
La méthode SetIndustry de la classe TemplateMessage est utilisée pour définir le secteur auquel appartient le compte officiel. La méthode est définie comme suit :
/// <summary> /// 设置行业 /// </summary> /// <param name="userName">公众号</param> /// <param name="code1">行业代码1</param> /// <param name="code2">行业代码2</param> /// <returns>返回设置是否成功</returns> public static ErrorMessage SetIndustry(string userName, string code1, string code2) //或者 /// <summary> /// 设置行业 /// </summary> /// <param name="userName">公众号</param> /// <param name="industry1">行业1</param> /// <param name="industry2">行业2</param> /// <returns>返回设置是否成功</returns> public static ErrorMessage SetIndustry(string userName, Industry industry1, Industry industry2)
Parmi eux, Industry est la classe industrielle, et les membres statiques de la classe incluent toutes les industries connues : Industry.OnlineGame y représente l'industrie du jeu en ligne ; Il existe trois classes d'industrie Attributs , respectivement : Code - code de l'industrie, Nom - nom de l'industrie, PrimaryIndustry - industrie principale.
Exemple de configuration de l'industrie :/// <summary> /// 设置所属行业 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnSetIndustry_Click(object sender, EventArgs e) { string userName = lbPublicAccount.SelectedValue; string industryCode1 = "", industryCode2 = ""; int count = 0; foreach (ListItem item in cblIndustry.Items) { if (item.Selected) { count++; if (count == 1) industryCode1 = item.Value; else if (count == 2) { industryCode2 = item.Value; break; } } } if (count != 2) ltrMessage.Text = "请选择两个行业。"; else { ErrorMessage errorMessage = TemplateMessage.SetIndustry(userName, industryCode1, industryCode2); ltrMessage.Text = string.Format("设置所属行业{0}。{1}", errorMessage.IsSuccess ? "成功" : "失败", errorMessage.IsSuccess ? "" : errorMessage.ToString()); } } 设置所属行业示例
Exemple de configuration de l'industrie
3 Obtenir le modèle id
La méthode GetId de la classe TemplateMessage est utilisée pour obtenir l'identifiant du modèle La méthode est définie comme suit :/// <summary> /// 获取模板ID /// </summary> /// <param name="userName">公众号</param> /// <param name="shortTemplateId">模板库中模板的编号,有“TM**”和“OPENTMTM**”等形式</param> /// <param name="errorMessage">返回获取是否成功</param> /// <returns>返回模板ID;如果获取失败,返回空字符串。</returns> public static string GetId(string userName, string shortTemplateId, out ErrorMessage errorMessage)
Remarque : ( 1) Si le modèle n'a pas encore été ajouté, cette méthode ajoutera d'abord le modèle, puis renverra l'identifiant du modèle (2) Si le modèle a été ajouté, appeler à nouveau cette méthode renverra un nouvel identifiant de modèle différent de ; le dernier identifiant de modèle obtenu.
Exemple d'obtention de l'identifiant de modèle :/// <summary> /// 添加并模板id /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnGetTemplateId_Click(object sender, EventArgs e) { string userName = lbPublicAccount.SelectedValue; ErrorMessage errorMessage; string templateId = TemplateMessage.GetId(userName, txtTemplateIdShort.Text, out errorMessage); if (errorMessage.IsSuccess) ltrMessage.Text = string.Format("添加并获取模板id成功。模板id:{0}", templateId); else ltrMessage.Text = string.Format("添加并获取模板id失败。{0}", errorMessage.ToString()); }
Exemple d'obtention de l'identifiant de modèle
4 Envoyer des messages modèles La méthode Send de la classe TemplateMessage est utilisée pour envoyer des messages modèles. La méthode est définie comme suit :
/// <summary> /// 发送模板消息 /// </summary> /// <param name="userName">公众号</param> /// <param name="touser">接收消息的账号</param> /// <param name="templateId">模板id</param> /// <param name="detailUrl">详情地址</param> /// <param name="topColor">顶端颜色</param> /// <param name="data">数据</param> /// <param name="errorMessage">返回发送是否成功</param> /// <returns>返回消息id;如果发送失败,返回-1。</returns> public static long Send(string userName, string touser, string templateId, string detailUrl, Color topColor, Tuple<string, string, Color>[] data, out ErrorMessage errorMessage)
Exemple d'envoi d'un modèle de message :
/// <summary> /// 发送模板消息 /// </summary> /// <param name="userName">公众号</param> /// <param name="touser">接收消息的账号</param> /// <param name="templateId">模板id</param> /// <param name="detailUrl">详情地址</param> /// <param name="topColor">顶端颜色</param> /// <param name="data">数据</param> /// <param name="errorMessage">返回发送是否成功</param> /// <returns>返回消息id;如果发送失败,返回-1。</returns> public static long Send(string userName, string touser, string templateId, string detailUrl, Color topColor, Tuple<string, string, Color>[] data, out ErrorMessage errorMessage)
5 Recevoir un modèle push résultat de l'envoi du message Événement
Après l'envoi du modèle de message, le serveur WeChat poussera le résultat vers l'URL spécifiée du compte officiel, et le serveur du compte officiel recevra un message de demande de type RequestTemplateSendJobFinishMessage. La classe RequestTemplateSendJobFinishMessage possède les propriétés en lecture seule suivantes :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!