Initial commit: workspace files including MEMORY.md, skills, and core configs
This commit is contained in:
147
skills/irun-yidianhuo/references/api_docs.md
Normal file
147
skills/irun-yidianhuo/references/api_docs.md
Normal file
@@ -0,0 +1,147 @@
|
||||
# 铱云易订货 OpenAPI 2.0 接口文档
|
||||
|
||||
> 文档地址:http://openapi-doc.77ircloud.com/
|
||||
> API 基础地址:https://openapi.77ircloud.com
|
||||
|
||||
## 认证流程
|
||||
|
||||
### 获取 Access Token
|
||||
|
||||
**⚠️ 重要:文档描述有误,实际接口信息如下**
|
||||
|
||||
| 项目 | 说明 |
|
||||
|------|------|
|
||||
| URL | `https://openapi.77ircloud.com/v2/oauth2/token` |
|
||||
| 方法 | **GET**(文档写的是 POST,实际是 GET) |
|
||||
| 参数位置 | URL 查询字符串 |
|
||||
|
||||
**请求参数:**
|
||||
| 参数 | 必填 | 说明 | 示例 |
|
||||
|------|------|------|------|
|
||||
| userName | ✅ | 铱云系统登录账号 | 112983083 |
|
||||
| password | ✅ | 铱云系统登录密码 | 77ircloud |
|
||||
| client_id | ✅ | API 客户端ID | 6767358 |
|
||||
| client_secret | ✅ | API 密钥 | 1gk9ApiWV8IA2QrVDnU6Dx7uUo7CLuN2 |
|
||||
| grant_type | ✅ | 授权类型,固定值 | client_credentials |
|
||||
| scope | ✅ | 作用域,固定值 | basic |
|
||||
|
||||
**响应格式:**
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"data": {
|
||||
"access_token": "b615caeda3562eece7fcf834923685ee3607084",
|
||||
"create_time": 1774593254433,
|
||||
"expires_in": 2592000,
|
||||
"refresh_token": "8caf350dc4f013201af6a10efbf3fecd",
|
||||
"scope": "basic",
|
||||
"extra": {
|
||||
"enabledPassPort": null,
|
||||
"hasMoreAccount": null,
|
||||
"userId": null,
|
||||
"userName": null,
|
||||
"userType": null
|
||||
},
|
||||
"nodeCode": ""
|
||||
},
|
||||
"message": "操作成功"
|
||||
}
|
||||
```
|
||||
|
||||
**错误响应:**
|
||||
```json
|
||||
{"code":153,"data":null,"message":"illegal client_id"}
|
||||
```
|
||||
- `illegal client_id` = client_id 未开通 API 权限
|
||||
|
||||
---
|
||||
|
||||
## 订单接口
|
||||
|
||||
### 订单审核
|
||||
|
||||
| 项目 | 说明 |
|
||||
|------|------|
|
||||
| URL | `https://openapi.77ircloud.com/order-aggregation/organizations/orders/order-audit` |
|
||||
| 方法 | **PUT** |
|
||||
| 认证 | Header: `access_token: {token}` |
|
||||
|
||||
**请求 Body:**
|
||||
```json
|
||||
{
|
||||
"ids": [2384840119003488, 2384830331153312]
|
||||
}
|
||||
```
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| ids | long[] | ✅ | 订单ID数组,可同时审核多个订单 |
|
||||
|
||||
**响应:**
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"message": "操作成功",
|
||||
"data": []
|
||||
}
|
||||
```
|
||||
|
||||
**常见错误:**
|
||||
- `ids: must not be empty` - 未传入订单ID数组
|
||||
- `illegal parameters!` - 参数格式错误
|
||||
|
||||
---
|
||||
|
||||
## 客户接口
|
||||
|
||||
### 客户列表查询
|
||||
|
||||
| 项目 | 说明 |
|
||||
|------|------|
|
||||
| URL | `https://openapi.77ircloud.com/openapi/customer/list` |
|
||||
| 方法 | **POST** |
|
||||
| 认证 | Header: `access_token: {token}` |
|
||||
|
||||
**请求 Body:**
|
||||
```json
|
||||
{
|
||||
"pageNum": 1,
|
||||
"pageSize": 10
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. **接口方法可能与文档不符**:建议先用 POST 测试,收到 400 错误再切换方法
|
||||
2. **时间参数必须成对**:startCreateTime 和 endCreateTime 要么都提供,要么都不提供
|
||||
3. **Token 有效期**:30 天,过期后重新获取
|
||||
4. **审核接口**:使用 PUT 方法,参数为订单 ID 数组
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ 重要 Bug:订单查询接口的时间过滤参数不生效
|
||||
|
||||
**问题描述:**
|
||||
实测发现 `startCreateTime` / `endCreateTime` 参数完全无效——无论传入什么值,API 都返回全部数据,后端过滤逻辑未实现。
|
||||
|
||||
**验证过程:**
|
||||
- 传入精确到毫秒的时间范围(如只查1秒:startCreateTime=1773990796000, endCreateTime=1773990796001)
|
||||
- API 仍返回全部 99 条订单,totalCount 也仍是 99
|
||||
|
||||
**createTime 单位:** 确认是毫秒时间戳(13位),如 `1773990796000` = `2026-03-20 14:xx GMT+8`
|
||||
|
||||
**正确做法:**
|
||||
1. 调用 API 时不传时间过滤参数,拉取全部数据
|
||||
2. 在本地用 `createTime` 字段过滤指定日期范围
|
||||
3. 可用订单号日期编码校验(格式:`CA000000-260320-78534` → 2026-03-20)
|
||||
|
||||
**订单号日期提取方法:**
|
||||
```python
|
||||
def parse_order_date(order_code):
|
||||
# 格式: CA{yymmdd}-{seq} 例如 CA000000-260320-78534
|
||||
yymmdd = order_code.replace('CA','').split('-')[1]
|
||||
yy, mm, dd = int('20'+yymmdd[:2]), int(yymmdd[2:4]), int(yymmdd[4:6])
|
||||
return datetime.date(yy, mm, dd)
|
||||
```
|
||||
Reference in New Issue
Block a user