迭梦生·API文档·四川三易信息技术有限公司

一,文档说明

注意:请勿泄露 api_client_secret 若意外泄漏/丢失请联系我们重新分配并作废历史凭证
  1. 需要申请获得 SANYI_API_CLIENT_IDapi_client_secret 才可开始使用本文档
  2. 支持获取到token后使用token刷新获取新token

统一返回数据格式:

{ "status": 0, "message": "请求成功", "timestamp": 1762323384953, "result": Object }
字段 类型 说明
status Integer 请求成功固定返回 0
message String 返回消息
timestamp long 时间戳
result 以实际调用接口为准 返回结果

二, 快速开始

API基础路径:

https://www.ypkwl.cn/dms/syapi

完整请求地址示例:API基础路径+请求路径

https://www.ypkwl.cn/dms/syapi/auth/token?api_client_secret=API_CLIENT_SECRET

1,获取授权

POST /auth/token?api_client_secret=API_CLIENT_SECRET

接口说明:获取到的access_token固定一小时后失效,需要在失效前10分钟内完成"刷新access_token"

Query:
参数 示例值 是否必须 如何获取
api_client_secret 6wFUlAg2BKzNUp4vFfAJ [√] 申请获取 api_client_secret
Header:
参数 示例值 是否必须 如何获取
SANYI_API_CLIENT_ID bgh5NdZf9WM [√] 申请获取SANYI_API_CLIENT_ID
返回示例:
{ "status": 0, "message": "请求成功", "timestamp": 1762327301495, "result": { "access_token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJiZ2g1TmRaZjlXTSIsInJvbGVzIjoiVjE6RVJQOlNUT0NLOlNFUiIsImlhdCI6MTc2MjMyNzMwMSwiZXhwIjoxNzYyMzMwOTAxfQ.NsH-K6ZsbQIlpQmmJUg9_r1vBM1pJAK9xF9RXhfAOvJheyS95jnOkQs7LgYDXRyRBuEP2SCaCP5O5XMH9fZJbg", "scope": "V1:ERP:STOCK:SER", "token_type": "Bearer", "expires_in": 3600, "client_id": "bgh5NdZf9WM" } }
字段 类型 说明
access_token String 接口调用凭证
scope String 凭证对应所包含的权限
expires_in Integer 凭证有效时间,单位 秒
client_id String SANYI_API_CLIENT_ID
{ "message": "无效的 api_client_secret", "status": 40000, "timestamp": 1762327546185 }

2,测试授权

在后续的接口调用中都需要使用"获取授权"得到的access_token

GET /test
Header:
参数 示例值 是否必须 如何获取
Authorization Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJiZ2g1TmRaZjlXTSIsInJvbGVzIjoiVjE6RVJQOlNUT0NLOlNFUiIsImlhdCI6MTc2MjMyMzM4NCwiZXhwIjoxNzYyMzI2OTg0fQ.Pd8y3as3xPNhyzFKRf6NxwOil9FrA8HgRe42BMdv7pHb-4Yu5jQH7cQEtajk-6cVMdoBTS5S0f5NRlZLHNj8TQ [√] 调用接口"获取授权"得到access_token
按照格式"Bearer{空格}{access_token}"
构建字符串作为Authorization的值
返回示例:
{ "status": 0, "message": "调用成功!", "timestamp": 1762324341915, "result": "bgh5NdZf9WM" }
{ "message": "无效的 Authorization", "status": 30001, "timestamp": 1762328230772 }
{ "message": "无调用权限", "status": 30000, "timestamp": 1762329027186 }
字段 类型 说明
status Integer 非0即失败

3,刷新access_token

POST /auth/refresh
Header:
参数 示例值 是否必须 如何获取
Authorization Bearer{此处空格}{access_token} [√] 调用接口"获取授权"得到

接口说明:仅当传递的access_token 有效时间小于10分钟,才允许刷新并且刷新后原access_token立即失效,若未能成功保存返回的新凭证,请调用"获取授权"接口获取一个新凭证,但需要注意如果频繁调用"获取授权"或"刷新access_token"可能会被限制调用,建议完善处理凭证的缓存逻辑。

返回示例:
{ "status": 0, "message": "请求成功", "timestamp": 1762329859897, "result": { "access_token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJiZ2g1TmRaZjlXTSIsInJvbGVzIjoiVjE6RVJQOlNUT0NLOlNFUiIsImlhdCI6MTc2MjMyOTg1OSwiZXhwIjoxNzYyMzI5OTc5fQ.WuQ-9qRFbJ7wwdSehuTvsR8KzslHpGdq-eGDDsdBWNnCCHKfqltcw0jzDVk0M31jyoIxqTFZ2XKxaN8W8P6-VA", "token_type": "Bearer", "expires_in": 3600 } }
字段 类型 说明
access_token String 新调用凭证
token_type String 类型
expires_in Integer 凭证有效时间,单位 秒
{ "status": 40003, "message": "Token is not expired yet 有效期小于10分钟后可刷新Token", "timestamp": 1762324350016 }

三,库存查询

1,仓库查询库存

接口权限:V1:ERP:STOCK:SER:DEP POST /v1/erp/stock/summary/depot
Header:
参数 示例值 是否必须 如何获取
Authorization Bearer{此处空格}{access_token} [√] 调用接口"获取授权"得到
Body:
参数 类型 是否必须 说明
pageNum Integer [-] 查询页数,默认1,最小值1
pageSize Integer [-] 每页行数,默认50,最小值50,超过500只查500
goodsCode String [-] 物品编码
goodsStype Integer [-] 物品类型[0原材料1半成品2成品9其他]默认2成品
soldOut boolean [-] 查询包含库存为0的。true:不查询
{ "pageNum": 1, "pageSize": 50, "goodsCode":"190102", "goodsStype": 2, "soldOut":true }

接口说明:list中同一物品若在不同仓库将返回多条数据

返回示例:
{ "status": 0, "message": "请求成功", "timestamp": 1762411645605, "result": { "pageNum": 1, "pageSize": 50, "size": 1, "total": 1, "pages": 1, "nextPage": 0, "firstPageFlag": true, "lastPageFlag": true, "hasNextPageFlag": false, "list": [ { "goodsName": "压力容器(产品)", "goodsCode": "190102001", "goodsStype": 2, "depotName": "半成品仓库", "number": "10" } ] } }
字段 类型 说明
pageNum Integer 当前分页查询页数
pageSize Integer 当前分页查询行数
size Integer 当前分页查询到的数据行数
total Integer 存在的总数据行数
pages Integer 存在的分页页数
nextPage Integer 当前查询的下一页数,没有下一页时固定为0
firstPageFlag Boolean true:第一页
lastPageFlag Boolean true:最后一页
hasNextPageFlag Boolean true:当前查询存在下一页
list Array 查询到的数据集合
list.goodsName String 物品名称
list.goodsCode String 物品编码
list.goodsStype Integer 物品类型[0原材料1半成品2成品9其他]
list.depotName String 仓库名称
list.number String 现有数量(当前仓库)
{ "message": "无调用权限", "status": 30000, "timestamp": 1762412151017 }

2,汇总查询库存

接口权限:V1:ERP:STOCK:SER:COL POST /v1/erp/stock/summary/collect
Header:
参数 示例值 是否必须 如何获取
Authorization Bearer{此处空格}{access_token} [√] 调用接口"获取授权"得到
Body:
参数 类型 是否必须 说明
pageNum Integer [-] 查询页数,默认1,最小值1
pageSize Integer [-] 每页行数,默认50,最小值50,超过500只查500
goodsCode String [-] 物品编码
goodsStype Integer [-] 物品类型[0原材料1半成品2成品9其他]默认2成品
soldOut boolean [-] 查询包含库存为0的。true:不查询
{ "pageNum": 1, "pageSize": 50, "goodsCode":"06", "goodsStype": 2, "soldOut":true }

接口说明:list中一个物品对应一条数据

返回示例:
{ "status": 0, "message": "请求成功", "timestamp": 1762413887765, "result": { "pageNum": 1, "pageSize": 50, "size": 2, "total": 2, "pages": 1, "nextPage": 0, "firstPageFlag": true, "lastPageFlag": true, "hasNextPageFlag": false, "list": [ { "goodsName": "物品A", "goodsCode": "06.01.000007", "goodsStype": 2, "number": "3" }, { "goodsName": "物品B", "goodsCode": "06.01.000001", "goodsStype": 2, "number": "11" } ] } }
字段 类型 说明
list.number String 现有数量(所有仓库合计)
{ "message": "无调用权限", "status": 30000, "timestamp": 1762412151017 }

四,组织架构

1,获取部门层级结构

接口权限:V1:CFG:ORG:SER:ALL POST /v1/cfg/organize/department/getAll
Header:
参数 示例值 是否必须 如何获取
Authorization Bearer{此处空格}{access_token} [√] 调用接口"获取授权"得到

接口说明:

返回示例:
{ "status": 0, "message": "请求成功", "timestamp": 1765252793800, "result": [ { "id": 4455, "parentId": 0, "name": "财务部", "type": "2", "coordinate": "4455", "addTime": "2025-06-07 10:19:19", "children": [ { "id": 4738, "parentId": 4455, "name": "c2", "type": "2", "coordinate": "4455>4738", "addTime": "2025-12-05 17:54:28" }, { "id": 4737, "parentId": 4455, "name": "c1", "type": "2", "coordinate": "4455>4737", "addTime": "2025-12-05 17:54:21", "children": [ { "id": 4739, "parentId": 4737, "name": "c101", "type": "2", "coordinate": "4455>4737>4739", "addTime": "2025-12-05 17:54:36" } ] } ] }, { "id": 4452, "parentId": 0, "name": "采购部", "type": "2", "coordinate": "4452", "addTime": "2025-06-07 10:19:18" }, { "id": 4453, "parentId": 0, "name": "总经办", "type": "2", "coordinate": "4453", "addTime": "2025-06-07 10:19:18" }, { "id": 4454, "parentId": 0, "name": "仓库部", "type": "2", "coordinate": "4454", "addTime": "2025-06-07 10:19:18" }, { "id": 4450, "parentId": 0, "name": "销售部", "type": "2", "coordinate": "4450", "addTime": "2025-06-07 10:19:17" }, { "id": 4451, "parentId": 0, "name": "生产部", "type": "2", "coordinate": "4451", "addTime": "2025-06-07 10:19:17" } ] }
字段 类型 说明
id Integer 部门id
parentId Integer 父部门id(0为根部门)
name String 部门名称
type Integer 部门类型【1: 2:】
coordinate String 部门层级,例:"根部门id>父部门id>...>当前部门id"
addTime String 部门创建时间
children Array 子部门(无子部门该字段空)
{ "message": "无效的 Authorization", "status": 30001, "timestamp": 1765259596422 } { "message": "无调用权限", "status": 30000, "timestamp": 1765258897680 }

2,获取所有部门用户或指定部门下用户

接口权限:V1:CFG:ORG:SER:USE POST /v1/cfg/organize/user/getUserByDepartment
Header:
参数 示例值 是否必须 如何获取
Authorization Bearer{此处空格}{access_token} [√] 调用接口"获取授权"得到
Body:
参数 类型 是否必须 说明
pageNum Integer [-] 查询页数,默认1,最小值1
pageSize Integer [-] 每页行数,默认50,最小值50,超过500只查500
departmentId Integer [-] 部门id(为空时查所有部门用户)
{ "departmentId": 4452, "pageNum": 1, "pageSize": 10000 }

接口说明:

返回示例:
{ "status": 0, "message": "请求成功", "timestamp": 1765261898666, "result": { "pageNum": 1, "pageSize": 500, "size": 1, "total": 1, "pages": 1, "nextPage": 0, "firstPageFlag": true, "lastPageFlag": true, "hasNextPageFlag": false, "list": [ { "id": 3521, "name": "王五", "namePy": "wangwu", "departmentId": 4452, "code": "1003", "gender": 1, "leaderId": 3520, "loginName": "wangwu", "departmentName": "采购部", "leaderName": "张三" } ] } }
字段 类型 说明
list.id Integer 用户id
list.name String 用户名称
list.namePy String 用户名拼音
list.gender Integer 性别【1-男;0-女】
list.departmentId Integer 部门id
list.departmentName String 部门名称
list.code String 工号
list.loginName String 用户登录名
list.leaderId Integer 直属领导(用户id)
list.leaderName String 直属领导名
{ "message": "无调用权限", "status": 30000, "timestamp": 1762412151017 }