收藏
回答

模板消息发送发送报errcode=47001, errmsg=data format error

{

    "data": {

        "phrase9": {

            "value": "订单审核"

        },

        "character_string2": {

            "value": "59240526999001703"

        },

        "thing8": {

            "value": "测试景区"

        },

        "time5": {

            "value": "2024-05-29"

        }

    },

    "templateId": "RUvEZ6TN0QQjaoIkwi_ICnP58_n1Vr7XRQWBZQYMKhA",

    "toUser": "o0phUw-3rgTqWw7hth5ahyTWFj3A",

    "url": ""

}

https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=80_sm6KWd-Xo4R-RW1t1OnAvA4WTu4vGZzXgCR0Q6aMzcPZN_71fcqWo-GTOa8PG_NszYXO-MmCfTmtsGdGrNiCjzSLoigbuBYU4VE-7RH25P19qoJ97pvJqpax3UYXKRdAFAFSZ

WeiXinResponse result = restTemplate.postForObject(String.format(PUSH_MESSAGE_URL, access_token),
        weChatTemplate.getData(), WeiXinResponse.class);


 WeiXinResponse(errcode=47001, errmsg=data format error rid: 66569ae3-6fe89688-274b3e3b, msgid=null)

回答关注问题邀请回答
收藏

4 个回答

  • 社区技术运营专员--许涛
    社区技术运营专员--许涛
    05-29

    你好,请求包

    <WeChatTemplate><url></url><miniprogram/><data><phrase9><value>订单审核</value></phrase9><character_string2><value>59240526999001703</value></character_string2><thing8><value>测试景区</value></thing8><time5><value>2024-05-29</value></time5></data><touser>o0phUw6l3biYsA1uxDkrLJ87GQpU</touser><template_id>RUvEZ6TN0QQjaoIkwi_ICnP58_n1Vr7XRQWBZQYMKhA</template_id></WeChatTemplate>

    05-29
    有用
    回复 3
    • klz
      klz
      05-29
      有什么问题吗
      05-29
      回复
    • 社区技术运营专员--许涛
      社区技术运营专员--许涛
      05-29回复klz
      这个请求包JSON错误
      05-29
      回复
    • klz
      klz
      05-29
      WeiXinResponse(errcode=47003, errmsg=argument invalid! data.phrase9.value invalid rid: 6656e45b-65bbd174-2e9eb4fb, msgid=null)
      05-29
      回复
  • klz
    klz
    05-29

     weChatTemplate: WeChatTemplate(touser=o0phUw-3rgTqWw7hth5ahyTWFj3A, template_id=RUvEZ6TN0QQjaoIkwi_ICnP58_n1Vr7XRQWBZQYMKhA, url=null, miniprogram=null, data={phrase9={value=订单审核}, character_string2={value=59240526999001703}, thing8={value=测试景区}, time5={value=2024-05-29}})

    2024-05-29 14:47:45.986 [http-nio-8082-exec-3] INFO  c.e.cloud.service.generator.impl.SmsServiceImpl:313 - url:https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=80_MvwE5V1xEtxA7vvTcptxI6wQ846LJ4N8pnbxvOX0yIrSNPKEYgrq4OdhkVDL45q_yDnFqqGQRl3bE1EcXUqewNohdAQqAO8-OJbGgHvXT3MG_RHZ36cEVQisONMJTLiAGAFPH

    WeiXinResponse result = restTemplate.postForObject(String.format(PUSH_MESSAGE_URL, access_token),
            JSON.toJSON(weChatTemplate), WeiXinResponse.class);
    log.info(result.toString());
    if (result.getErrmsg().equals("ok")) {
        log.info("PMS景区【" + poi.getName() + "】订单【" + orderInfo.getOrderCode() + "】已通知");
    }
    if (result.getErrmsg() == null && !result.getErrmsg().equals("ok")) {
        log.info("出异常了,发送微信通知是吧");
        //return Result.failure(ResultCode.SEND_MESSAGE_FAIL);
    }
    

    05-29
    有用
    回复
  • Mr.Zhao
    Mr.Zhao
    发表于小程序端
    05-29

    为啥不看文档,哪来的toUser,templateId也不对,不是驼峰

    05-29
    有用
    回复 2
    • klz
      klz
      05-29
      weChatTemplate: WeChatTemplate(touser=o0phUw-3rgTqWw7hth5ahyTWFj3A, template_id=RUvEZ6TN0QQjaoIkwi_ICnP58_n1Vr7XRQWBZQYMKhA, url=null, miniprogram=null, data={phrase9={value=订单审核}, character_string2={value=59240526999001703}, thing8={value=测试景区}, time5={value=2024-05-29}})

      2024-05-29 14:47:45.986 [http-nio-8082-exec-3] INFO  c.e.cloud.service.generator.impl.SmsServiceImpl:313 - url:https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=80_MvwE5V1xEtxA7vvTcptxI6wQ846LJ4N8pnbxvOX0yIrSNPKEYgrq4OdhkVDL45q_yDnFqqGQRl3bE1EcXUqewNohdAQqAO8-OJbGgHvXT3MG_RHZ36cEVQisONMJTLiAGAFPH

      WeiXinResponse result = restTemplate.postForObject(String.format(PUSH_MESSAGE_URL, access_token),
              JSON.toJSON(weChatTemplate), WeiXinResponse.class);
      log.info(result.toString());
      if (result.getErrmsg().equals("ok")) {
          log.info("PMS景区【" + poi.getName() + "】订单【" + orderInfo.getOrderCode() + "】已通知");
      }
      if (result.getErrmsg() == null && !result.getErrmsg().equals("ok")) {
          log.info("出异常了,发送微信通知是吧");
          //return Result.failure(ResultCode.SEND_MESSAGE_FAIL);
      }
      05-29
      回复
    • Mr.Zhao
      Mr.Zhao
      发表于移动端
      05-29回复klz
      看官方日志没传json,转成xml了。自查代码
      05-29
      回复
  • 风清雾云开见日出
    风清雾云开见日出
    05-29

    这个没有值就不要传递这个参数

    05-29
    有用
    回复 2
    • klz
      klz
      05-29
      不是这个原因吧
      05-29
      回复
    • 风清雾云开见日出
      风清雾云开见日出
      05-29回复klz
      参数名和值正确,就看到传递给api的参数是否是json格式了
      05-29
      回复
登录 后发表内容