Openapi Eai Api 常见问题
目录
1 三种接口 OpenAPI、API、EAI 间如何选择? .................................................................2
2
OpenAPI..............................................................................................................................3
2.1 如何系统了解 OpenAPI? .............................................................................................3
2.2
OpenAPI 测试环境需要准备什么? ............................................................................3
2.3
OpenAPI 生产环境必须准备做的事 ............................................................................5
2.4 为什么所有 API 调用都需要传入 token 参数?.........................................................6
2.5
token 管理策略 ..............................................................................................................6
2.6 新增(add)类型 api 是否必须传入 tradeid 或者 biz_id 参数?...................................6
2.7 调用 API 返回 EAI 配置相关错误,如何解决? .........................................................7
2.8 调用 user/login 异常? ................................................................................................. 7
2.9 哪些 API 需要先调用 user/login 进行 U8 登录?.......................................................8
3
API.......................................................................................................................................8
3.1 如何快速验证某个 API 接口是否可用?.................................................................... 8
3.2 如何快速开发新增接口? ..........................................................................................11
3.3 调用修改或者审核接口,提示其他人正在修改,如何解决? ............................. 12
3.4 新增 API 报"在对应所需名称或序数的集合中,未找到项目",如何解决?...... 13
3.5
API 调用是否占用加密站点?................................................................................... 14
3.6 无法登录 U8?............................................................................................................ 14
3.7 如何获取单据表、视图名称? ..................................................................................15
4
EAI.....................................................................................................................................16
4.1 如何检查 EAI 远程环境是否可用?如何解决环境问题? .................................... 16
4.2 如何配置 EAI 接口? ...................................................................................................16
4.3
EAI 接口调用是否占用 U8 加密站点?.....................................................................16
EAI 返回大数据时报包含关键字'ASP 0251 : 80004005'错误? .......................... 17
4.4
4.5
EAI 是否支持 SQL 查询? ........................................................................................... 18
4.6 如何查看 EAI 数据字典? ...........................................................................................18
4.7 返回 EAI 配置相关错误,如何解决? ...................................................................... 19
1 三种接口 OpenAPI、API、EAI 间如何选择?
OpenAPI
第三方系统部署在外网(互联网)与 U8 对接的场景。
限制:做不了上下游关联生单,比如采购入库单无法关联采购到货单;不支持事务。
优势:安全、接口定义面向消费者,使用相对最简单
数据标准:json
协议:https
安全性:接口调用需授权,企业对接口访问有完全控制权。
EAI
API
第三方系统部署在内网,与 U8 服务器可以直接连接。
限制:做不了上下游关联生单,比如采购入库单无法关联采购到货单;不支持事务。
优势:使用复杂度在 openapi 与 api 之间
数据标准:xml
协议:http
安全性:内网系统间对接安全性要求通常比较低
第三方系统部署在内网,与 U8 服务器可以直接连接。
限制:开发的应用需要部署在装有 U8 的电脑上。
优势:可做上下游关联生单,性能最好,支持事务。
数据标准:开放语言中的对象类型
协议:无,直接 dll 引入调用
安全性:内网系统间对接安全性要求通常比较低
2 OpenAPI
2.1 如何系统了解 OpenAPI?
用友优普开放平台 320582917 QQ 群内有 PPT 及视频
2.2 OpenAPI 测试环境需要准备什么?
注册开发者账号,比如 hongye。from_account=hongye
创建应用。app_key=xxxxx
申请测试账号,比如 test_hongye。to_account=test_hongye
测试账号相当于在测试环境虚拟一个企业账号,进行测试环境与 U8 数据的对接。
下载客户端
http://open.youyouup.com 页面最下方
注意:客户端实际上是给企业使用的,不是给开发者使用的,所以需要企业账号登
录客户端来配置企业内网 U8 相关的服务器地址信息,这里的企业账号就是刚申请
的测试账号。
用测试账号 test_hongye 登录客户端
进行客户端参数配置,包括 U8 应用服务器、数据库服务器相关信息配置。
进行 U8EAI 接口设置
http://open.yonyouup.com/documentCenter/clientParameterConfiguratio
n
见 4 章节
依据平台 API 中心文档进行开发
http://open.yonyouup.com/apiCenter/index
2.3 OpenAPI 生产环境必须准备做的事
开发者: from_account
U8 企业: 在平台注册账号(对应于 api 中的 to_account 参数)
开发者: 应用上线(需平台审批)
开发者: 向 U8 企业申请应用授权
to_account
U8 企业: 下载客户端,并部署在局域网的服务器(需此服务器可上网,但不需要开
放外网 IP)
客户端的作用可以理解为 QQ,核心作用是穿透内网实现云平台与 U8 系统之间的
数据对接。
所以:客户端实际上是给企业使用的,不是给开发者使用的,需要部署在企业内网。
U8 企业: 登录客户端
U8 企业: 在客户端或者云平台网站批准或拒绝开发者应用申请的授权
U8 企业: 在客户端或者云平台网站进行参数配置,即数据源映射配置
2.4 为什么所有 API 调用都需要传入 token 参数?
安全性考虑,防止第三方截获 url。
token 有 2 小时生命期的限制,保证开发者请求的 url 即使被第三方截获也只能最多使
用两个小时。
2.5 token 管理策略
注意:token 本身有 2 小时生命期、且两小时内只能被调用 2000 次!
因此,强烈不建议每次调用业务 API 时,比如 customer/get,都重新获取 token,而
是应该通过调用具体 API,比如 customer/get,返回的 errcode 值是否为 30012(token
已过期)判断是否需要重取
token 获取 api:sytem/token
http://open.yonyouup.com/apiCenter/token_get
2.6 新增(add)类型 api 是否必须传入 tradeid 或者 biz_id 参
数?
必输传入。
再调用新增类型 API 时,这两个参数二选一出入即可,只是适合不同的使用场景。
两个参数本质都是交易号,可以想象为在线交易付款,多次提交请求并不会导致银行卡
钱被多扣钱。
因此,在 U8 里是为了防止多次相同请求产生多个业务单据。
生单分两种场景:
有上游,要建立关联线索,biz_id。比如电商订单-》U8 销售订单,如果是一对一
生单,可将电商订单号作为 biz_id 参数传入,再将 U8 返回的新 id 存储到应用本
地,这样线索就建立起来了。
无上游,tradeid
http://open.yonyouup.com/apiCenter/tradeid_get
2.7 调用 API 返回 EAI 配置相关错误,如何解决?
请参考【3.7 返回 EAI 配置相关错误,如何解决?】
2.8 调用 user/login 异常?
浏览器中键入:http://U8 应用服务器
ip/U8SCMApplication/U8LoginServices.asmx?op=SimpleLogin
回车,如果返回异常信息,说明 IIS 环境问题,请检查 DefaultAppPool 对应的
Framework 版本是否为 2.0,且为经典(非集成)模式。
2.9 哪些 API 需要先调用 user/login 进行 U8 登录?
审批流相关 API:audit(审核)、abandon(弃审)、history(审批进程)、buttonstate
(工作流按钮状态)
审核(verify)API(无工作流):如果需要传入审核人,则需要先调用 user/login 接口,
然后审核接口传入审核人参数;反之不需要。
关闭(close)API:如果需要传入关闭人,则需要先调用 user/login 接口,然后关闭传
入关闭人参数;反之不需要。
3 API
3.1 如何快速验证某个 API 接口是否可用?
用群内 api 工具验证下接口是否正确,若没问题,定是数据组织的问题。
验证方法:手工新增一张单据,通过 API 工具尝试新增,如果成功,说明接口本身没
问题,基本上能确定是数组组织的问题。