用友T+对接
开放平台
DB
开平账户表
openapi_user
字段 | 描述 |
---|---|
name | 开发者用户名【新增】 |
auth_url | 授权回调地址【新增】 |
应用授权表
tbl_openapi_auth
字段 | 描述 |
---|---|
station_id | 站点 |
appid | 应用id |
消息推送表
tbl_openapi_msg
字段 | 描述 |
---|---|
appid | 应用id |
msg | 消息类型 |
push_times | 推送次数 |
status | 推送状态:成功,失败 |
接口新增
获取三方应用列表
openapi/app/list
请求方法
GET
参数:
无
返回数据:
{
"code": 0,
"msg": "ok",
"data": [{
"name": "用友T+对接",
"appid": "1234567890",
"status": 1, # 1:未启用 2:已授权 3:授权失效
'expiry_time' # 到期时间
"settings": [{ # 这一块可以先简单做,写死
"type": "redirect",
"action": "auth",
'name'
'value': {"url": ""}
},{
"type": "input",
"action": "account",
'name' 'yongyou',
'title': '用友t+授权'
'templete':{
name: Null
passwd: Null
tz_no: Null
}
'value'
}, {
"type": "select",
"action": "dispatch",
'name': 'sync_yongyou_sale'
'title': '推送设置'
"options": ["to_sort", "sorting", "delivering"]
'value'
},
{
"type" : "input",
"action" : "warehouse_code",
"name" : "yongyou",
"title" : "仓库编码",
"template" : {
"warehouse_code" : "仓库编码"
}
}]
}]
}
三方应用设置
openapi/app/update
参数:
参数 | 必选M/可选O | 类型 | 说明 |
---|---|---|---|
appid | M | str | 授权应用appid |
settings | M | dict | 应用设置 |
settings 是一个由list接口返回的settings中的某些项的name字段值为key,其对应值为value的dict
站点授权
openapi/app/auth
请求方法:
POST
参数:
参数 | 必选M/可选O | 类型 | 说明 |
---|---|---|---|
appid | M | str | 授权应用appid |
code生成规则:
source_info = '{}{}'.format(datetime.now().strftime('%y%m%d%H%M%S'), station_id)
code = hashlib.sha1((self._id + source_info).encode('utf-8')).hexdigest() + source_info
站点取消授权
openapi/app/cancel_auth
请求方法:
POST
参数:
参数 | 必选M/可选O | 类型 | 说明 |
---|---|---|---|
appid | M | str | 授权应用appid |
获取access_token
openapi/user/auth
请求方法:
POST
参数:
参数 | 必选M/可选O | 类型 | 说明 |
---|---|---|---|
code | M | str | 授权码 |
appid | M | str | 授权应用appid |
secret | M | str | 授权应用secret |
返回数据:
{
"code": 0,
"msg": "ok",
"data": {
'access_token'
'refresh_token'
'expiry_in' int access_token 超时秒数
}
}
刷新access_token
openapi/user/auth/refresh
请求方法:
POST
参数:
参数 | 必选M/可选O | 类型 | 说明 |
---|---|---|---|
refresh_token | M | str | 刷新token |
appid | M | str | 授权应用appid |
返回数据:
{
"code": 0,
"msg": "ok",
"data": {
'access_token'
'refresh_token'
'expiry_in' int access_token 超时秒数
}
}
获取站点信息
openapi/user/station_info/get
请求方法:
GET
参数:
参数 | 必选M/可选O | 类型 | 说明 |
---|---|---|---|
access_token | M | str | access_token |
返回数据:
{
"code": 0,
"msg": "ok",
"data": {
'station_id'
'station_name'
}
}
消息处理
openapi/msg/notify
接受消息队列消息,推送三方开发者
失败列表
openapi/app/fail_msg/list
请求方法:
GET
参数:
参数 | 必选M/可选O | 类型 | 说明 |
---|---|---|---|
start_date | M | datetime | 起始日期 |
end_date | M | datetime | 截止日期 |
limit | O | int | 每页条目 |
page_obj | O | str | page_obj |
appid | O | str | appid |
返回数据:
{
"code": 0,
"msg": "ok",
"data": [{
'app_id'
'app_name'
'create_time'
'msg'
}],
pagination: {
page_obj
more
}
}
拉取报价单列表 /openapi/product/salemenu/list
请求方法:
GET
参数:
参数 | 必选M/可选O | 类型 | 说明 |
---|---|---|---|
access_token | M | str | access_token |
返回数据:
{
"code": 0,
"msg": "ok",
"data": [{
"salemenu_id": "S14936", 报价单id
# 1 :供应商销售单, 2: 内部扭转单, 4: 自营销售单,总仓的售卖销售单, 5: 加盟商售卖的销售单,要总部代卖, -1: 无效销售单
# 无效的(salemenu_type == -1)报价单已经过滤掉了
"salemenu_type": 4, 报价单类型
"is_active": true, 是否激活
"salemenu_name": "很多很多" 报价单名
}]
}
拉取供应商列表 /openapi/supplier/list
请求方法:
GET
参数:
参数 | 必选M/可选O | 类型 | 说明 |
---|---|---|---|
access_token | M | str | access_token |
supplier_ids | O | list | 供应商id列表 |
返回数据:
{
"code": 0,
"msg": "ok",
"data": [{
"name": "自动化创建TWO",
"supplier_no": 'xj10036', # 供应商编号
"id": "T25866"
}]
}
用友对接平台
DB
授权用户表
tbl_openapi_yongyou
字段 | 描述 |
---|---|
station_id | 站点 |
name | 站点名 |
yongyou_account | 用友账号 |
yongyou_psw | 用友密码 |
sync_yongyou_saledispatch | 同步用友出库单的配置 |
脚本
初始化商品商户的同步
接口
授权回调
openapi/yongyou/auth
参数:
参数 | 必选M/可选O | 类型 | 说明 |
---|---|---|---|
code | M | str | 授权码 |
获取观麦授权码,客户授权初始化,开放平台登录态维护
开平通知接口
openapi/yongyou/notify
消息处理
消息类型
{
'app_setting_update': '应用配置更新',
'sku_create': '新建商品',
'customer_create': '新建商户',
'customer_update': '修改商户',
'customer_delete': '删除商户',
'order_create': '新建订单',
'order_sorting': '订单分拣中',
'order_delivering': '订单配送中',
'purchase_sheet_complete': '采购单完成'
}
1,应用设置
设置用友账号,密码,同步配置,获取用友接口token
type: app_setting_update
自定义字段:
设置账号密码
{
"yongyou_account" : {
"tz_no" : "111",
"passwd" : "zxcvbnm",
"name" : "miaomiao"
}
}
设置推送方式
{
"sync_yongyou_sale_dispatch" : "to_sort"
}
2,商品新增
同步用友存货
type: sku_create
自定义字段: {
sku_ids [str, ] sku_id列表
}
3,商户新增,修改,删除
同步用友往来单位增删改
type: customer_create/customer_update/customer_delete
自定义字段: {
customer_ids [str, ] customer_id列表
}
4,订单新增,分拣中,配送中
同步用友出库
type: order_create/order_sorting/order_delivering
自定义字段: {
order_ids [str, ] order_id列表
}
5,采购单完成
同步用友采购入库单
type: purchase_sheet_complete
自定义字段: {
purchase_sheet_id str 采购单id
}
6, 新建/删除供应商
type: supplier_create/supplier_upadte/supplier_delete
自定义字段: {
supplier_id str 供应商id
}
7, 入库单提交
type: in_stock_sheet_submit
自定义字段: {
in_stock_sheet_id str 入库单id
}
8, 同步商品
type: sync_sku
自定义字段: Null
开发计划
祥瑞
3月25~3月27 三方账号及授权过程
3月28 站点授权,解除授权
3月29 获取应用列表,应用设置
4月1,4月2 消息推送
4月3,4日 生成失败消息,失败消息列表
钟其灵
3月25~3月27 搭建用友对接平台
3月28,4月1 用友对接及商品用户同步
4月2~4月4日 采购单,出库单同步