php系统 房信erp_基于纷享销客开放平台,实现纷享CRM与金蝶云星空系统数据同步...

c81945ba44d47ecd099d77562ae38ce4.png

阅读对象:CRM/ERP系统管理员、数据库管理员、系统实施、财务、数据分析等相关人员,希望实现两个系统之间数据同步的程序员。

适用场景:纷享销客创建完客户以后,希望客户信息直接同步到金蝶系统客户列表里;纷享销客创建完订单,直接同步到金蝶销售订单;金蝶系统做完发货单,纷享销客同时收到发货通知等。

实现原理:利用纷享销客开放平台Open API接口实现对纷享销客CRM对象(客户、订单、联系人、销售线索、回款…...)的操作;利用金蝶云星空(K3cloud)Web API实现对金蝶云星空表单数据的操作;利用两个系统各自的API接口,结合具体的业务需求,即可实现两个系统的数据同步。

为什么现在很多平台都提供API接口?

我想引用金蝶云Web API概述里的一段话来回答这个问题。

为异构系统访问K/3Cloud系统数据提供通用的接口。

当企业规模逐渐增大时,作为支撑业务运营的IT建设也变得越来越重要,不过往往企业的IT建设过程中会发现某一家软件供应商基本不能完全覆盖企业所有的业务运营流程,这样的结果就是,企业上的IT系统很多很全,从ERP到HR、CRM、PDM、OA等,貌似所有的业务都覆盖到了,但实际上因为这些系统的不集成,而形成了企业很多新的信息孤岛,非常不利于企业的后续的管理和战略发展。K/3Cloud从现今和往后的发展趋势来看,也不可避免会遇到上述问题,毕竟企业经营的多样化,并不是所有的业务都能在K/3Cloud中完成,所以我们必须在产品架构上支持更好的与外部系统进行协同。

纷享销客把自己定义为连接型CRM,从字面意义上就能感受到这个产品互联互通的特性,它首先实现业务互联,连接企业的上下游企业;内部协作互联;以及微信生态的互联,基于Open API实现与其他系统的互联。但在这里要对号称连接型CRM纷享销客稍稍鄙视一下:使用API接口还要收费?还要开通频次调用包?自建应用访问CRM数据还要经过纷享的再次审核?对使用开放平台设置了太多门槛,并且这些都没有写在文档里,通过与客服和销售人员多次沟通才了解到的,这感觉与纷享的连接精神不符!

如何使用纷享销客开放平台?

如果熟悉微信公众平台开发的朋友,会发现纷享开放平台与微信公众平台接口非常类似,参数名几乎都一致,甚至大小写都一样,当然还有几个参数不同,比如:纷享销客API接口的每次调用都需要携带一个currentOpenUserId(当前操作人OpenUserID)的参数;CorpAccessToken有效期同为7200秒,微信平台有效期内再次访问,会生产新的AccessToken,纷享平台会返回相同的CorpAccessToken;纷享平台获取CorpAccessToken会同时获得一个corpId,这也是请求接口的必须参数之一,注意不是appId。要使用纷享销客开放平台的步骤是:

第一步:创建企业自建应用

管理员登录纷享销客网页端后进入“应用”频道“应用管理”,点击“添加应用”完成应用添加和配置,在配置过程中对应用开启“开发模式”。开启“开发模式”以后可以看到 appId、appSecret 和 permanentCode,请记录下来,第二步需要用到。详细步骤请参考:http://open.fxiaoke.com/support.html#artiId=61获取这些参数的路径并不是在纷享销客后台的应用页,而是在纷享销客的 管理=>应用管理中心=>自建应用

b442f54dcf5f2b161bd16f0e306b6a14.png

第二步:获取CorpAccessToken

通过第一步获取的 appId、appSecret 和permanentCode 换取 CoprAccessToken,详细请参考:http://open.fxiaoke.com/wiki.html#artiId=17API接口地址:https://open.fxiaoke.com/cgi/corpAccessToken/get/V2​JSON数据:

{
        "appId": "APPID”,    
     "appSecret":"APPSECRET”,    
     "permanentCode":”PERMANENT_CODE"
}

PHP示例代码:

//获取CorpAccessToken
    public function getcorpAccessToken() {
    

        $result = Db::name('fxtoken')->where('type', "corpAccessToken")->find();
        $corpId = $result['corpid'];
        $corpAccessToken = $result['value'];
        $expires_time = $result['expire'];
        if (time() > ($expires_time + 7200)) {
    
            $url = "https://open.fxiaoke.com/cgi/corpAccessToken/get/V2";
            $data = array('appId' => $this->appId,
                'appSecret' => $this->appSecret,
                'permanentCode' => $this->permanentCode,
            );
            $res = json_decode($this->http_request($url, json_encode($data)));
            $acctoken = array();
            $acctoken['corpid'] = $res->corpId;
            $acctoken['value'] = $res->corpAccessToken;
            $acctoken['expire'] = time();
            $corpId = $acctoken['corpid'];
            $corpAccessToken = $acctoken['value'];
            Db::name('fxtoken')->where('type', "corpAccessToken")->update($acctoken);
        }
        $AccessToken = array('corpId' => $corpId,
            'corpAccessToken' => $corpAccessToken);
        return $AccessToken;
    }

第三步:对CorpAccessToken做缓存处理

每个 access_token 的有效期为7200秒(2小时),有效期内重复获取返回相同结果,并自动续期。所以为了防止因为频率调用次数超出限制而影响功能正常使用的问题,建议开发者将中间生成的 CorpAccessToken 进行缓存,过期以后再重新获取。同时由于每个应用的 CorpAccessToken 是彼此独立的,所以进行缓存时需要区分应用来进行存储。上述PHP示例代码已经对CorpAccessToken写入数据库,每7200秒再次获取。

一般都会对纷享销客API接口进行封装,方便进行调用,给出部分PHP示例代码:

<?php
/*
封装纷享销客开放平
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值