C\#위 챗 개발 의 템 플 릿 메시지 보 내기

우 리 는 일부 행위 의 진전 소식 을 사용자 에 게 전달 해 야 한다.문자 뿐만 아니 라 위 챗 템 플 릿 메 시 지 를 보 내 는 것 도 좋 은 선택 이다.템 플 릿 메 시 지 는 무료 이 고 정확 하 며 사용자 가 사이트 로 돌아 오도 록 유도 할 수 있다.하지만 두 가지 전제조건 이 있다.하 나 는 위 챗 결제 기능 이 개통 되 어야 템 플 릿 을 선택 할 수 있 습 니 다.두 번 째 는 추 송 된 사용자 가 반드시 당신 의 공중 번 호 를 주목 해 야 하 며,당신 도 그의 openid 를 받 았 습 니 다.

먼저 템 플 릿 라 이브 러 리 에서 원 하 는 템 플 릿 을 찾 아'내 템 플 릿'에 추가 합 니 다.

상세 한 상황 을 전개 하면 우 리 는 예 시 를 볼 수 있다.다음 C\#코드 로 보 내기:
공식 문서 의 예제 에서 우 리 는 푸 시 사람의 openid 를 제외 하고 모든 필드 의 색상 과 점프 주 소 를 설정 할 수 있 습 니 다.먼저 TempModel 대상 을 정의 할 수 있 습 니 다.

 public class TemplateModel
 {
  public string touser { get; set; }
  public string template_id { get; set; }
  public string url { get; set; }

  public string topcolor { get; set; }

  public TemplateData data { get; set; } 
 
  public TemplateModel(string hello,string state,string reason,string last)
  {
   data=new TemplateData()
   {
    first = new TempItem(hello),
    keyword1 = new TempItem(state),
    keyword2 = new TempItem(reason),
    remark = new TempItem(last)
   };
    
  }
 }

 public class TemplateData
 {
  public TempItem first { get; set; }
  public TempItem keyword1 { get; set; }
  public TempItem keyword2 { get; set; }
  public TempItem remark { get; set; }
 }
 public class TempItem
 {
  public TempItem(string v,string c = "#173177")
  {
   value = v;
   color = c;
  }
  public string value { get; set; }
  public string color { get; set; }
 }

결과 대상 을 되 돌려 줍 니 다:

 public class OpenApiResult
 {
  public int error_code { get; set; }
  public string error_msg { get; set; }

  public string msg_id { get; set; }
 }
그리고 발송 방법 을 정의 합 니 다:

using SendHelp= Senparc.Weixin.CommonAPIs.CommonJsonSend;

public OpenApiResult SendTemplateMessage(string token,TemplateModel model)
  {
   var url = string.Format("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={0}", token);
   try
   {
    var res = SendHelp.Send<OpenApiResult>(token, url, model);
    return res;
   }
   catch (Exception e)
   {
    
    return new OpenApiResult(){error_code = -1,error_msg = e.Message};
   }
   
  }
SendHelp 은 Senparac.Weixin 을 기반 으로 마지막 으로 호출 할 수 있 습 니 다.

public ActionResult SendMessage()
  {
   var token = getToken();
   var toUserId = "oBSBmwQjqwjfzQlKsFNjxFLSiIQM";
   var data = new TemplateModel("  ,stoneniqiu","    ","    ","      !");
   data.touser = toUserId;
   data.template_id = "gXmkeL7Kc-KUy2EQzKqjPKY-kzFyatTztiYFKCaUPO4";
   data.url = "http://www.xxx.com/xx/xx";
   data.topcolor = "#FF0000";
   var res=wxDeviceService.SendTemplateMessage(token, data);
   return View(res);
  }
token 은 AppID 와 APPSECRET 를 통 해 얻 을 수 있 습 니 다.발송 후 휴대 전화 에서 바로 소식 을 받 았 다.

그러나 사용자 의 openid 만 받 았 을 뿐 이 사용 자 는 대중 번호 에 관심 이 없 으 면 다음 과 같은 오 류 를 던 집 니 다.
기타 정보:위 챗 포스트 요청 오류!오류 코드:43004,설명:require subscribe hint:[Q2OfvA0092ge 21]
관련 부분 코드:wx-template
공식 문서:https://mp.weixin.qq.com/advanced/tmplmsg?action=faq&token=1798469214&lang=zh_CN
모든 오류 유형:http://www.szdyhd.com/news/view/webdesign/2016/0614/519.html
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기