Python调用吉客云库存接口
需求明细:
Dify中需要新增一个chatflow,主要提供给业务用于比对库存后让大模型基于目前各京仓库存,公司库存来制定京东补货计划
实现方案
在dify创建代码节点,将python代码复制进去,即可获取库存
import requests as req
import json
import hashlib
from sortedcontainers import SortedDict
def get_stock(good_no: str):
try:
param = {"pageIndex": 0, "pageSize": 200, "warehouseCode": "xxxx", "goodsNo": good_no}
return int(get_jky_api(param=param).json()['result']['data']['goodsStockQuantity'][0]['useQuantity'])
except Exception as e:
print(e)
return 0
def get_jky_api(app_key="xx", app_sec='xx', method='erp.stockquantity.get',
param=None):
now = datetime.now()
tree = SortedDict()
params = {"method": method, "appkey": app_key, "version": "v1.0", "contenttype": "json",
"timestamp": now.strftime("%Y-%m-%d %H:%M:%S"), "bizcontent": json.dumps(param).replace(' ', '')}
for i in params.keys():
tree[i] = params[i]
wait_en = app_sec
for i in tree.keys():
if type(tree.get(i)) == dict:
wait_en += i + json.dumps(tree.get(i)).replace(' ', '')
else:
wait_en += i + tree.get(i)
wait_en += app_sec
tree['sign'] = md5_encrypt(wait_en.lower())
head = {"accept": "*/*", "connection": "Keep-Alive",
"user-agent": "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)",
"contenttype": "application/x-www-form-urlencoded"}
return req.post(url="https://open.jackyun.com/open/openapi/do", data=tree, headers=head)