Skip to content

用友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日 采购单,出库单同步