微信模板消息提示格式错误 47001

  $data='
         {
           "touser":"o8QGTxBF4KH6Az11OK-QuNJgmbbA",
           "template_id":"WeWIoaT5K-sFuxvfHgPGHQ1M4WvhgPAAtLOTGcVo-fA",
           "url":"http://shop.immtreecaviar.com",
           "data":{
                   "first": {
                    "value":"您好,鱼子酱订单已经下单成功",
                    "color":"#b81919"
                    },
                    "keyword1":{
                    "value":"商家名称2222",
                    "color":"#173177"
                    },
                    "keyword2":{
                    "value":34544454,
                    "color":"#173177"
                    },
                    "keyword3":{
                    "value":"商品明细",
                    "color":"#173177"
                    },
                    "keyword4":{
                    "value":"金额100元",
                    "color":"#173177"
                    },
                    "remark":{
                    "value":"\n\t您好备注欢迎您的收看",
                    "color":"#173177"
                    }
           }
       }';

麻烦帮我看下哪里错了
谢谢大家了

clipboard.png

阅读 5.6k
4 个回答

试试用 json_encode 来拼接字符串?

    public function template($openid, $templateId, array $data, $url = '', $defaultItemColor = '#173177')
    {
        $apiUrl = 'https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=' . $this->getAccessToken();
        foreach ($data as $key => $val) {
            if (!is_array($val)) {
                $data[$key] = array(
                    'value' => "$val",
                    'color' => "$defaultItemColor",
                );
            }
        }

        $postData = array(
            'touser' => $openid,
            'template_id' => $templateId,
            'url' => $url,
            'data' => $data,
        );
        $postData=json_encode($postData);
        return MT_WEIXIN_Http::curlPost($apiUrl, $postData);
    }

可以看下上边代码,注意转为json数据

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题