咪狐API 使用手册

咪狐开放云示意图

咪狐php-sdk,点击下载(YiXinSdk-2019-03-26.zip)

AppId,AppSecret 获取

登录企业咪狐后台,访问

http://e.wx.miscrm.com/index.php?r=settingsys/security 

获取AppId和AppSecret

微信公众号配置IP白名单

可在公众号的,开发->基本配置->IP白名单 里面配置如下ip

114.55.64.114

使用范例

/** 
 *  咪狐SDK 使用范例
 */
// 引入SDK库
include('YiXin.php');

// 登录咪狐后台
// 访问http://e.wx.miscrm.com/index.php?r=settingsys/security 
// 获取AppId和AppSecret
$AppId = '你的AppId';
$AppSecret = '你的AppSecret';
$yixin = new YiXin($AppId, $AppSecret);
$openId = '咪狐跳转到第三方链接时传递过去的openid';
$wxappId = '咪狐跳转到第三方链接时传递过去的wxappid';
$cardId = '要发送给顾客的卡片的id';

// 获得某个顾客在咪狐的顾客id
$userInfoResult = $yixin->getCustomerInfo($openId, $wxappId);
// var_dump('userInfoResult',$userInfoResult);

if(isset($userInfoResult['customerInfo']) && isset($userInfoResult['customerInfo']['id'])){
    $customerId = $userInfoResult['customerInfo']['id'];
    // 给某个顾客发某一种卡券
    $sendCardResult = $yixin->sendCardOrCoupons($customerId, $cardId);    
    // var_dump($sendCardResult);
}

请求接口说明

/**
 * 获取jssdk需要的参数
 *
 * @param  [type] $wxappId         jssdk所对应的公众号的id
 * @param  [type] $url             当前页面的地址,域名需要是js安全域名
    返回格式:
    array(
        "appId",
        "nonceStr",
        "timestamp",
        "url",
        "signature",
        "rawString"
    ) 
 * @return [type]                  [description]
 */
public function getSignPackage($wxappId, $url)

/**
 * 获取顾客的详细信息
 * openId,wxappid(这两个参数在授权域名共享的回调时会提供)
 *
 * @param  [type] $openId 该顾客的openId
 *
 * 成功返回示例:
    {
        errNum: 0,                  // 0代表请求正确返回
        customerInfo: {
            id: 6,                  // 顾客id
            status: 1               // 1:关注 2:取消关注
            headImg: 'xxxx.jpg',    // 顾客头像 (获取到头像后请保存至第三方开发者的服务器,使用第三方域名访问图片)
            name: 'xxx',            // 顾客名字
            tel: '138****1786'      // 顾客电话(如果有的话说明已经注册)
        }
    }     
 */
public function getcustomerinfo($openId, $wxappId)    
/**
 * 用cusId获取顾客信息
 * @param  [type] $cusId 顾客id
 * @return [type]    
 *  返回顾客信息的字段:    
        id : ID,
        name : 名字,
        telnum : 已认证电话,
        telnum1 : 未认证电话,
        birthday : 生日,
        sex : 性别(1:男,2:女),
        description : 额外描述,
        wxLastOpTime : 微信上最近一次交互的时间,
        uid : 渠道人员id,
        channelId : 渠道媒介,
        consultId : 现场咨询师id,
        firstPreConsultId : 专属线上咨询师,
        preConsultId : 线上咨询id,
        intention : 顾客意向度,
        isBigOrder : 是否是大单,
        points : 金币,
        commission : 佣金,
        gold : 顾客余额,
        headimg : 头像地址,
        orderTime : 预约时间,
        model : 0: 公众号聊天 1:网页在线聊天 2:小程序聊天     

        channel : 媒介的具体信息
        user: 渠道人员的具体信息
        firstpreconsult: 专属咨询师的具体信息
        preconsult: 线上咨询师的具体信息
        consult: 现场咨询师的具体信息
        wxScenesBind: 关注的公众号
 */
public function getCusInfoByCusId($cusId)
/**
 * 获得某个时间点之后的所有聊天记录   
 * @param  [type]  $lastChatTime 该时间点之后的聊天内容,空则从最开始获取
 * @param  integer $page         分页,0开始。一页1000条
 * @return [type]  
 *     返回字段说明:
 *        total: 符合条件的消息总数     
 *        consults:              
     *        cusId : 哪个顾客的消息,
     *        msgOwner : 0: 顾客发的,1:客服回复的,  
     *        msgType : 1:文字,2:图片, 3: 音频,4: 视频,5:短视频,         
     *        content : 消息内容,
     *        createTime : 消息创建时间
 */            
public function getAllChatHistoryByTime($lastChatTime = null, $page = 0)
/**
* 获得某个顾客某个时间点之后的聊天记录   
* @param  [type]  $wxac         公众号的开发者ID(AppID)
* @param  [type]  $openId       顾客的openId
* @param  [type]  $lastChatTime 该时间点之后的聊天内容,空则从最开始获取
* @param  integer $page         分页,0开始。一页20条
* @return [type]  
*     返回字段说明:
*        total: 符合条件的消息总数
*        cusId: 该顾客在咪狐系统中的id
*        consults:                  
    *        msgOwner : 0: 顾客发的,1:客服回复的,  
    *        msgType : 1:文字,2:图片, 3: 音频,4: 视频,5:短视频,         
    *        content : 消息内容,
    *        createTime : 消息创建时间
*/    
public function getChatHistoryByOpenId($wxac, $openId, $lastChatTime = null, $page = 0)
/**
 * 给某个顾客发送一张卡或优惠券
 *
 * @param  [type] $cusId           顾客的id
 * @param  [type] $cardOrCouponsId 要发送的卡券的id
 * @param  [type] $uId 哪个业务员发放的卡券 (可选)
 * @param  [type] $eventId 在哪个活动发放的卡券 (可选)
 * 正确返回示例
        {
            errNum: 0,                              // 为0代表返回正确
            expirationTime: "2016-10-31 23:59:59",  // 顾客这张卡片过期的时间
            cardMemberId: 60411                     // 顾客发送这张卡片的记录的id
        }
 * 
 */    
public function sendcardorcoupons($cusId, $cardOrCouponsId, $uId = null, $eventId = null)
/**
 * 给某个手机号发送短信
 *
 * @param  [type]  $tel       发送对象的手机号
 * @param  integer $type      3:发送4位短信验证码(默认)  6:发送商城订单信息
 * @param  [type]  $theParams 如果是发送商城订单信息,格式为
        theParams: {orderNum:'此次交易的订单号,必填', tip:'短信中的提醒,必填'}
 *
 * @return [type]             
    {
        errNum: xx(0说明接口返回成功,非0说明是产生了错误),
        msg: errNum为非0时会带上这个错误信息, 
        verifyCode: 验证码数值(发送验证码成功时会返回这个字段)
    }
 */
public function sendMsgTotel($tel, $type = 3, $theParams = null)

/**
 * 使用示例
 */

// 测试短信验证码
$yixin->sendMsgTotel('18622223333', 3);

// 测试订单成功之后的通知
$params = [];
$params['orderNum'] = 'EA201320123344';
$params['tip'] = '到店时请出示该短信。';
$yixin->sendMsgTotel('18622223333', 6, $params);

/**
 * 顾客收到的短信模板,@var(传入参数名字) 代表你传入的参数 
 * @var(cn) 代表企业名字, @var(vc) 代表验证码, @var(ordernum) 代表订单号, @var(tip) 代表提示信息
 */

// 发送验证码
【YIXIN】你的验证码为@var(vc),用于@var(cn)的顾客服务业务,该验证码十分钟之内有效,请勿转发
// 订单成功通知
【YIXIN】你的订单号为@var(ordernum),用于@var(cn)顾客服务业务,@var(tip)