以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于JSON接口发送数据与其他系统对接的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=138705)

--  作者:magus1123
--  发布时间:2019/8/3 16:43:00
--  关于JSON接口发送数据与其他系统对接的问题
你好,现在遇到的问题是这样的,需要和管易ERP进行对接,他们那边提供了API接口。


接口规范如下:
云ERP接口规范说明

1)接口协议:json 报文 (UTF-8 编码)

2)接口方式:http post 方式

> 格式:{"appkey":"xxx","sessionkey":"xxx","method":"xxx","args1":"xxx","args2":"xxx","args3":"xxx",...,"sign":"xxx"}

> appkey、sessionkey、method、sign均为系统级参数,args1、args2、args3等均为应用级参数,参数名称以各接口真实情况为准

> appkey、sessionkey、secret可在ERP“控制面板-应用授权-云ERP授权”页面中获取,sign为数据签名,无法直接获取

3)接口地址:需根据客户所在环境选择调用地址

C-erp登陆地址

对应api地址

www.guanyierp.com

http://api.guanyierp.com/rest/erp_open

v2.guanyierp.com

http://v2.api.guanyierp.com/rest/erp_open

demo.guanyierp.com

http://api.demo.guanyierp.com/rest/erp_open

erp.edgj.net

http://open.edgj.net/rest/erp_open


用帮助文件里面的
Dim hc As New HttpClient("http://v2.api.guanyierp.com/rest/erp_open")
hc.Headers.Add("Authorization","appkey" & "xxx")
hc.Headers.Add("Authorization","sessionkey" & "xxxx")
Dim jo As JObject = Jobject.Parse(hc.GetData)
Output.Show(jo.ToString)

无法对接,请问应该用什么方法才能对接呢??



--  作者:有点蓝
--  发布时间:2019/8/3 16:59:00
--  
接口文档地址发过来看看
--  作者:magus1123
--  发布时间:2019/8/3 17:05:00
--  
云ERP接口规范说明:http://support.guanyierp.com/hc/kb/article/1235511/

商品查询(gy.erp.items.get):http://support.guanyierp.com/hc/kb/article/1234975/

--  作者:magus1123
--  发布时间:2019/8/3 17:06:00
--  
万分感谢 有点蓝老师!!
--  作者:magus1123
--  发布时间:2019/8/3 17:11:00
--  
由于里面涉及到了MD5加密获得Sign,我模仿写了下面一段

Dim hc As New HttpClient("http://v2.api.guanyierp.com/rest/erp_open")
Dim jo As New JObject
jo("secret") = "5f5055b4f2ce44068311f0503b1c0208"
jo("appKey") = "112696"
jo("sessionKey") = "241a781716154ca499876daa8eb969dd"
jo("method") = "gy.erp.items.get"
jo("secret") = "5f5055b4f2ce44068311f0503b1c0208"
Dim orderJson As String = jo.tostring()
msgbox(orderJson )
Dim Val As String
Val = MD5Encrypt(orderJson)
msgbox(Val)
Dim jo1 As New JObject
jo1("appKey") = "112696"
jo1("sessionKey") = "241a781716154ca499876daa8eb969dd"
jo1("method") = "gy.erp.items.get"
jo1("sign") = val
Dim orderJson1 As String = jo1.tostring()
msgbox(orderJson1)
hc.Content = jo1.tostring
Dim ret = hc.GetData
msgbox(ret)


但是结果还是不行。。

--  作者:有点蓝
--  发布时间:2019/8/3 17:34:00
--  
md5加密不要使用MD5Encrypt,参考这里13楼的用法:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=138060&authorid=0&page=0&star=2