最近公司销售部门用到了腾讯EC,实现公司内部OA系统与腾讯ec的数据同步,要求如下:

1、OA内部系统账号与腾讯ec登陆账号同步

2、首先做义工客户端工具用来把现有客户导入到EC,销售人员的客户信息与EC同步,同时EC添加客户也要同时保存到OA系统内部,两边实现同步

  在此不得不吐槽一下,腾讯EC的api,竟然没有导入用户的功能,各种验证,由于内部OA使用比较长,以前手机号码有的填的手机号,有的是固话,本想直接导入到EC电话字段,ec的电话字段竟然只认手机号,同时也不得不说一下ec的产品经理,在我眼里特么他们就会说,没有安排,就是这么设计的,时间成本,那垃圾接口都难用成这样了,还不改改吗,难怪EC的客户比起钉钉来真是差远了,,,,,,,,,,,,,,,,,吐槽一下。

3、公司内部语音及电话记录自动导入到腾讯EC

4、各种自定义字段来存OA系统里面的客户信息字段

首先,封装一个通用的用来请求Https,返回json数据的网络请求方法,如下图:

腾讯EC请求接口必须要的access_token,由于token每两小时过期,于是写了一个通用的辅助缓存类,用来缓存token及其他常用数据,使用了System.Runtime.Caching的内存缓存实现:

接着就是获取token的方法和过期自动刷新token

下面说一下导入oa客户的业务了,由于腾讯EC没有同步系统账号的功能只有在api后台有个导入模板的功能,没办法只能先用表格把系统用户导入ec,然后用手机号来对应ec账号和系统账号,通过手机号拿查询ec获取id,同时也通过手机号获取oa系统内部人员和客户的关系一次来导入客户进入ec,公司系统客户信息有很多字段信息和多个联系人,而ec的可用字段只有那几个,没办法在后台建立了很多个自定义字段来做对应,总之是先查出系统的客户信息和联系人信息通过构建ec需要的Json对象*(当然还包括多个自定义字段),构造号客户添加的json直接post到接口,不得不说各种验证导致了各种错误,于是就在接口返回的地方加了日志来记录导入数据的错误信息,好在返回的错误信息还算明确

客户相关操作:

错误日志信息:

相关实体类及缓存键值:

最后附上同步程序的客户端:

此程序封装客户导入,同步,查询及同步跟踪记录的功能,跟踪记录是在另一套客服系统里面实现自动同步数据到ec,于是把ecapi封装成类库供其他程序调用。

总的来说,第三方接口对接很简单,但是感觉EC 的api接口实在是不强大,很多不合理的地方,接口至今也不完善,本文记录一次第三方系统对接EC的过程,同时也提供了一个很简单思路,仅供记录,高手勿喷,喷子勿喷,谢谢。

有需要源码和交流的可以联系:1013454562

另外也可加入本人新建的QQ群:487501652

腾讯EC .net API对接第三方系统的更多相关文章

  1. 第九章 Odoo 12开发之外部 API - 集成第三方系统

    Odoo 服务器端带有外部 API,可供网页客户端和其它客户端应用使用.本文中我们将学习如何在我们的客户端程序中使用 Odoo 的外部 API.为避免引入大家所不熟悉的编程语言,此处我们将使用基于 P ...

  2. 使用SAP open connector调用第三方系统的API

    我们把hubspot这个SaaS CRM作为第三方系统,首先登录hubspot,创建一个新的API key: 把创建的key拷贝到剪切板里: 然后登录SAP Cloud for Customer上的o ...

  3. 如何更优雅地对接第三方API

    本文所有示例完整代码地址:https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/third 我们在日常开发过程 ...

  4. 与第三方系统对接,生成Cloud出入库单据

    案例: Cloud的采购订单同步到第三方系统,第三方系统入库后同步生成Cloud采购入库单. 解决方案:调用采购订单的下推API,先生成保存状态的采购入库单(采购入库单中的仓库是必填项,可以在采购订单 ...

  5. 第三方API对接如何设计接口认证?

    一.前言 在与第三方系统做接口对接时,往往需要考虑接口的安全性问题,本文主要分享几个常见的系统之间做接口对接时的认证方案. 二.认证方案 例如订单下单后通过 延时任务 对接 物流系统 这种 异步 的场 ...

  6. 如何从零开始对接第三方登录(Java版):QQ登录和微博登录

    前言 个人网站最近增加了评论功能,为了方便用户不用注册就可以评论,对接了QQ和微博这2大常用软件的一键登录,总的来说其实都挺简单的,可能会有一点小坑,但不算多,完整记录下来方便后来人快速对接. 后台设 ...

  7. JIRA API 对接

    系统要跟JIRA对接,将本系统数据发送给jira. 开始一头雾水怎么让数据传过去已什么形式存在,是存数据库呢还是怎么显示呢.研究半天发现其实只要将原数据作为json数据提供给jira接口,jira接口 ...

  8. java 调用第三方系统时的连接代码-记录

    前言:该文章主要是总结我在实际工作中遇到的问题,在调取第三方系统的时候出现的问题,算自己的总结.各位博友如果有什么建议或意见欢迎留言指正. 先将准备传入参数 再与第三方系统建立连接 再第三方系统处理后 ...

  9. kubernetes对接第三方认证

    kubernetes对接第三方认证 kubernetes离线安装包地址 概述 本文介绍如何使用github账户去关联自己kubernetes账户.达到如下效果: 使用github用户email作为ku ...

随机推荐

  1. HDU 4990 Reading comprehension(矩阵快速幂)题解

    思路: 如图找到推导公式,然后一通乱搞就好了 要开long long,否则红橙作伴 代码: #include<set> #include<cstring> #include&l ...

  2. 2015-9-13 NOIP模拟赛 by hzwer

    好老的题了,但是还是很有做头的. 总结 不吸氧看来确实是没法用stl的啊(set常数太大了,开O2也没过) SPFA没认真学,觉得有堆优化Dijkstra就天下无敌了,今天负边权教我做人 于是苦逼的只 ...

  3. BZOJ 2876 【NOI2012】 骑行川藏

    题目链接:骑行川藏 听说这道题需要一些高数知识 于是膜了一发dalao的题解……然后就没了…… 不要吐槽我的精度TAT……eps设太小了就TLE,大了就Wa……我二分的边界是对着数据卡的…… 下面贴代 ...

  4. Memento(备忘录)

    意图: 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存的状态. 适用性: 必须保存一个对象在某一个时刻的(部分)状态, 这样以后需要时它 ...

  5. Android 各API版本代码常量

    Android开发中常常有版本比较这个功能,来做版本兼容或者,其他相关效果等   以下是Android 7.0版本下的源码:   public static class VERSION_CODES { ...

  6. echart3 湖北地图及如何创建其他省份地图

    刚刚收到一封园友求助echart湖北地图的邮件,现在将湖北地图的所有代码贴到这里,希望可以帮助到更多朋友. 1.首先你得到echarts官网下载js,很多人说找不到,可以到我的git下载(https: ...

  7. ORACLE导入导出工具的使用

    ORACLE导出工具exp的使用:  1.将数据库TEST(远程的数据库必须为连接标志符)完全导出,用户名system,密码manager,导出到D:\daochu.dmp中:       exp s ...

  8. Psping 实例

    PsPing v2.1 https://docs.microsoft.com/zh-cn/sysinternals/downloads/psping 2016/06/29 4 分钟阅读时长 By Ma ...

  9. 006PHP文件处理—— 目录操作 删除目录 删除置顶类型文件

    <?php /** * 目录操作 删除目录 删除置顶类型文件 */ //echo rmdir('61') or die('目录删除失败'); //删除一个目录中有其他文件的内容的方法: //第1 ...

  10. [例1.10]使用setw设置输出宽度的例子

    [例1.10]使用setw设置输出宽度的例子: #include <iostream> #include <iomanip> using namespace std; void ...