为了更好的支持T+二次开发,T+12.3以后版本(包括T+Cloud),将使用OpenAPI新版本,v2版本,2018-06-30之后将停用v1版本(12.0~12.2的v1不受影响)。
v2版本与v1版本的区别主要有两点改善:
1、请求认证方式,增加云企业ID认证方式
2、v2版本支持异步请求
特别注意:
1、以前注册过ISV的伙伴,在T+12.3上调用OpenAPI必须重新申请(以便获得OpenAPI v2版本的私钥)
2、低版本升级到T+12.3时,必须修改调用API的代码,改成v2版本的调用方式(不修改2018-06-30之后将无法使用)。
其他事项见:http://tplusdev.chanjet.com/library/5b2223723eeec22d2787feae
一、认证(获取Token,建议一天获取一次)
使用用户名、密码、账套号
Httpurl : http://localhost:8088/tplus/api/v2/collaborationapp/GetRealNameTPlusToken?IsFree=1
(其中 http://localhost:8088/ 需要对应更换为自己的服务器地址)
Headers:
{
Authorization:base64{
"appKey":"138750dc-aa1a-419a-8c92-7e1966fcd6xx",
"authInfo":签名1{
{"appkey":"138750dc-aa1a-419a-8c92-7e1966fcd6xx",
"orgid":"",
"appsecret":"ifsaxx" },
"私钥的文件全路径"
},
"orgId":""
}
}
PostBody:
{
_args:{
userName:"demo",
password:"密码加密",
accNum:"1"
}
}
注:私钥的文件全路径举例,D:tplusapiv2cjet_pri.pem
二、业务调用
使用用户名、密码、账套号(其实就是增加access_token),
Httpurl : http://localhost:8088/tplus/api/v2/Inventory/Create
(其中 http://localhost:8088/ 需要对应更换为自己的服务器地址)
Headers:
{
Authorization:base64{
"appKey":"138750dc-aa1a-419a-8c92-7e1966fcd6fe",
"authInfo":签名2{
{"appkey":"138750dc-aa1a-419a-8c92-7e1966fcd6xx",
"orgid":"",
"appsecret":"ifsaxx"},
"私钥的文件全路径"
"access_token":"一.2中获取到的token"
},
"orgId":""
}
}
PostBody:
{
_args:{
业务参数与之前v1一致,
type:”Asyn”//如果需要异步,那么传递此参数
}
}
三、类库支持
可以通过调用提供的签名类库中的接口来生成Authorization头,目前类库提供C#、JAVA版本。
C#:
SignatureManage manage=newSignatureManage();
manage.CreateAuthorizationHeader(appKey,appSecret,orgId,”私钥文件路径”,null)
manage.CreateAuthorizationHeader(appKey,appSecret,orgId,”私钥文件路径”
,”access_token”)
类库地址:http://tplusdev.chanjet.com/wenku/5ad4564d3eeec2fa2ed2dc2b
JAVA:
SignatureManage manage=new SignatureManage();
manage.CreateAuthorizationHeader(appKey,appSecret,orgId,”私钥文件路径”,null)
manage.CreateAuthorizationHeader(appKey,appSecret,orgId,”私钥文件路径”
,”access_token”)
类库地址:http://tplusdev.chanjet.com/wenku/5b03aaa705e905122c20a7e6
nodejs(beta):
https://www.npmjs.com/package/chanjet.tc.openapisdk.node
.net core(beta):
https://www.nuget.org/packages/Chanjet.TC.OpenApiSDKCore/
四、业务接口调用
业务接口内使用的参数不变。
五、云企业的orgId
orgId,开通云企业才会有,
如果是用安装在自己可以访问数据库的服务器上,可以在系统库(UFTSystem)的EAP_ACCOUNT里查看,字段名为CloudOrganizationID;
如果是注册的T+Cloud并且开通了云企业(建账的时候勾选的“开通云应用”或者后来在T+里开通了云应用),可以在工作圈上查看orgId,方式见下图(选择该账套登陆工作圈,点击通讯录,链接里就可以看到orgId了)
1540955748i2X8.png