最近在研究这个,大概理解了整个业务逻辑
第一步,先开启API的HTTP接口
在 Admin =》 高级设置 =》 API节点 =》 编辑 =》 更多选项
保存以后
开启防火墙 重新启动API节点
123 firewall-cmd --add-port=8004/tcp --permanentfirewall-cmd --reload/usr/local/goedge/edge-admin/edge-api/bin/edge-api restart
第二步,获取API KEY和 API Secret
点击 系统用户 =》 详情 =》 API AccessKey
如果有 直接使用 没的话创建一个
第三步, 调用的业务逻辑
获得 用KEY和Secret 获得 Token
1 2 3 4 5 | curl -XPOST "http://api.com:8004/APIAccessTokenService/getAPIAccessToken" -d '{ "type":"admin", "accessKeyId":"testokdmFbopDVgD", "accessKey":"vEfgWAJ49YNjtest4TlVgBXm7sVpp3vP" }' --output - |
会获得
1 2 3 4 5 6 7 8 | { "code": 200, "data": { "token": "4RYUsCHQq9QPio3ZH0aeE4ASuvZZzqtestfXSgwFJrQJbk2YpnnUllg1ZwGrCkSB1rifQqcCdhA6aM2BGNlzBCOfc3LsdtqhxczIKNDgG5ILhmwoGyU6GFeEmtr5", "expiresAt": 1724256819 }, "message": "ok" } |
这个Token就是通知回调需要使用的,回调示例
1 2 3 4 5 6 | curl -v -XPOST -H"X-Edge-Access-Token: 4RYUsCHQq9QPio3ZH0aeE4ASuvZZzqUtestQJbk2YpnnUllg1ZwGrCkSB1rifQqcCdhA6aM2BGNlzBCOfc3LsdtqhxczIKNDgG5ILhmwoGyU6GFeEmtr5" "http://api.com:8004/UserOrderService/finishUserOrder" -d '{ "code":"2024082100000002" }' 仅需要传递订单号码即可,会返回成功JSON |
1 2 3 4 5 6 7 | { "code": 200, "data": {}, "message": "ok" } 重复通知会返回 |
1 2 3 4 5 | { "code": 400, "data": {}, "message": "you can not finish the order, cause order status is 'finished'" } |