腾讯EC .net API对接第三方系统
最近公司销售部门用到了腾讯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对接第三方系统的更多相关文章
- 第九章 Odoo 12开发之外部 API - 集成第三方系统
Odoo 服务器端带有外部 API,可供网页客户端和其它客户端应用使用.本文中我们将学习如何在我们的客户端程序中使用 Odoo 的外部 API.为避免引入大家所不熟悉的编程语言,此处我们将使用基于 P ...
- 使用SAP open connector调用第三方系统的API
我们把hubspot这个SaaS CRM作为第三方系统,首先登录hubspot,创建一个新的API key: 把创建的key拷贝到剪切板里: 然后登录SAP Cloud for Customer上的o ...
- 如何更优雅地对接第三方API
本文所有示例完整代码地址:https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/third 我们在日常开发过程 ...
- 与第三方系统对接,生成Cloud出入库单据
案例: Cloud的采购订单同步到第三方系统,第三方系统入库后同步生成Cloud采购入库单. 解决方案:调用采购订单的下推API,先生成保存状态的采购入库单(采购入库单中的仓库是必填项,可以在采购订单 ...
- 第三方API对接如何设计接口认证?
一.前言 在与第三方系统做接口对接时,往往需要考虑接口的安全性问题,本文主要分享几个常见的系统之间做接口对接时的认证方案. 二.认证方案 例如订单下单后通过 延时任务 对接 物流系统 这种 异步 的场 ...
- 如何从零开始对接第三方登录(Java版):QQ登录和微博登录
前言 个人网站最近增加了评论功能,为了方便用户不用注册就可以评论,对接了QQ和微博这2大常用软件的一键登录,总的来说其实都挺简单的,可能会有一点小坑,但不算多,完整记录下来方便后来人快速对接. 后台设 ...
- JIRA API 对接
系统要跟JIRA对接,将本系统数据发送给jira. 开始一头雾水怎么让数据传过去已什么形式存在,是存数据库呢还是怎么显示呢.研究半天发现其实只要将原数据作为json数据提供给jira接口,jira接口 ...
- java 调用第三方系统时的连接代码-记录
前言:该文章主要是总结我在实际工作中遇到的问题,在调取第三方系统的时候出现的问题,算自己的总结.各位博友如果有什么建议或意见欢迎留言指正. 先将准备传入参数 再与第三方系统建立连接 再第三方系统处理后 ...
- kubernetes对接第三方认证
kubernetes对接第三方认证 kubernetes离线安装包地址 概述 本文介绍如何使用github账户去关联自己kubernetes账户.达到如下效果: 使用github用户email作为ku ...
随机推荐
- 【转】为什么我的DIV块前总有空隙?
在做网站项目时,博主爱吾所爱(爱生活=爱技术)很偶然地碰到一个奇怪的事情.我的DIV嵌套在另一个DIV里,总是出现这样一行空隙: Firebug查看内外两层DIV的margin, padding, l ...
- linux kernel 提示VFS: Cannot open root device "mmcblk0p1" or unknown-block(179,1): error -19等信息后发生panic
一.背景 文件系统安装在sd卡的第一个分区中,使用的是ext4文件系统,linux内核版本为4.14 二.思考 在内核启动之前,uboot给内核传递了参数root=/dev/mmcblk0p1,但是为 ...
- ThinkPHP开发博客系统笔记之一
1.前后台搭建 开发的第一步是搭建前后台系统.搭建前台系统的时候新建了LoginController控制器和登录界面View/Login/index.tpl.模板文件中需要引入js和css文件,这里想 ...
- Educational Codeforces Round 47 D
Let's call an undirected graph $G=(V,E)$ relatively prime if and only if for each edge $(v,u)∈E$ $GC ...
- 算法准备-分治算法解决第k位数的线性查找
由作业士兵排队问题引出的 在一个划分成网格的操场上,n个士兵散乱地站在网格点上.网格点由整数最表(x,y)表示.士兵可以沿着网格边上.下.左.右移动一步,但在同一时刻一个网格上只能有一名士兵.按照军官 ...
- 创建maven或者Gradle项目的时候GroupId和ArtifactId以及Version是什么意思?
GroupId 是项目组织的唯一标识符,在实际开发中对应JAVA的包的结构,就是main目录里java的目录结构,如 ‘com.itcast.demo’. ArtifactId是项目的唯一标识符,在实 ...
- java 生成验证Guid码
- [原][osg][osgearth]我眼中的osgearth
看了一下,OE生成的可执行文件 除了osg库和第三方库 OE生产最多的dll就是 osgdb_osgearth_XXXX.dll了 这些都是为了通过osgDB机制加载earth的数据用的. 所以,我觉 ...
- android--------Universal-Image-Loader图片加载框架和结合LruCache缓存图片
本博客包含包含Android-Universal-Image-Loader 网络图片加载框架实现图片加载和结合universal-image-loader与LruCache来自定义缓存图片,可以设置缓 ...
- 过滤器系列(三)—— RSQF
这个过滤器本身是一篇论文中提出的过滤器的简化版本,去掉了计数功能,我觉得简化版本应用的可能也很广,专门写一篇简化版本的RSQF.RSQF全称是rank-and-select based filter, ...