FAQ > 金融建模 > 建模问题 > 发送微信消息

Q:发送微信消息的主要步骤    

  • 详细文档:FAQ:发送微信消息使用说明
    相关文档:FAQ:发送微信消息

    第一步:获取Userid
    具体请参考FAQ:Q:如何获取发送微信消息的Userid

    第二步:消息发送

    同步发送:
    send_wechat_message(userid,url,title,first,remark[,k1,k2,k3,k4,k5,k6])
    进行发送消息,请注意参数顺序,具体参考参数列表和模板规范。
    若执行成功,则返回’ success’,否则返回错误信息。

    异步发送:
    send_wechat_message_async(userid,url,title,first,remark[,k1,k2,k3,k4,k5,k6])
    请注意参数顺序,具体参考参数列表和模板规范。
    返回值为消息id,消息id为16位长度的字符串,由时间戳(10位)+随机数(6位)构成。
    比如:1576681843417041(前10位为1900年以来的秒数)
    参数列表:
    下列参数数据类型都是字符串,不同模板,部分参数有所有不同:
    No参数说明备注
    1userid绑定账户时提供给用户必需
    2url详情地址(网址)必需,若没有,可给空字符串
    3title模板消息标题必需,比如’监控报告通知’,目前有三种模板,后面会新增,具体请查看模板规范
    4first副标题一般需要
    4remarkRemark备注一般需要
    5k1keyword1/content 内容一般需要
    监控报告通知:运行状态
    系统运行简报:系统名称
    告警通知:告警内容
    6k2keyword2/occurtime一般需要
    监控报告通知:时间
    系统运行简报:简报内容
    告警通知:告警发生时间
    7k3keyword3 部分模板需要
    系统运行简报:发布时间
    其它模板可选,若无url地址,参数值可在查看详情中看到
    8k4keyword4部分模板需要
    9k5keyword5部分模板需要
    10k6keyword6部分模板需要


    获取异步发送结果:
    get_wechat_message_status(userid,username,wechat_message_id)
    获取发送结果,返回”成功”即表示发送成功,否则返回状态信息或错误信息。
    其中,username为账号名,在脚本执行时需要。
    wechat_message_id为异步发送返回的消息id。

    范例一:用同步的方式给微信发送一个告警通知

       userid:=xxxx;//用户userid 
    title := "告警通知";        //模板标题
        url:=''; //详情链接比如:http://tinysoft.com.cn
        first :='程序运行状态' ;//标题/重点信息
        k1 := "运行异常";    //通知的内容简介
        DateTimeToString(k2,'YYYY-MM-DD HH:NN:SS',now()); //k2->发生时间
        remark := "请及时查看程序运行结果!"; //其他内容/详细内容
        //请求发送模板消息
        echo send_wechat_message(userid,url,title,first,remark,k1,k2),"\r\n";
        return 1;

    //客户端打印信息:success
    //微信接收信息:



    范例二:用异步的方式给微信发送一个监控报告通知

           //定义参数
       url :="http://tinysoft.com.cn";
       userid := xxxx;//用户userid 

       title := "监控报告通知";//模板标题
       first := "运行状态";    //first k1 k2 remark为模板信息
       k1 := "运行正常";
       DateTimeToString(k2,'YYYY-MM-DD HH:NN:SS',now());
       remark := "如有疑问请与技术人员联系!";
       //请求发送模板消息(异步)
       wechat_message_id := send_wechat_message_async(userid,url,title,first,remark,k1,k2);
       echo wechat_message_id;
       //获取消息发送状态
       echo 'msg:', msg := get_wechat_message_status(userid,'xxx',wechat_message_id);
       sleep(2*1000);   //等待2秒再次查询状态
       echo 'msg2:', msg := get_wechat_message_status(userid,'xxx',wechat_message_id);
       return 1;
    //客户端打印信息:
    1576777793859041
    msg:正在初始化...
    msg2:成功
    //微信收到的消息: