@yanhaidao/wecom 2.4.120 → 2.5.110
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -5
- package/dist/index.js +68 -0
- package/dist/src/accounts.js +20 -0
- package/dist/src/agent/handler.js +895 -0
- package/dist/src/agent/index.js +5 -0
- package/dist/src/app/account-runtime.js +216 -0
- package/dist/src/app/bootstrap.js +19 -0
- package/dist/src/app/index.js +118 -0
- package/dist/src/capability/agent/delivery-service.js +63 -0
- package/dist/src/capability/agent/fallback-policy.js +6 -0
- package/dist/src/capability/agent/ingress-service.js +33 -0
- package/dist/src/capability/agent/upstream-delivery-service.js +71 -0
- package/dist/src/capability/bot/dispatch-config.js +45 -0
- package/dist/src/capability/bot/fallback-delivery.js +147 -0
- package/dist/src/capability/bot/local-path-delivery.js +178 -0
- package/dist/src/capability/bot/sandbox-media.js +138 -0
- package/dist/src/capability/bot/service.js +49 -0
- package/dist/src/capability/bot/stream-delivery.js +321 -0
- package/dist/src/capability/bot/stream-finalizer.js +81 -0
- package/dist/src/capability/bot/stream-orchestrator.js +318 -0
- package/dist/src/capability/bot/types.js +1 -0
- package/{src/capability/calendar/client.ts → dist/src/capability/calendar/client.js} +118 -241
- package/{src/capability/calendar/schema.ts → dist/src/capability/calendar/schema.js} +0 -38
- package/dist/src/capability/calendar/tool.js +365 -0
- package/dist/src/capability/calendar/types.js +12 -0
- package/{src/capability/doc/client.ts → dist/src/capability/doc/client.js} +370 -605
- package/{src/capability/doc/schema.ts → dist/src/capability/doc/schema.js} +345 -394
- package/dist/src/capability/doc/tool.js +1556 -0
- package/dist/src/capability/doc/types.js +113 -0
- package/dist/src/capability/mcp/index.js +3 -0
- package/dist/src/capability/mcp/schema.js +102 -0
- package/dist/src/capability/mcp/tool.js +146 -0
- package/dist/src/capability/mcp/transport.js +293 -0
- package/dist/src/channel.js +224 -0
- package/dist/src/config/accounts.js +236 -0
- package/dist/src/config/derived-paths.js +31 -0
- package/dist/src/config/index.js +7 -0
- package/dist/src/config/media.js +110 -0
- package/dist/src/config/network.js +32 -0
- package/dist/src/config/routing.js +20 -0
- package/dist/src/config/runtime-config.js +25 -0
- package/dist/src/config/schema.js +4 -0
- package/{src/config-schema.ts → dist/src/config-schema.js} +1 -1
- package/dist/src/context-store.js +219 -0
- package/{src/crypto/aes.ts → dist/src/crypto/aes.js} +11 -28
- package/dist/src/crypto/index.js +9 -0
- package/{src/crypto/signature.ts → dist/src/crypto/signature.js} +3 -18
- package/{src/crypto/xml.ts → dist/src/crypto/xml.js} +3 -11
- package/dist/src/crypto.js +145 -0
- package/dist/src/domain/models.js +1 -0
- package/dist/src/domain/policies.js +32 -0
- package/{src/dynamic-agent.ts → dist/src/dynamic-agent.js} +36 -73
- package/dist/src/gateway-monitor.js +139 -0
- package/dist/src/http.js +114 -0
- package/{src/media.ts → dist/src/media.js} +21 -40
- package/dist/src/monitor/limits.js +7 -0
- package/dist/src/monitor/state.js +28 -0
- package/dist/src/monitor.js +84 -0
- package/dist/src/observability/audit-log.js +30 -0
- package/dist/src/observability/legacy-operational-event-store.js +22 -0
- package/dist/src/observability/raw-envelope-log.js +24 -0
- package/dist/src/observability/status-registry.js +9 -0
- package/dist/src/observability/transport-session-view.js +14 -0
- package/dist/src/onboarding.js +546 -0
- package/dist/src/outbound.js +557 -0
- package/dist/src/runtime/dispatcher.js +57 -0
- package/{src/runtime/index.ts → dist/src/runtime/index.js} +0 -1
- package/dist/src/runtime/outbound-intent.js +1 -0
- package/dist/src/runtime/reply-orchestrator.js +38 -0
- package/dist/src/runtime/routing-bridge.js +26 -0
- package/dist/src/runtime/session-manager.js +112 -0
- package/dist/src/runtime/source-registry.js +174 -0
- package/dist/src/runtime.js +1 -0
- package/dist/src/shared/command-auth.js +57 -0
- package/{src/shared/index.ts → dist/src/shared/index.js} +0 -1
- package/dist/src/shared/media-asset.js +65 -0
- package/dist/src/shared/media-service.js +59 -0
- package/dist/src/shared/media-types.js +1 -0
- package/{src/shared/xml-parser.ts → dist/src/shared/xml-parser.js} +72 -63
- package/dist/src/store/active-reply-store.js +41 -0
- package/dist/src/store/interfaces.js +1 -0
- package/dist/src/store/memory-store.js +33 -0
- package/dist/src/store/stream-batch-store.js +319 -0
- package/{src/target.ts → dist/src/target.js} +15 -48
- package/dist/src/transport/agent-api/client.js +168 -0
- package/dist/src/transport/agent-api/core.js +337 -0
- package/dist/src/transport/agent-api/delivery.js +28 -0
- package/dist/src/transport/agent-api/media-upload.js +4 -0
- package/dist/src/transport/agent-api/reply.js +24 -0
- package/dist/src/transport/agent-api/upstream-delivery.js +30 -0
- package/dist/src/transport/agent-api/upstream-media-upload.js +46 -0
- package/dist/src/transport/agent-api/upstream-reply.js +26 -0
- package/dist/src/transport/agent-callback/http-handler.js +30 -0
- package/dist/src/transport/agent-callback/inbound.js +4 -0
- package/dist/src/transport/agent-callback/reply.js +8 -0
- package/dist/src/transport/agent-callback/request-handler.js +189 -0
- package/dist/src/transport/agent-callback/session.js +15 -0
- package/dist/src/transport/bot-webhook/active-reply.js +27 -0
- package/dist/src/transport/bot-webhook/http-handler.js +31 -0
- package/dist/src/transport/bot-webhook/inbound-normalizer.js +496 -0
- package/dist/src/transport/bot-webhook/inbound.js +4 -0
- package/dist/src/transport/bot-webhook/message-shape.js +98 -0
- package/dist/src/transport/bot-webhook/protocol.js +124 -0
- package/dist/src/transport/bot-webhook/reply.js +9 -0
- package/dist/src/transport/bot-webhook/request-handler.js +285 -0
- package/dist/src/transport/bot-webhook/session.js +15 -0
- package/dist/src/transport/bot-ws/inbound.js +147 -0
- package/dist/src/transport/bot-ws/media.js +236 -0
- package/dist/src/transport/bot-ws/reply.js +310 -0
- package/dist/src/transport/bot-ws/sdk-adapter.js +257 -0
- package/dist/src/transport/bot-ws/session.js +15 -0
- package/dist/src/transport/http/common.js +78 -0
- package/dist/src/transport/http/registry.js +71 -0
- package/dist/src/transport/http/request-handler.js +51 -0
- package/{src/transport/index.ts → dist/src/transport/index.js} +2 -10
- package/dist/src/types/account.js +1 -0
- package/dist/src/types/config.js +1 -0
- package/dist/src/types/constants.js +28 -0
- package/dist/src/types/events.js +1 -0
- package/dist/src/types/index.js +1 -0
- package/dist/src/types/legacy-stream.js +1 -0
- package/dist/src/types/message.js +5 -0
- package/dist/src/types/runtime-context.js +1 -0
- package/dist/src/types/runtime.js +1 -0
- package/dist/src/types.js +1 -0
- package/dist/src/upstream/index.js +111 -0
- package/dist/src/wecom_msg_adapter/markdown_adapter.js +280 -0
- package/openclaw.plugin.json +15 -0
- package/package.json +18 -1
- package/.github/workflows/release.yml +0 -143
- package/GOVERNANCE.md +0 -26
- package/MENU_EVENT_CONF.md +0 -500
- package/MENU_EVENT_PLAN.md +0 -440
- package/SKILLS_CAL.md +0 -895
- package/SKILLS_DOC.md +0 -2288
- package/UPSTREAM_CONFIG.md +0 -170
- package/UPSTREAM_PLAN.md +0 -175
- package/assets/01.bot-add.png +0 -0
- package/assets/01.bot-setp2.png +0 -0
- package/assets/01.image.jpg +0 -0
- package/assets/02.agent.add.png +0 -0
- package/assets/02.agent.api-set.png +0 -0
- package/assets/02.image.jpg +0 -0
- package/assets/03.agent.page.png +0 -0
- package/assets/03.bot.page.png +0 -0
- package/assets/link-me.jpg +0 -0
- package/assets/register.png +0 -0
- package/changelog/v2.2.28.md +0 -70
- package/changelog/v2.3.10.md +0 -17
- package/changelog/v2.3.11.md +0 -19
- package/changelog/v2.3.12.md +0 -25
- package/changelog/v2.3.13.md +0 -19
- package/changelog/v2.3.14.md +0 -48
- package/changelog/v2.3.15.md +0 -15
- package/changelog/v2.3.16.md +0 -11
- package/changelog/v2.3.18.md +0 -22
- package/changelog/v2.3.19.md +0 -73
- package/changelog/v2.3.2.md +0 -28
- package/changelog/v2.3.26.md +0 -21
- package/changelog/v2.3.27.md +0 -33
- package/changelog/v2.3.4.md +0 -20
- package/changelog/v2.3.9.md +0 -22
- package/changelog/v2.4.12.md +0 -37
- package/compat-single-account.md +0 -148
- package/index.test.ts +0 -38
- package/scripts/test-proxy.ts +0 -70
- package/scripts/wecom/README.md +0 -123
- package/scripts/wecom/menu-click-help.js +0 -59
- package/scripts/wecom/menu-click-help.py +0 -55
- package/src/accounts.ts +0 -34
- package/src/agent/api-client.upload.test.ts +0 -109
- package/src/agent/event-router.test.ts +0 -421
- package/src/agent/event-router.ts +0 -272
- package/src/agent/handler.event-filter.test.ts +0 -135
- package/src/agent/handler.ts +0 -1250
- package/src/agent/index.ts +0 -12
- package/src/agent/script-runner.ts +0 -186
- package/src/agent/test-fixtures/invalid-json-script.mjs +0 -1
- package/src/agent/test-fixtures/reply-event-script.mjs +0 -29
- package/src/agent/test-fixtures/reply-event-script.py +0 -17
- package/src/app/account-runtime.ts +0 -276
- package/src/app/bootstrap.ts +0 -29
- package/src/app/index.ts +0 -192
- package/src/capability/agent/delivery-service.ts +0 -87
- package/src/capability/agent/fallback-policy.ts +0 -13
- package/src/capability/agent/ingress-service.ts +0 -38
- package/src/capability/agent/upstream-delivery-service.ts +0 -96
- package/src/capability/bot/dispatch-config.ts +0 -47
- package/src/capability/bot/fallback-delivery.ts +0 -178
- package/src/capability/bot/local-path-delivery.ts +0 -215
- package/src/capability/bot/sandbox-media.test.ts +0 -221
- package/src/capability/bot/sandbox-media.ts +0 -176
- package/src/capability/bot/service.ts +0 -56
- package/src/capability/bot/stream-delivery.ts +0 -379
- package/src/capability/bot/stream-finalizer.ts +0 -120
- package/src/capability/bot/stream-orchestrator.ts +0 -371
- package/src/capability/bot/types.ts +0 -8
- package/src/capability/calendar/SKILLS_CHECKLIST.md +0 -251
- package/src/capability/calendar/tool.ts +0 -417
- package/src/capability/calendar/types.ts +0 -309
- package/src/capability/doc/tool.ts +0 -1629
- package/src/capability/doc/types.ts +0 -792
- package/src/capability/mcp/index.ts +0 -10
- package/src/capability/mcp/schema.ts +0 -107
- package/src/capability/mcp/tool.ts +0 -174
- package/src/capability/mcp/transport.ts +0 -394
- package/src/channel.config.test.ts +0 -180
- package/src/channel.lifecycle.test.ts +0 -255
- package/src/channel.meta.test.ts +0 -26
- package/src/channel.ts +0 -256
- package/src/config/accounts.resolve.test.ts +0 -75
- package/src/config/accounts.ts +0 -312
- package/src/config/derived-paths.test.ts +0 -111
- package/src/config/derived-paths.ts +0 -41
- package/src/config/index.ts +0 -22
- package/src/config/media.test.ts +0 -113
- package/src/config/media.ts +0 -139
- package/src/config/network.ts +0 -20
- package/src/config/routing.test.ts +0 -88
- package/src/config/routing.ts +0 -26
- package/src/config/runtime-config.ts +0 -46
- package/src/config/schema.ts +0 -144
- package/src/context-store.ts +0 -297
- package/src/crypto/index.ts +0 -24
- package/src/crypto.test.ts +0 -32
- package/src/crypto.ts +0 -176
- package/src/domain/models.ts +0 -7
- package/src/domain/policies.ts +0 -36
- package/src/dynamic-agent.account-scope.test.ts +0 -17
- package/src/gateway-monitor.ts +0 -181
- package/src/http.ts +0 -137
- package/src/media.test.ts +0 -82
- package/src/monitor/limits.ts +0 -7
- package/src/monitor/state.queue.test.ts +0 -185
- package/src/monitor/state.ts +0 -34
- package/src/monitor.active.test.ts +0 -245
- package/src/monitor.inbound-filter.test.ts +0 -63
- package/src/monitor.integration.test.ts +0 -208
- package/src/monitor.ts +0 -121
- package/src/monitor.webhook.test.ts +0 -774
- package/src/observability/audit-log.ts +0 -48
- package/src/observability/legacy-operational-event-store.ts +0 -36
- package/src/observability/raw-envelope-log.ts +0 -28
- package/src/observability/status-registry.ts +0 -13
- package/src/observability/transport-session-view.ts +0 -14
- package/src/onboarding.test.ts +0 -336
- package/src/onboarding.ts +0 -704
- package/src/outbound.test.ts +0 -1271
- package/src/outbound.ts +0 -746
- package/src/runtime/dispatcher.ts +0 -71
- package/src/runtime/outbound-intent.ts +0 -4
- package/src/runtime/reply-orchestrator.test.ts +0 -71
- package/src/runtime/reply-orchestrator.ts +0 -67
- package/src/runtime/routing-bridge.test.ts +0 -115
- package/src/runtime/routing-bridge.ts +0 -44
- package/src/runtime/session-manager.test.ts +0 -174
- package/src/runtime/session-manager.ts +0 -139
- package/src/runtime/source-registry.ts +0 -249
- package/src/runtime.ts +0 -14
- package/src/shared/command-auth.ts +0 -87
- package/src/shared/media-asset.ts +0 -78
- package/src/shared/media-service.test.ts +0 -111
- package/src/shared/media-service.ts +0 -84
- package/src/shared/media-types.ts +0 -5
- package/src/shared/xml-parser.test.ts +0 -50
- package/src/store/active-reply-store.ts +0 -42
- package/src/store/interfaces.ts +0 -11
- package/src/store/memory-store.ts +0 -43
- package/src/store/stream-batch-store.ts +0 -350
- package/src/transport/agent-api/client.ts +0 -277
- package/src/transport/agent-api/core.ts +0 -463
- package/src/transport/agent-api/delivery.ts +0 -41
- package/src/transport/agent-api/media-upload.ts +0 -11
- package/src/transport/agent-api/reply.ts +0 -39
- package/src/transport/agent-api/upstream-delivery.ts +0 -45
- package/src/transport/agent-api/upstream-media-upload.ts +0 -70
- package/src/transport/agent-api/upstream-reply.ts +0 -43
- package/src/transport/agent-callback/http-handler.ts +0 -47
- package/src/transport/agent-callback/inbound.ts +0 -5
- package/src/transport/agent-callback/reply.ts +0 -13
- package/src/transport/agent-callback/request-handler.ts +0 -244
- package/src/transport/agent-callback/session.ts +0 -23
- package/src/transport/bot-webhook/active-reply.ts +0 -39
- package/src/transport/bot-webhook/http-handler.ts +0 -48
- package/src/transport/bot-webhook/inbound-normalizer.ts +0 -371
- package/src/transport/bot-webhook/inbound.ts +0 -5
- package/src/transport/bot-webhook/message-shape.ts +0 -89
- package/src/transport/bot-webhook/protocol.ts +0 -148
- package/src/transport/bot-webhook/reply.ts +0 -15
- package/src/transport/bot-webhook/request-handler.ts +0 -394
- package/src/transport/bot-webhook/session.ts +0 -23
- package/src/transport/bot-ws/inbound.test.ts +0 -96
- package/src/transport/bot-ws/inbound.ts +0 -116
- package/src/transport/bot-ws/media.test.ts +0 -44
- package/src/transport/bot-ws/media.ts +0 -321
- package/src/transport/bot-ws/reply.test.ts +0 -450
- package/src/transport/bot-ws/reply.ts +0 -365
- package/src/transport/bot-ws/sdk-adapter.test.ts +0 -187
- package/src/transport/bot-ws/sdk-adapter.ts +0 -314
- package/src/transport/bot-ws/session.ts +0 -28
- package/src/transport/http/common.ts +0 -109
- package/src/transport/http/registry.ts +0 -92
- package/src/transport/http/request-handler.ts +0 -84
- package/src/types/account.ts +0 -72
- package/src/types/config.ts +0 -166
- package/src/types/constants.ts +0 -31
- package/src/types/events.ts +0 -21
- package/src/types/global.d.ts +0 -9
- package/src/types/index.ts +0 -17
- package/src/types/legacy-stream.ts +0 -50
- package/src/types/message.ts +0 -187
- package/src/types/runtime-context.ts +0 -28
- package/src/types/runtime.ts +0 -165
- package/src/types.ts +0 -41
- package/src/upstream/index.ts +0 -150
- package/src/upstream.test.ts +0 -84
- package/src/wecom_msg_adapter/markdown_adapter.ts +0 -331
- package/tsconfig.json +0 -22
- package/vitest.config.ts +0 -26
- /package/{src/capability/agent/index.ts → dist/src/capability/agent/index.js} +0 -0
- /package/{src/capability/bot/index.ts → dist/src/capability/bot/index.js} +0 -0
- /package/{src/capability/calendar/index.ts → dist/src/capability/calendar/index.js} +0 -0
- /package/{src/capability/index.ts → dist/src/capability/index.js} +0 -0
package/SKILLS_DOC.md
DELETED
|
@@ -1,2288 +0,0 @@
|
|
|
1
|
-
# OpenClaw 企业微信文档能力技能清单
|
|
2
|
-
|
|
3
|
-
> 本清单列出所有企业微信文档相关的 MCP Tools,按功能模块分类,方便 OpenClaw 直接调用。
|
|
4
|
-
|
|
5
|
-
## 一、文档基础操作 (Doc Basic Operations)
|
|
6
|
-
|
|
7
|
-
### 1.1 创建文档
|
|
8
|
-
```json
|
|
9
|
-
{
|
|
10
|
-
"name": "wecom_doc",
|
|
11
|
-
"action": "create",
|
|
12
|
-
"description": "创建文档/表格/智能表格",
|
|
13
|
-
"parameters": {
|
|
14
|
-
"docName": "文档名称",
|
|
15
|
-
"docType": "doc|spreadsheet|smart_table|3|4|10",
|
|
16
|
-
"spaceId": "可选:空间 ID",
|
|
17
|
-
"fatherId": "可选:父目录 fileid",
|
|
18
|
-
"adminUsers": "可选但推荐:文档管理员 userid 列表,创建智能表格时建议填写",
|
|
19
|
-
"viewers": "可选:查看成员列表",
|
|
20
|
-
"collaborators": "可选:协作者列表",
|
|
21
|
-
"init_content": "可选:初始内容数组"
|
|
22
|
-
},
|
|
23
|
-
"returns": {
|
|
24
|
-
"docId": "文档 ID",
|
|
25
|
-
"url": "文档链接",
|
|
26
|
-
"title": "文档标题",
|
|
27
|
-
"resourceType": "资源类型"
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
**⚠️ 智能表格创建注意事项**:
|
|
33
|
-
1. **adminUsers 参数** - 创建智能表格时强烈建议传入 `adminUsers: ["userid1", "userid2"]`,确保有管理员权限
|
|
34
|
-
2. **自动初始化** - 创建智能表格后会自动清理默认字段(5 个保留 1 个)和默认空白记录(5 条)
|
|
35
|
-
3. **默认字段类型** - 文本、数字、日期、单选、人员,其中文本/数字/日期等可作为主键
|
|
36
|
-
|
|
37
|
-
### 1.2 重命名文档
|
|
38
|
-
```json
|
|
39
|
-
{
|
|
40
|
-
"name": "wecom_doc",
|
|
41
|
-
"action": "rename",
|
|
42
|
-
"description": "重命名文档",
|
|
43
|
-
"parameters": {
|
|
44
|
-
"docId": "文档 ID",
|
|
45
|
-
"newName": "新名称"
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### 1.3 复制文档
|
|
51
|
-
```json
|
|
52
|
-
{
|
|
53
|
-
"name": "wecom_doc",
|
|
54
|
-
"action": "copy",
|
|
55
|
-
"description": "复制文档",
|
|
56
|
-
"parameters": {
|
|
57
|
-
"docId": "文档 ID",
|
|
58
|
-
"newName": "新文档名称",
|
|
59
|
-
"spaceId": "可选:目标空间 ID",
|
|
60
|
-
"fatherId": "可选:目标父目录"
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### 1.4 获取文档信息
|
|
66
|
-
```json
|
|
67
|
-
{
|
|
68
|
-
"name": "wecom_doc",
|
|
69
|
-
"action": "get_info",
|
|
70
|
-
"description": "获取文档基本信息",
|
|
71
|
-
"parameters": {
|
|
72
|
-
"docId": "文档 ID"
|
|
73
|
-
},
|
|
74
|
-
"returns": {
|
|
75
|
-
"doc_name": "文档名称",
|
|
76
|
-
"doc_type": "文档类型"
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
### 1.5 获取分享链接
|
|
82
|
-
```json
|
|
83
|
-
{
|
|
84
|
-
"name": "wecom_doc",
|
|
85
|
-
"action": "share",
|
|
86
|
-
"description": "获取文档分享链接",
|
|
87
|
-
"parameters": {
|
|
88
|
-
"docId": "文档 ID"
|
|
89
|
-
},
|
|
90
|
-
"returns": {
|
|
91
|
-
"shareUrl": "分享链接"
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### 1.6 删除文档
|
|
97
|
-
```json
|
|
98
|
-
{
|
|
99
|
-
"name": "wecom_doc",
|
|
100
|
-
"action": "delete",
|
|
101
|
-
"description": "删除文档或收集表",
|
|
102
|
-
"parameters": {
|
|
103
|
-
"docId": "可选:文档 ID",
|
|
104
|
-
"formId": "可选:收集表 ID"
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
## 二、文档权限管理 (Doc Permission Management)
|
|
112
|
-
|
|
113
|
-
### 2.1 获取文档权限
|
|
114
|
-
```json
|
|
115
|
-
{
|
|
116
|
-
"name": "wecom_doc",
|
|
117
|
-
"action": "get_auth",
|
|
118
|
-
"description": "获取文档权限信息",
|
|
119
|
-
"parameters": {
|
|
120
|
-
"docId": "文档 ID"
|
|
121
|
-
},
|
|
122
|
-
"returns": {
|
|
123
|
-
"docMembers": "查看成员列表",
|
|
124
|
-
"coAuthList": "协作者列表",
|
|
125
|
-
"accessRule": "访问规则"
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### 2.2 诊断文档权限
|
|
131
|
-
```json
|
|
132
|
-
{
|
|
133
|
-
"name": "wecom_doc",
|
|
134
|
-
"action": "diagnose_auth",
|
|
135
|
-
"description": "诊断文档访问权限问题",
|
|
136
|
-
"parameters": {
|
|
137
|
-
"docId": "文档 ID"
|
|
138
|
-
},
|
|
139
|
-
"returns": {
|
|
140
|
-
"internalAccessEnabled": "企业内访问是否开启",
|
|
141
|
-
"externalAccessEnabled": "企业外访问是否开启",
|
|
142
|
-
"requesterRole": "请求人角色",
|
|
143
|
-
"findings": "诊断发现",
|
|
144
|
-
"recommendations": "建议"
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
### 2.3 校验分享链接
|
|
150
|
-
```json
|
|
151
|
-
{
|
|
152
|
-
"name": "wecom_doc",
|
|
153
|
-
"action": "validate_share_link",
|
|
154
|
-
"description": "校验分享链接可用性",
|
|
155
|
-
"parameters": {
|
|
156
|
-
"shareUrl": "分享链接"
|
|
157
|
-
},
|
|
158
|
-
"returns": {
|
|
159
|
-
"httpStatus": "HTTP 状态码",
|
|
160
|
-
"userType": "访问身份",
|
|
161
|
-
"padType": "页面类型",
|
|
162
|
-
"findings": "诊断发现"
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
### 2.4 设置加入规则
|
|
168
|
-
```json
|
|
169
|
-
{
|
|
170
|
-
"name": "wecom_doc",
|
|
171
|
-
"action": "set_join_rule",
|
|
172
|
-
"description": "设置文档加入规则",
|
|
173
|
-
"parameters": {
|
|
174
|
-
"docId": "文档 ID",
|
|
175
|
-
"request": {
|
|
176
|
-
"enable_corp_internal": "是否开启企业内访问",
|
|
177
|
-
"corp_internal_auth": "企业内权限:1 只读 2 编辑",
|
|
178
|
-
"enable_corp_external": "是否开启企业外访问",
|
|
179
|
-
"ban_share_external": "是否禁止外部分享"
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
### 2.5 设置成员权限
|
|
186
|
-
```json
|
|
187
|
-
{
|
|
188
|
-
"name": "wecom_doc",
|
|
189
|
-
"action": "set_member_auth",
|
|
190
|
-
"description": "设置文档通知范围及成员权限",
|
|
191
|
-
"parameters": {
|
|
192
|
-
"docId": "文档 ID",
|
|
193
|
-
"request": {
|
|
194
|
-
"notified_scope_type": "通知范围类型",
|
|
195
|
-
"notified_member_list": "通知成员列表"
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
### 2.6 授予/撤销访问权限
|
|
202
|
-
```json
|
|
203
|
-
{
|
|
204
|
-
"name": "wecom_doc",
|
|
205
|
-
"action": "grant_access",
|
|
206
|
-
"description": "批量授予或撤销文档访问权限",
|
|
207
|
-
"parameters": {
|
|
208
|
-
"docId": "文档 ID",
|
|
209
|
-
"viewers": "可选:查看成员列表",
|
|
210
|
-
"collaborators": "可选:协作者列表",
|
|
211
|
-
"removeViewers": "可选:移除查看成员",
|
|
212
|
-
"removeCollaborators": "可选:移除协作者",
|
|
213
|
-
"auth": "可选:权限级别"
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
### 2.7 添加协作者
|
|
219
|
-
```json
|
|
220
|
-
{
|
|
221
|
-
"name": "wecom_doc",
|
|
222
|
-
"action": "add_collaborators",
|
|
223
|
-
"description": "添加文档协作者",
|
|
224
|
-
"parameters": {
|
|
225
|
-
"docId": "文档 ID",
|
|
226
|
-
"collaborators": "协作者列表",
|
|
227
|
-
"auth": "可选:权限级别"
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
### 2.8 设置安全设置
|
|
233
|
-
```json
|
|
234
|
-
{
|
|
235
|
-
"name": "wecom_doc",
|
|
236
|
-
"action": "set_safety_setting",
|
|
237
|
-
"description": "设置文档安全设置(水印、复制等)",
|
|
238
|
-
"parameters": {
|
|
239
|
-
"docId": "文档 ID",
|
|
240
|
-
"request": {
|
|
241
|
-
"watermark": "水印设置",
|
|
242
|
-
"disable_copy": "禁止复制",
|
|
243
|
-
"disable_print": "禁止打印"
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
### 2.9 获取安全设置
|
|
250
|
-
```json
|
|
251
|
-
{
|
|
252
|
-
"name": "wecom_doc",
|
|
253
|
-
"action": "get_doc_security_setting",
|
|
254
|
-
"description": "获取文档安全设置",
|
|
255
|
-
"parameters": {
|
|
256
|
-
"docId": "文档 ID"
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
---
|
|
262
|
-
|
|
263
|
-
## 三、文档内容操作 (Doc Content Operations)
|
|
264
|
-
|
|
265
|
-
### 3.1 获取文档内容
|
|
266
|
-
```json
|
|
267
|
-
{
|
|
268
|
-
"name": "wecom_doc",
|
|
269
|
-
"action": "get_content",
|
|
270
|
-
"description": "获取文档完整内容(包含版本号和文档树)",
|
|
271
|
-
"parameters": {
|
|
272
|
-
"docId": "文档 ID"
|
|
273
|
-
},
|
|
274
|
-
"returns": {
|
|
275
|
-
"version": "文档版本号",
|
|
276
|
-
"document": "文档内容树(Node 结构)"
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
```
|
|
280
|
-
|
|
281
|
-
### 3.2 更新文档内容
|
|
282
|
-
```json
|
|
283
|
-
{
|
|
284
|
-
"name": "wecom_doc",
|
|
285
|
-
"action": "update_content",
|
|
286
|
-
"description": "批量更新文档内容(最多 30 个操作)",
|
|
287
|
-
"parameters": {
|
|
288
|
-
"docId": "文档 ID",
|
|
289
|
-
"requests": [
|
|
290
|
-
{
|
|
291
|
-
"replace_text": { "text": "替换文本", "ranges": [{"start_index": 0, "length": 5}] }
|
|
292
|
-
},
|
|
293
|
-
{
|
|
294
|
-
"insert_text": { "text": "插入文本", "location": { "index": 10 } }
|
|
295
|
-
},
|
|
296
|
-
{
|
|
297
|
-
"insert_image": { "image_id": "图片 URL", "location": { "index": 20 } }
|
|
298
|
-
},
|
|
299
|
-
{
|
|
300
|
-
"insert_table": { "rows": 3, "cols": 3, "location": { "index": 30 } }
|
|
301
|
-
},
|
|
302
|
-
{
|
|
303
|
-
"insert_paragraph": { "location": { "index": 40 } }
|
|
304
|
-
},
|
|
305
|
-
{
|
|
306
|
-
"update_text_property": { "text_property": { "bold": true }, "ranges": [...] }
|
|
307
|
-
}
|
|
308
|
-
],
|
|
309
|
-
"version": "可选:文档版本号"
|
|
310
|
-
},
|
|
311
|
-
"returns": {
|
|
312
|
-
"batches": "分批数量(超过 30 个操作时自动分批)"
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
### 3.3 上传图片到文档
|
|
318
|
-
```json
|
|
319
|
-
{
|
|
320
|
-
"name": "wecom_doc",
|
|
321
|
-
"action": "upload_doc_image",
|
|
322
|
-
"description": "上传图片到文档(获取 image_id)",
|
|
323
|
-
"parameters": {
|
|
324
|
-
"docId": "文档 ID",
|
|
325
|
-
"file_path": "本地图片路径"
|
|
326
|
-
},
|
|
327
|
-
"returns": {
|
|
328
|
-
"url": "图片 URL",
|
|
329
|
-
"width": "图片宽度",
|
|
330
|
-
"height": "图片高度",
|
|
331
|
-
"size": "文件大小"
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
```
|
|
335
|
-
|
|
336
|
-
---
|
|
337
|
-
|
|
338
|
-
## 四、在线表格操作 (Spreadsheet Operations)
|
|
339
|
-
|
|
340
|
-
### 4.1 获取表格属性
|
|
341
|
-
```json
|
|
342
|
-
{
|
|
343
|
-
"name": "wecom_doc",
|
|
344
|
-
"action": "get_sheet_properties",
|
|
345
|
-
"description": "获取在线表格所有工作表属性",
|
|
346
|
-
"parameters": {
|
|
347
|
-
"docId": "文档 ID"
|
|
348
|
-
},
|
|
349
|
-
"returns": {
|
|
350
|
-
"properties": [
|
|
351
|
-
{
|
|
352
|
-
"sheet_id": "工作表 ID",
|
|
353
|
-
"title": "工作表标题",
|
|
354
|
-
"row_count": "行数",
|
|
355
|
-
"column_count": "列数"
|
|
356
|
-
}
|
|
357
|
-
]
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
```
|
|
361
|
-
|
|
362
|
-
### 4.2 获取表格数据
|
|
363
|
-
```json
|
|
364
|
-
{
|
|
365
|
-
"name": "wecom_doc",
|
|
366
|
-
"action": "get_sheet_data",
|
|
367
|
-
"description": "获取指定范围内的单元格数据",
|
|
368
|
-
"parameters": {
|
|
369
|
-
"docId": "文档 ID",
|
|
370
|
-
"sheetId": "工作表 ID",
|
|
371
|
-
"range": "A1 表示法范围,如 A1:B5"
|
|
372
|
-
},
|
|
373
|
-
"returns": {
|
|
374
|
-
"data": {
|
|
375
|
-
"start_row": "起始行",
|
|
376
|
-
"start_column": "起始列",
|
|
377
|
-
"rows": [{ "values": [{ "cell_value": {...}, "cell_format": {...} }] }]"
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
```
|
|
382
|
-
|
|
383
|
-
### 4.3 编辑表格数据
|
|
384
|
-
```json
|
|
385
|
-
{
|
|
386
|
-
"name": "wecom_doc",
|
|
387
|
-
"action": "edit_sheet_data",
|
|
388
|
-
"description": "编辑表格单元格数据(最多 5 个操作)",
|
|
389
|
-
"parameters": {
|
|
390
|
-
"docId": "文档 ID",
|
|
391
|
-
"sheetId": "工作表 ID",
|
|
392
|
-
"startRow": "可选:起始行(从 0 开始)",
|
|
393
|
-
"startColumn": "可选:起始列(从 0 开始)",
|
|
394
|
-
"gridData": {
|
|
395
|
-
"rows": [
|
|
396
|
-
{ "values": [{ "cell_value": { "text": "内容" } }] }
|
|
397
|
-
]
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
```
|
|
402
|
-
|
|
403
|
-
### 4.4 修改表格属性
|
|
404
|
-
```json
|
|
405
|
-
{
|
|
406
|
-
"name": "wecom_doc",
|
|
407
|
-
"action": "modify_sheet_properties",
|
|
408
|
-
"description": "修改工作表属性(添加/删除/重命名)",
|
|
409
|
-
"parameters": {
|
|
410
|
-
"docId": "文档 ID",
|
|
411
|
-
"requests": [
|
|
412
|
-
{
|
|
413
|
-
"add_sheet_request": { "title": "新工作表", "row_count": 10, "column_count": 10 }
|
|
414
|
-
},
|
|
415
|
-
{
|
|
416
|
-
"delete_sheet_request": { "sheet_id": "要删除的工作表 ID" }
|
|
417
|
-
},
|
|
418
|
-
{
|
|
419
|
-
"update_range_request": { "sheet_id": "...", "grid_data": {...} }
|
|
420
|
-
},
|
|
421
|
-
{
|
|
422
|
-
"delete_dimension_request": { "sheet_id": "...", "dimension": "ROW|COLUMN", "start_index": 1, "end_index": 5 }
|
|
423
|
-
}
|
|
424
|
-
]
|
|
425
|
-
}
|
|
426
|
-
}
|
|
427
|
-
```
|
|
428
|
-
|
|
429
|
-
---
|
|
430
|
-
|
|
431
|
-
## 五、智能表格操作 (Smart Table Operations)
|
|
432
|
-
|
|
433
|
-
### 5.1 查询子表
|
|
434
|
-
```json
|
|
435
|
-
{
|
|
436
|
-
"name": "wecom_doc",
|
|
437
|
-
"action": "smartsheet_get_sheets",
|
|
438
|
-
"description": "查询智能表格所有子表信息",
|
|
439
|
-
"parameters": {
|
|
440
|
-
"docId": "文档 ID",
|
|
441
|
-
"sheet_id": "可选:指定子表 ID 查询",
|
|
442
|
-
"need_all_type_sheet": "可选:获取所有类型子表(包含仪表盘和说明页)"
|
|
443
|
-
},
|
|
444
|
-
"returns": {
|
|
445
|
-
"sheet_list": [
|
|
446
|
-
{
|
|
447
|
-
"sheet_id": "子表 ID",
|
|
448
|
-
"title": "子表名称",
|
|
449
|
-
"is_visible": "是否可见",
|
|
450
|
-
"type": "smartsheet|dashboard|external"
|
|
451
|
-
}
|
|
452
|
-
]
|
|
453
|
-
}
|
|
454
|
-
}
|
|
455
|
-
```
|
|
456
|
-
|
|
457
|
-
**⚠️ 智能表格自动初始化**:
|
|
458
|
-
创建智能表格 (`docType=10` 或 `smart_table`) 时,系统会自动执行以下初始化操作:
|
|
459
|
-
1. 获取默认子表(类型为 `smartsheet` 的第一个子表)
|
|
460
|
-
2. 获取默认字段(通常有 5 个:文本、数字、日期、单选、人员)
|
|
461
|
-
3. 删除 4 个默认字段,保留 1 个可作为主键的字段
|
|
462
|
-
4. 获取默认记录(通常有 5 条空白记录)
|
|
463
|
-
5. 删除所有默认空白记录
|
|
464
|
-
|
|
465
|
-
这样可以确保新创建的智能表格是干净的,用户可以根据需求添加自定义字段和记录。
|
|
466
|
-
|
|
467
|
-
### 5.2 添加子表
|
|
468
|
-
```json
|
|
469
|
-
{
|
|
470
|
-
"name": "wecom_doc",
|
|
471
|
-
"action": "smartsheet_add_sheet",
|
|
472
|
-
"description": "添加智能表格子表",
|
|
473
|
-
"parameters": {
|
|
474
|
-
"docId": "文档 ID",
|
|
475
|
-
"title": "子表标题",
|
|
476
|
-
"index": "可选:子表下标"
|
|
477
|
-
},
|
|
478
|
-
"returns": {
|
|
479
|
-
"properties": {
|
|
480
|
-
"sheet_id": "生成的子表 ID",
|
|
481
|
-
"title": "子表标题",
|
|
482
|
-
"index": "子表下标"
|
|
483
|
-
}
|
|
484
|
-
}
|
|
485
|
-
}
|
|
486
|
-
```
|
|
487
|
-
|
|
488
|
-
### 5.3 删除子表
|
|
489
|
-
```json
|
|
490
|
-
{
|
|
491
|
-
"name": "wecom_doc",
|
|
492
|
-
"action": "smartsheet_del_sheet",
|
|
493
|
-
"description": "删除智能表格子表",
|
|
494
|
-
"parameters": {
|
|
495
|
-
"docId": "文档 ID",
|
|
496
|
-
"sheetId": "子表 ID"
|
|
497
|
-
}
|
|
498
|
-
}
|
|
499
|
-
```
|
|
500
|
-
|
|
501
|
-
### 5.4 更新子表
|
|
502
|
-
```json
|
|
503
|
-
{
|
|
504
|
-
"name": "wecom_doc",
|
|
505
|
-
"action": "smartsheet_update_sheet",
|
|
506
|
-
"description": "修改子表标题",
|
|
507
|
-
"parameters": {
|
|
508
|
-
"docId": "文档 ID",
|
|
509
|
-
"sheetId": "子表 ID",
|
|
510
|
-
"title": "新标题"
|
|
511
|
-
}
|
|
512
|
-
}
|
|
513
|
-
```
|
|
514
|
-
|
|
515
|
-
### 5.5 添加视图
|
|
516
|
-
```json
|
|
517
|
-
{
|
|
518
|
-
"name": "wecom_doc",
|
|
519
|
-
"action": "smartsheet_add_view",
|
|
520
|
-
"description": "在子表中添加新视图",
|
|
521
|
-
"parameters": {
|
|
522
|
-
"docId": "文档 ID",
|
|
523
|
-
"sheetId": "子表 ID",
|
|
524
|
-
"view_title": "视图标题",
|
|
525
|
-
"view_type": "VIEW_TYPE_GRID|VIEW_TYPE_KANBAN|VIEW_TYPE_GALLERY|VIEW_TYPE_GANTT|VIEW_TYPE_CALENDAR",
|
|
526
|
-
"property": "可选:视图属性(sort_spec, filter_spec, group_spec 等)"
|
|
527
|
-
},
|
|
528
|
-
"returns": {
|
|
529
|
-
"view": {
|
|
530
|
-
"view_id": "视图 ID",
|
|
531
|
-
"view_title": "视图标题",
|
|
532
|
-
"view_type": "视图类型"
|
|
533
|
-
}
|
|
534
|
-
}
|
|
535
|
-
}
|
|
536
|
-
```
|
|
537
|
-
|
|
538
|
-
### 5.6 更新视图
|
|
539
|
-
```json
|
|
540
|
-
{
|
|
541
|
-
"name": "wecom_doc",
|
|
542
|
-
"action": "smartsheet_update_view",
|
|
543
|
-
"description": "更新视图属性",
|
|
544
|
-
"parameters": {
|
|
545
|
-
"docId": "文档 ID",
|
|
546
|
-
"sheetId": "子表 ID",
|
|
547
|
-
"view_id": "视图 ID",
|
|
548
|
-
"view_title": "可选:新视图标题",
|
|
549
|
-
"property": "可选:视图属性(sort_spec, filter_spec, group_spec, color_config 等)"
|
|
550
|
-
}
|
|
551
|
-
}
|
|
552
|
-
```
|
|
553
|
-
|
|
554
|
-
### 5.7 删除视图
|
|
555
|
-
```json
|
|
556
|
-
{
|
|
557
|
-
"name": "wecom_doc",
|
|
558
|
-
"action": "smartsheet_del_view",
|
|
559
|
-
"description": "删除一个或多个视图",
|
|
560
|
-
"parameters": {
|
|
561
|
-
"docId": "文档 ID",
|
|
562
|
-
"sheetId": "子表 ID",
|
|
563
|
-
"view_ids": ["视图 ID 列表"]
|
|
564
|
-
}
|
|
565
|
-
}
|
|
566
|
-
```
|
|
567
|
-
|
|
568
|
-
### 5.8 查询视图
|
|
569
|
-
```json
|
|
570
|
-
{
|
|
571
|
-
"name": "wecom_doc",
|
|
572
|
-
"action": "smartsheet_get_views",
|
|
573
|
-
"description": "获取子表下所有视图信息",
|
|
574
|
-
"parameters": {
|
|
575
|
-
"docId": "文档 ID",
|
|
576
|
-
"sheetId": "子表 ID",
|
|
577
|
-
"view_ids": "可选:指定视图 ID 列表",
|
|
578
|
-
"offset": "可选:偏移量",
|
|
579
|
-
"limit": "可选:分页大小(最大 1000)"
|
|
580
|
-
},
|
|
581
|
-
"returns": {
|
|
582
|
-
"views": [...],
|
|
583
|
-
"total": "视图总数",
|
|
584
|
-
"has_more": "是否还有更多",
|
|
585
|
-
"next": "下次查询的偏移量"
|
|
586
|
-
}
|
|
587
|
-
}
|
|
588
|
-
```
|
|
589
|
-
|
|
590
|
-
### 5.9 添加字段
|
|
591
|
-
```json
|
|
592
|
-
{
|
|
593
|
-
"name": "wecom_doc",
|
|
594
|
-
"action": "smartsheet_add_fields",
|
|
595
|
-
"description": "在子表中添加一个或多个字段(单表最多 150 个字段)",
|
|
596
|
-
"parameters": {
|
|
597
|
-
"docId": "必填:string,文档的 docid",
|
|
598
|
-
"sheetId": "必填:string,表格 ID",
|
|
599
|
-
"fields": "必填:object[],字段详情数组",
|
|
600
|
-
"fields[].field_title": "必填:string,字段标题",
|
|
601
|
-
"fields[].field_type": "必填:string,字段类型,见下方字段类型对照表",
|
|
602
|
-
"fields[].property_number": "可选:object,数字类型的字段属性,{decimal_places: 2, use_separate: true}",
|
|
603
|
-
"fields[].property_checkbox": "可选:object,复选框类型的字段属性,{checked: true}",
|
|
604
|
-
"fields[].property_date_time": "可选:object,日期类型的字段属性,{format: \"yyyy-mm-dd\", auto_fill: false}",
|
|
605
|
-
"fields[].property_attachment": "可选:object,文件类型的字段属性,{display_mode: \"DISPLAY_MODE_LIST\"}",
|
|
606
|
-
"fields[].property_user": "可选:object,人员类型的字段属性,{is_multiple: true, is_notified: true}",
|
|
607
|
-
"fields[].property_url": "可选:object,超链接类型的字段属性,{type: \"LINK_TYPE_PURE_TEXT\"}",
|
|
608
|
-
"fields[].property_select": "可选:object,多选类型的字段属性,{is_quick_add: true, options: [{id: \"1\", text: \"选项 1\", style: 1}]}",
|
|
609
|
-
"fields[].property_created_time": "可选:object,创建时间类型的字段属性,{format: \"yyyy-mm-dd\"}",
|
|
610
|
-
"fields[].property_modified_time": "可选:object,最后编辑时间类型的字段属性,{format: \"yyyy-mm-dd\"}",
|
|
611
|
-
"fields[].property_progress": "可选:object,进度类型的字段属性,{decimal_places: 2}",
|
|
612
|
-
"fields[].property_single_select": "可选:object,单选类型的字段属性,{is_quick_add: true, options: [...]}",
|
|
613
|
-
"fields[].property_reference": "可选:object,关联类型的字段属性,{sub_id: \"\", field_id: \"\", is_multiple: false, view_id: \"\"}",
|
|
614
|
-
"fields[].property_location": "可选:object,地理位置类型的字段属性,{input_type: \"LOCATION_INPUT_TYPE_MANUAL\"}",
|
|
615
|
-
"fields[].property_auto_number": "可选:object,自动编号类型的字段属性,{type: \"NUMBER_TYPE_INCR\", rules: [...], reformat_existing_record: false}",
|
|
616
|
-
"fields[].property_currency": "可选:object,货币类型的字段属性,{currency_type: \"CURRENCY_TYPE_CNY\", decimal_places: 2, use_separate: true}",
|
|
617
|
-
"fields[].property_ww_group": "可选:object,群类型的字段属性,{allow_multiple: true}",
|
|
618
|
-
"fields[].property_percentage": "可选:object,百分数类型的字段属性,{decimal_places: 2, use_separate: true}",
|
|
619
|
-
"fields[].property_barcode": "可选:object,条码类型的字段属性,{mobile_scan_only: false}",
|
|
620
|
-
"autoCleanupDefaultField": "可选:boolean,是否自动删除遗留的默认字段(默认 true)"
|
|
621
|
-
},
|
|
622
|
-
"returns": {
|
|
623
|
-
"errcode": "integer,错误码",
|
|
624
|
-
"errmsg": "string,错误码描述",
|
|
625
|
-
"fields": "object[],字段详情数组",
|
|
626
|
-
"fields[].field_id": "string,生成的字段 ID",
|
|
627
|
-
"fields[].field_title": "string,字段标题",
|
|
628
|
-
"fields[].field_type": "string,字段类型"
|
|
629
|
-
}
|
|
630
|
-
}
|
|
631
|
-
```
|
|
632
|
-
|
|
633
|
-
**使用示例** - 添加文本字段:
|
|
634
|
-
```json
|
|
635
|
-
{
|
|
636
|
-
"name": "wecom_doc",
|
|
637
|
-
"action": "smartsheet_add_fields",
|
|
638
|
-
"parameters": {
|
|
639
|
-
"docId": "DOCID123",
|
|
640
|
-
"sheetId": "SHEET456",
|
|
641
|
-
"fields": [
|
|
642
|
-
{
|
|
643
|
-
"field_title": "姓名",
|
|
644
|
-
"field_type": "FIELD_TYPE_TEXT"
|
|
645
|
-
},
|
|
646
|
-
{
|
|
647
|
-
"field_title": "备注",
|
|
648
|
-
"field_type": "FIELD_TYPE_TEXT"
|
|
649
|
-
}
|
|
650
|
-
]
|
|
651
|
-
}
|
|
652
|
-
}
|
|
653
|
-
```
|
|
654
|
-
|
|
655
|
-
**使用示例** - 添加数字和日期字段:
|
|
656
|
-
```json
|
|
657
|
-
{
|
|
658
|
-
"name": "wecom_doc",
|
|
659
|
-
"action": "smartsheet_add_fields",
|
|
660
|
-
"parameters": {
|
|
661
|
-
"docId": "DOCID123",
|
|
662
|
-
"sheetId": "SHEET456",
|
|
663
|
-
"fields": [
|
|
664
|
-
{
|
|
665
|
-
"field_title": "年龄",
|
|
666
|
-
"field_type": "FIELD_TYPE_NUMBER",
|
|
667
|
-
"property_number": {
|
|
668
|
-
"decimal_places": 0,
|
|
669
|
-
"use_separate": false
|
|
670
|
-
}
|
|
671
|
-
},
|
|
672
|
-
{
|
|
673
|
-
"field_title": "入职日期",
|
|
674
|
-
"field_type": "FIELD_TYPE_DATE_TIME",
|
|
675
|
-
"property_date_time": {
|
|
676
|
-
"format": "yyyy-mm-dd",
|
|
677
|
-
"auto_fill": false
|
|
678
|
-
}
|
|
679
|
-
}
|
|
680
|
-
]
|
|
681
|
-
}
|
|
682
|
-
}
|
|
683
|
-
```
|
|
684
|
-
|
|
685
|
-
**使用示例** - 添加多选字段:
|
|
686
|
-
```json
|
|
687
|
-
{
|
|
688
|
-
"name": "wecom_doc",
|
|
689
|
-
"action": "smartsheet_add_fields",
|
|
690
|
-
"parameters": {
|
|
691
|
-
"docId": "DOCID123",
|
|
692
|
-
"sheetId": "SHEET456",
|
|
693
|
-
"fields": [
|
|
694
|
-
{
|
|
695
|
-
"field_title": "技能",
|
|
696
|
-
"field_type": "FIELD_TYPE_SELECT",
|
|
697
|
-
"property_select": {
|
|
698
|
-
"is_quick_add": true,
|
|
699
|
-
"options": [
|
|
700
|
-
{"text": "Java", "style": 1},
|
|
701
|
-
{"text": "Python", "style": 2},
|
|
702
|
-
{"text": "JavaScript", "style": 3}
|
|
703
|
-
]
|
|
704
|
-
}
|
|
705
|
-
}
|
|
706
|
-
]
|
|
707
|
-
}
|
|
708
|
-
}
|
|
709
|
-
```
|
|
710
|
-
|
|
711
|
-
**⚠️ 重要注意事项**:
|
|
712
|
-
1. **字段属性必须与字段类型匹配** - 一种字段类型对应一种字段属性
|
|
713
|
-
2. **新增选项时不需要 id** - 只需填写 `text` 和 `style`,系统会自动生成 id
|
|
714
|
-
3. **field_type 必须使用官方常量** - 如 `FIELD_TYPE_TEXT`、`FIELD_TYPE_NUMBER` 等
|
|
715
|
-
4. **单表最多 150 个字段** - 超过限制会失败
|
|
716
|
-
5. **默认字段清理** - 创建智能表格时会自动清理默认字段(保留 1 个)
|
|
717
|
-
6. **自动删除遗留字段** - 第一次调用 `smartsheet_add_fields` 添加新字段后,会自动删除遗留的默认字段(可通过 `autoCleanupDefaultField: false` 禁用)
|
|
718
|
-
|
|
719
|
-
**字段类型与属性对照表**:
|
|
720
|
-
|
|
721
|
-
| 字段类型 | 字段属性 | 说明 |
|
|
722
|
-
|----------|----------|------|
|
|
723
|
-
| FIELD_TYPE_TEXT | 无 | 文本类型不需要属性 |
|
|
724
|
-
| FIELD_TYPE_NUMBER | property_number | 数字类型,可设置小数位数和千位符 |
|
|
725
|
-
| FIELD_TYPE_CHECKBOX | property_checkbox | 复选框类型,可设置默认是否勾选 |
|
|
726
|
-
| FIELD_TYPE_DATE_TIME | property_date_time | 日期类型,可设置日期格式和自动填充 |
|
|
727
|
-
| FIELD_TYPE_IMAGE | 无 | 图片类型不需要属性 |
|
|
728
|
-
| FIELD_TYPE_ATTACHMENT | property_attachment | 文件类型,可设置展示样式(列表/宫格) |
|
|
729
|
-
| FIELD_TYPE_USER | property_user | 人员类型,可设置是否多选和是否通知 |
|
|
730
|
-
| FIELD_TYPE_URL | property_url | 超链接类型,可设置展示样式(文字/图标文字) |
|
|
731
|
-
| FIELD_TYPE_SELECT | property_select | 多选类型,可设置选项和是否允许新增 |
|
|
732
|
-
| FIELD_TYPE_SINGLE_SELECT | property_single_select | 单选类型,可设置选项和是否允许新增 |
|
|
733
|
-
| FIELD_TYPE_CREATED_TIME | property_created_time | 创建时间类型,可设置日期格式 |
|
|
734
|
-
| FIELD_TYPE_MODIFIED_TIME | property_modified_time | 最后编辑时间类型,可设置日期格式 |
|
|
735
|
-
| FIELD_TYPE_PROGRESS | property_progress | 进度类型,可设置小数位数 |
|
|
736
|
-
| FIELD_TYPE_PHONE_NUMBER | 无 | 电话类型不需要属性 |
|
|
737
|
-
| FIELD_TYPE_EMAIL | 无 | 邮箱类型不需要属性 |
|
|
738
|
-
| FIELD_TYPE_REFERENCE | property_reference | 关联类型,可设置关联子表和字段 |
|
|
739
|
-
| FIELD_TYPE_LOCATION | property_location | 地理位置类型,可设置输入类型(手动/自动) |
|
|
740
|
-
| FIELD_TYPE_CURRENCY | property_currency | 货币类型,可设置货币类型和小数位数 |
|
|
741
|
-
| FIELD_TYPE_WWGROUP | property_ww_group | 群类型,可设置是否多选 |
|
|
742
|
-
| FIELD_TYPE_AUTONUMBER | property_auto_number | 自动编号类型,可设置编号规则 |
|
|
743
|
-
| FIELD_TYPE_PERCENTAGE | property_percentage | 百分数类型,可设置小数位数 |
|
|
744
|
-
| FIELD_TYPE_BARCODE | property_barcode | 条码类型,可设置是否仅限手机扫描 |
|
|
745
|
-
|
|
746
|
-
### 5.10 删除字段
|
|
747
|
-
```json
|
|
748
|
-
{
|
|
749
|
-
"name": "wecom_doc",
|
|
750
|
-
"action": "smartsheet_del_fields",
|
|
751
|
-
"description": "删除一个或多个字段",
|
|
752
|
-
"parameters": {
|
|
753
|
-
"docId": "必填:string,文档的 docid",
|
|
754
|
-
"sheetId": "必填:string,表格 ID",
|
|
755
|
-
"field_ids": "必填:string[],需要删除的字段 id 列表"
|
|
756
|
-
},
|
|
757
|
-
"returns": {
|
|
758
|
-
"errcode": "integer,错误码",
|
|
759
|
-
"errmsg": "string,错误码描述"
|
|
760
|
-
}
|
|
761
|
-
}
|
|
762
|
-
```
|
|
763
|
-
|
|
764
|
-
**使用示例**:
|
|
765
|
-
```json
|
|
766
|
-
{
|
|
767
|
-
"name": "wecom_doc",
|
|
768
|
-
"action": "smartsheet_del_fields",
|
|
769
|
-
"parameters": {
|
|
770
|
-
"docId": "DOCID123",
|
|
771
|
-
"sheetId": "SHEET456",
|
|
772
|
-
"field_ids": ["f1gHSR", "fabcde"]
|
|
773
|
-
}
|
|
774
|
-
}
|
|
775
|
-
```
|
|
776
|
-
|
|
777
|
-
---
|
|
778
|
-
|
|
779
|
-
### 5.11 更新字段
|
|
780
|
-
```json
|
|
781
|
-
{
|
|
782
|
-
"name": "wecom_doc",
|
|
783
|
-
"action": "smartsheet_update_fields",
|
|
784
|
-
"description": "更新字段的标题和字段属性(不能更新字段类型)",
|
|
785
|
-
"parameters": {
|
|
786
|
-
"docId": "必填:string,文档的 docid",
|
|
787
|
-
"sheetId": "必填:string,表格 ID",
|
|
788
|
-
"fields": "必填:object[],字段详情数组",
|
|
789
|
-
"fields[].field_id": "必填:string,字段 ID(不能更新)",
|
|
790
|
-
"fields[].field_title": "可选:string,新字段标题(不能更新为原值)",
|
|
791
|
-
"fields[].field_type": "必填:string,字段类型(必须为原类型)",
|
|
792
|
-
"fields[].property_number": "可选:object,数字类型的字段属性",
|
|
793
|
-
"fields[].property_checkbox": "可选:object,复选框类型的字段属性",
|
|
794
|
-
"fields[].property_date_time": "可选:object,日期类型的字段属性",
|
|
795
|
-
"fields[].property_attachment": "可选:object,文件类型的字段属性",
|
|
796
|
-
"fields[].property_user": "可选:object,人员类型的字段属性",
|
|
797
|
-
"fields[].property_url": "可选:object,超链接类型的字段属性",
|
|
798
|
-
"fields[].property_select": "可选:object,多选类型的字段属性",
|
|
799
|
-
"fields[].property_created_time": "可选:object,创建时间类型的字段属性",
|
|
800
|
-
"fields[].property_modified_time": "可选:object,最后编辑时间类型的字段属性",
|
|
801
|
-
"fields[].property_progress": "可选:object,进度类型的字段属性",
|
|
802
|
-
"fields[].property_single_select": "可选:object,单选类型的字段属性",
|
|
803
|
-
"fields[].property_reference": "可选:object,关联类型的字段属性",
|
|
804
|
-
"fields[].property_location": "可选:object,地理位置类型的字段属性",
|
|
805
|
-
"fields[].property_auto_number": "可选:object,自动编号类型的字段属性",
|
|
806
|
-
"fields[].property_currency": "可选:object,货币类型的字段属性",
|
|
807
|
-
"fields[].property_ww_group": "可选:object,群类型的字段属性",
|
|
808
|
-
"fields[].property_percentage": "可选:object,百分数类型的字段属性",
|
|
809
|
-
"fields[].property_barcode": "可选:object,条码类型的字段属性"
|
|
810
|
-
},
|
|
811
|
-
"returns": {
|
|
812
|
-
"errcode": "integer,错误码",
|
|
813
|
-
"errmsg": "string,错误码描述",
|
|
814
|
-
"fields": "object[],字段详情数组"
|
|
815
|
-
}
|
|
816
|
-
}
|
|
817
|
-
```
|
|
818
|
-
|
|
819
|
-
**使用示例** - 更新字段标题:
|
|
820
|
-
```json
|
|
821
|
-
{
|
|
822
|
-
"name": "wecom_doc",
|
|
823
|
-
"action": "smartsheet_update_fields",
|
|
824
|
-
"parameters": {
|
|
825
|
-
"docId": "DOCID123",
|
|
826
|
-
"sheetId": "SHEET456",
|
|
827
|
-
"fields": [
|
|
828
|
-
{
|
|
829
|
-
"field_id": "f1gHSR",
|
|
830
|
-
"field_title": "员工姓名",
|
|
831
|
-
"field_type": "FIELD_TYPE_TEXT"
|
|
832
|
-
}
|
|
833
|
-
]
|
|
834
|
-
}
|
|
835
|
-
}
|
|
836
|
-
```
|
|
837
|
-
|
|
838
|
-
**使用示例** - 更新字段属性:
|
|
839
|
-
```json
|
|
840
|
-
{
|
|
841
|
-
"name": "wecom_doc",
|
|
842
|
-
"action": "smartsheet_update_fields",
|
|
843
|
-
"parameters": {
|
|
844
|
-
"docId": "DOCID123",
|
|
845
|
-
"sheetId": "SHEET456",
|
|
846
|
-
"fields": [
|
|
847
|
-
{
|
|
848
|
-
"field_id": "fabcde",
|
|
849
|
-
"field_type": "FIELD_TYPE_NUMBER",
|
|
850
|
-
"property_number": {
|
|
851
|
-
"decimal_places": 2,
|
|
852
|
-
"use_separate": true
|
|
853
|
-
}
|
|
854
|
-
}
|
|
855
|
-
]
|
|
856
|
-
}
|
|
857
|
-
}
|
|
858
|
-
```
|
|
859
|
-
|
|
860
|
-
**⚠️ 重要注意事项**:
|
|
861
|
-
1. **不能更新字段类型** - 只能更新字段标题和字段属性
|
|
862
|
-
2. **field_title 和 property 至少传一个** - 且 field_title 不能被更新为原值
|
|
863
|
-
3. **field_id 不能更新** - 仅用于标识要更新的字段
|
|
864
|
-
4. **字段属性必须与字段类型匹配** - 与添加字段时相同
|
|
865
|
-
|
|
866
|
-
---
|
|
867
|
-
|
|
868
|
-
### 5.12 查询字段
|
|
869
|
-
```json
|
|
870
|
-
{
|
|
871
|
-
"name": "wecom_doc",
|
|
872
|
-
"action": "smartsheet_get_fields",
|
|
873
|
-
"description": "获取子表下字段信息(支持分页、按字段 ID 或字段标题筛选)",
|
|
874
|
-
"parameters": {
|
|
875
|
-
"docId": "必填:string,文档的 docid",
|
|
876
|
-
"sheetId": "必填:string,表格 ID",
|
|
877
|
-
"view_id": "可选:string,视图 ID",
|
|
878
|
-
"field_ids": "可选:string[],由字段 ID 组成的 JSON 数组",
|
|
879
|
-
"field_titles": "可选:string[],由字段标题组成的 JSON 数组",
|
|
880
|
-
"offset": "可选:integer,偏移量,初始值为 0",
|
|
881
|
-
"limit": "可选:integer,分页大小,每页返回多少条数据;当不填写该参数或将该参数设置为 0 时,如果总数大于 1000,一次性返回 1000 个字段,当总数小于 1000 时,返回全部字段;limit 最大值为 1000"
|
|
882
|
-
},
|
|
883
|
-
"returns": {
|
|
884
|
-
"errcode": "integer,错误码",
|
|
885
|
-
"errmsg": "string,错误码描述",
|
|
886
|
-
"total": "integer,字段总数",
|
|
887
|
-
"fields": "object[],字段详情数组",
|
|
888
|
-
"fields[].field_id": "string,字段 ID",
|
|
889
|
-
"fields[].field_title": "string,字段标题",
|
|
890
|
-
"fields[].field_type": "string,字段类型",
|
|
891
|
-
"fields[].property_*": "可选:object,对应字段类型的属性"
|
|
892
|
-
}
|
|
893
|
-
}
|
|
894
|
-
```
|
|
895
|
-
|
|
896
|
-
**使用示例** - 获取全部字段:
|
|
897
|
-
```json
|
|
898
|
-
{
|
|
899
|
-
"name": "wecom_doc",
|
|
900
|
-
"action": "smartsheet_get_fields",
|
|
901
|
-
"parameters": {
|
|
902
|
-
"docId": "DOCID123",
|
|
903
|
-
"sheetId": "SHEET456",
|
|
904
|
-
"offset": 0,
|
|
905
|
-
"limit": 100
|
|
906
|
-
}
|
|
907
|
-
}
|
|
908
|
-
```
|
|
909
|
-
|
|
910
|
-
**使用示例** - 按字段 ID 查询:
|
|
911
|
-
```json
|
|
912
|
-
{
|
|
913
|
-
"name": "wecom_doc",
|
|
914
|
-
"action": "smartsheet_get_fields",
|
|
915
|
-
"parameters": {
|
|
916
|
-
"docId": "DOCID123",
|
|
917
|
-
"sheetId": "SHEET456",
|
|
918
|
-
"field_ids": ["f1gHSR", "fabcde"]
|
|
919
|
-
}
|
|
920
|
-
}
|
|
921
|
-
```
|
|
922
|
-
|
|
923
|
-
**使用示例** - 按字段标题查询:
|
|
924
|
-
```json
|
|
925
|
-
{
|
|
926
|
-
"name": "wecom_doc",
|
|
927
|
-
"action": "smartsheet_get_fields",
|
|
928
|
-
"parameters": {
|
|
929
|
-
"docId": "DOCID123",
|
|
930
|
-
"sheetId": "SHEET456",
|
|
931
|
-
"field_titles": ["姓名", "年龄"]
|
|
932
|
-
}
|
|
933
|
-
}
|
|
934
|
-
```
|
|
935
|
-
|
|
936
|
-
### 5.13 添加编组
|
|
937
|
-
```json
|
|
938
|
-
{
|
|
939
|
-
"name": "wecom_doc",
|
|
940
|
-
"action": "smartsheet_add_group",
|
|
941
|
-
"description": "添加字段编组",
|
|
942
|
-
"parameters": {
|
|
943
|
-
"docId": "文档 ID",
|
|
944
|
-
"sheetId": "子表 ID",
|
|
945
|
-
"name": "编组名称",
|
|
946
|
-
"children": ["可选:字段 ID 列表"]
|
|
947
|
-
}
|
|
948
|
-
}
|
|
949
|
-
```
|
|
950
|
-
|
|
951
|
-
### 5.14 删除编组
|
|
952
|
-
```json
|
|
953
|
-
{
|
|
954
|
-
"name": "wecom_doc",
|
|
955
|
-
"action": "smartsheet_del_group",
|
|
956
|
-
"description": "删除编组",
|
|
957
|
-
"parameters": {
|
|
958
|
-
"docId": "文档 ID",
|
|
959
|
-
"sheetId": "子表 ID",
|
|
960
|
-
"field_group_id": "编组 ID"
|
|
961
|
-
}
|
|
962
|
-
}
|
|
963
|
-
```
|
|
964
|
-
|
|
965
|
-
### 5.15 更新编组
|
|
966
|
-
```json
|
|
967
|
-
{
|
|
968
|
-
"name": "wecom_doc",
|
|
969
|
-
"action": "smartsheet_update_group",
|
|
970
|
-
"description": "更新编组",
|
|
971
|
-
"parameters": {
|
|
972
|
-
"docId": "文档 ID",
|
|
973
|
-
"sheetId": "子表 ID",
|
|
974
|
-
"field_group_id": "编组 ID",
|
|
975
|
-
"name": "可选:新编组名称",
|
|
976
|
-
"children": ["可选:字段 ID 列表"]
|
|
977
|
-
}
|
|
978
|
-
}
|
|
979
|
-
```
|
|
980
|
-
|
|
981
|
-
### 5.16 获取编组
|
|
982
|
-
```json
|
|
983
|
-
{
|
|
984
|
-
"name": "wecom_doc",
|
|
985
|
-
"action": "smartsheet_get_groups",
|
|
986
|
-
"description": "获取编组列表",
|
|
987
|
-
"parameters": {
|
|
988
|
-
"docId": "文档 ID",
|
|
989
|
-
"sheetId": "子表 ID"
|
|
990
|
-
}
|
|
991
|
-
}
|
|
992
|
-
```
|
|
993
|
-
|
|
994
|
-
### 5.17 添加记录
|
|
995
|
-
```json
|
|
996
|
-
{
|
|
997
|
-
"name": "wecom_doc",
|
|
998
|
-
"action": "smartsheet_add_records",
|
|
999
|
-
"description": "添加一行或多行记录(单表最多 100000 行记录,1500000 个单元格,单次建议 500 行内)",
|
|
1000
|
-
"parameters": {
|
|
1001
|
-
"docId": "必填:string,文档的 docid",
|
|
1002
|
-
"sheetId": "必填:string,Smartsheet 子表 ID",
|
|
1003
|
-
"key_type": "可选:string,values 的 key 类型,CELL_VALUE_KEY_TYPE_FIELD_TITLE(默认,用字段标题)|CELL_VALUE_KEY_TYPE_FIELD_ID(用字段 ID)",
|
|
1004
|
-
"records": "必填:object[],需要添加的记录数组",
|
|
1005
|
-
"records[].values": "必填:object,记录的具体内容,key 为字段标题或字段 ID",
|
|
1006
|
-
"records[].values.文本字段 (FIELD_TYPE_TEXT)": "可选:object[],[{\"type\": \"text\", \"text\": \"内容\"}] 或 [{\"type\": \"url\", \"text\": \"文本\", \"link\": \"URL\"}]",
|
|
1007
|
-
"records[].values.数字字段 (FIELD_TYPE_NUMBER)": "可选:number,直接写数字如 25 或 15000.50(不需要数组)",
|
|
1008
|
-
"records[].values.日期字段 (FIELD_TYPE_DATE_TIME)": "可选:string,毫秒时间戳字符串如 \"1704067200000\"(不需要数组)",
|
|
1009
|
-
"records[].values.多选字段 (FIELD_TYPE_SELECT)": "可选:object[],[{\"text\": \"选项文本\", \"style\": 1}] 新增选项,或 [{\"id\": \"已有选项 ID\"}] 使用已有选项",
|
|
1010
|
-
"records[].values.单选字段 (FIELD_TYPE_SINGLE_SELECT)": "可选:object[],[{\"text\": \"选项文本\", \"style\": 1}] 新增选项,或 [{\"id\": \"已有选项 ID\"}] 使用已有选项",
|
|
1011
|
-
"records[].values.成员字段 (FIELD_TYPE_USER)": "可选:object[],[{\"user_id\": \"成员 userid\"}]",
|
|
1012
|
-
"records[].values.复选框字段 (FIELD_TYPE_CHECKBOX)": "可选:boolean[],[true] 或 [false]",
|
|
1013
|
-
"records[].values.进度字段 (FIELD_TYPE_PROGRESS)": "可选:number,直接写数字如 0.5 表示 50%(不需要数组)",
|
|
1014
|
-
"records[].values.电话字段 (FIELD_TYPE_PHONE_NUMBER)": "可选:string[],[\"13800138000\"]",
|
|
1015
|
-
"records[].values.邮箱字段 (FIELD_TYPE_EMAIL)": "可选:string[] 或 object[],[\"test@example.com\"] 或 [{\"type\": \"url\", \"text\": \"test@example.com\", \"link\": \"mailto:test@example.com\"}]",
|
|
1016
|
-
"records[].values.链接字段 (FIELD_TYPE_URL)": "可选:object[],[{\"type\": \"url\", \"text\": \"显示文本\", \"link\": \"跳转 URL\"}]",
|
|
1017
|
-
"records[].values.地理位置字段 (FIELD_TYPE_LOCATION)": "可选:object[],[{\"id\": \"地点 ID\", \"latitude\": \"纬度\", \"longitude\": \"经度\", \"title\": \"地点名称\", \"source_type\": 1}]",
|
|
1018
|
-
"records[].values.货币字段 (FIELD_TYPE_CURRENCY)": "可选:number,直接写数字如 100.50(不需要数组)",
|
|
1019
|
-
"records[].values.百分数字段 (FIELD_TYPE_PERCENTAGE)": "可选:number,直接写数字如 0.75 表示 75%(不需要数组)",
|
|
1020
|
-
"records[].values.条码字段 (FIELD_TYPE_BARCODE)": "可选:string[],[\"6901234567890\"]"
|
|
1021
|
-
},
|
|
1022
|
-
"returns": {
|
|
1023
|
-
"errcode": "integer,错误码",
|
|
1024
|
-
"errmsg": "string,错误码描述",
|
|
1025
|
-
"records": "object[],添加成功的记录数组"
|
|
1026
|
-
}
|
|
1027
|
-
}
|
|
1028
|
-
```
|
|
1029
|
-
|
|
1030
|
-
**使用示例** - 添加文本和数字记录:
|
|
1031
|
-
```json
|
|
1032
|
-
{
|
|
1033
|
-
"name": "wecom_doc",
|
|
1034
|
-
"action": "smartsheet_add_records",
|
|
1035
|
-
"parameters": {
|
|
1036
|
-
"docId": "DOCID123",
|
|
1037
|
-
"sheetId": "SHEET456",
|
|
1038
|
-
"key_type": "CELL_VALUE_KEY_TYPE_FIELD_TITLE",
|
|
1039
|
-
"records": [
|
|
1040
|
-
{
|
|
1041
|
-
"values": {
|
|
1042
|
-
"姓名": [{"type": "text", "text": "张三"}],
|
|
1043
|
-
"年龄": 25,
|
|
1044
|
-
"部门": [{"type": "text", "text": "技术部"}],
|
|
1045
|
-
"入职日期": "1704067200000",
|
|
1046
|
-
"是否全职": [true],
|
|
1047
|
-
"工资": 15000.50
|
|
1048
|
-
}
|
|
1049
|
-
}
|
|
1050
|
-
]
|
|
1051
|
-
}
|
|
1052
|
-
}
|
|
1053
|
-
```
|
|
1054
|
-
|
|
1055
|
-
**⚠️ 关键格式说明(根据实际 API 测试)**:
|
|
1056
|
-
|
|
1057
|
-
1. **字段值格式因类型而异**:
|
|
1058
|
-
- ✅ 数字类型 (NUMBER, PROGRESS, CURRENCY, PERCENTAGE): 直接写数字 `25`、`0.75`、`100.50`
|
|
1059
|
-
- ✅ 日期类型 (DATE_TIME): 直接写毫秒时间戳字符串 `"1704067200000"`
|
|
1060
|
-
- ✅ 文本类型 (TEXT, URL): 数组格式 `[{"type": "text", "text": "内容"}]`
|
|
1061
|
-
- ✅ 成员类型 (USER): 数组格式 `[{"user_id": "zhangsan"}]`
|
|
1062
|
-
- ✅ 选项类型 (SELECT, SINGLE_SELECT): 数组格式 `[{"text": "选项", "style": 1}]` 或 `[{"id": "opt1"}]`
|
|
1063
|
-
- ✅ 复选框 (CHECKBOX): 数组格式 `[true]` 或 `[false]`
|
|
1064
|
-
- ✅ 电话/邮箱/条码:数组格式 `["13800138000"]`
|
|
1065
|
-
|
|
1066
|
-
2. **文本类型必须带 type 字段**
|
|
1067
|
-
- 普通文本:`[{"type": "text", "text": "内容"}]`
|
|
1068
|
-
- 链接文本:`[{"type": "url", "text": "显示文本", "link": "跳转 URL"}]`
|
|
1069
|
-
|
|
1070
|
-
3. **日期类型是毫秒时间戳字符串**
|
|
1071
|
-
- ✅ 正确:`"1704067200000"`
|
|
1072
|
-
- ❌ 错误:`1704067200000`(数字)、`"2024-01-01"`(日期字符串)
|
|
1073
|
-
|
|
1074
|
-
4. **单选/多选字段使用 Option 对象**
|
|
1075
|
-
- 新增选项:`[{"text": "选项文本", "style": 1}]`(不需要 id)
|
|
1076
|
-
- 使用已有选项:`[{"id": "已有选项 ID"}]`(优先匹配已有选项)
|
|
1077
|
-
|
|
1078
|
-
5. **values 的 key 必须与字段标题或字段 ID 完全匹配**
|
|
1079
|
-
- 如果 `key_type` 为 `CELL_VALUE_KEY_TYPE_FIELD_TITLE`,使用字段标题
|
|
1080
|
-
- 如果 `key_type` 为 `CELL_VALUE_KEY_TYPE_FIELD_ID`,使用字段 ID
|
|
1081
|
-
|
|
1082
|
-
6. **严格验证,不自动转换**:
|
|
1083
|
-
- ❌ 不会将普通字符串自动转换为 `[{"type": "text", "text": "..."}]`
|
|
1084
|
-
- ❌ 不会将 13 位数字字符串误判为时间戳(必须是字符串格式)
|
|
1085
|
-
- ✅ 数字和日期类型保持原样
|
|
1086
|
-
- ✅ 对象格式自动包裹为数组:`{user_id: "..."}` → `[{user_id: "..."}]`
|
|
1087
|
-
- ⚠️ 模糊的原始值(如普通字符串 `"张三"`)会被拒绝,必须明确使用数组格式
|
|
1088
|
-
|
|
1089
|
-
**使用示例** - 添加多选和成员记录:
|
|
1090
|
-
```json
|
|
1091
|
-
{
|
|
1092
|
-
"name": "wecom_doc",
|
|
1093
|
-
"action": "smartsheet_add_records",
|
|
1094
|
-
"parameters": {
|
|
1095
|
-
"docId": "DOCID123",
|
|
1096
|
-
"sheetId": "SHEET456",
|
|
1097
|
-
"records": [
|
|
1098
|
-
{
|
|
1099
|
-
"values": {
|
|
1100
|
-
"姓名": [{"type": "text", "text": "王五"}],
|
|
1101
|
-
"技能": [
|
|
1102
|
-
{"text": "Java", "style": 1},
|
|
1103
|
-
{"text": "Python", "style": 2}
|
|
1104
|
-
],
|
|
1105
|
-
"负责人": [{"user_id": "zhangsan"}],
|
|
1106
|
-
"进度": [0.75],
|
|
1107
|
-
"邮箱": [{"type": "url", "text": "wangwu@example.com", "link": "mailto:wangwu@example.com"}]
|
|
1108
|
-
}
|
|
1109
|
-
}
|
|
1110
|
-
]
|
|
1111
|
-
}
|
|
1112
|
-
}
|
|
1113
|
-
```
|
|
1114
|
-
|
|
1115
|
-
**⚠️ 单选/多选字段格式说明**:
|
|
1116
|
-
|
|
1117
|
-
1. **新增选项**(选项中不存在该值):
|
|
1118
|
-
```json
|
|
1119
|
-
[{"text": "新选项", "style": 1}]
|
|
1120
|
-
```
|
|
1121
|
-
- 不需要填写 `id`
|
|
1122
|
-
- 必须填写 `text` 和 `style`(颜色 1-27)
|
|
1123
|
-
|
|
1124
|
-
2. **使用已有选项**(选项中已存在):
|
|
1125
|
-
```json
|
|
1126
|
-
[{"id": "已有选项 ID"}]
|
|
1127
|
-
```
|
|
1128
|
-
- 只需要填写 `id`
|
|
1129
|
-
- 系统会优先匹配已有选项
|
|
1130
|
-
|
|
1131
|
-
3. **混合使用**:
|
|
1132
|
-
```json
|
|
1133
|
-
[
|
|
1134
|
-
{"id": "已有选项 ID"},
|
|
1135
|
-
{"text": "新选项", "style": 1}
|
|
1136
|
-
]
|
|
1137
|
-
```
|
|
1138
|
-
|
|
1139
|
-
**⚠️ 重要注意事项**:
|
|
1140
|
-
1. **字段值格式因类型而异** - 数字/日期类型直接写值(`25`、`"1704067200000"`),文本/成员/选项类型用数组(`[{"type": "text", "text": "内容"}]`)
|
|
1141
|
-
2. **文本类型必须带 type** - `[{"type": "text", "text": "内容"}]` 或 `[{"type": "url", "text": "文本", "link": "URL"}]`
|
|
1142
|
-
3. **不能添加记录的字段类型** - 创建时间、最后编辑时间、创建人、最后编辑人这四种类型的字段不能通过接口添加值(系统自动填充)
|
|
1143
|
-
4. **key_type 决定 values 的 key** - 使用字段标题或字段 ID 作为 key,默认使用字段标题
|
|
1144
|
-
5. **单次添加建议 500 行内** - 避免超时或失败
|
|
1145
|
-
6. **插件严格验证** - 拒绝模糊的原始值,必须使用正确的格式
|
|
1146
|
-
|
|
1147
|
-
**字段类型与值类型对照表**:
|
|
1148
|
-
|
|
1149
|
-
| 字段类型 | 值类型 | 示例值 |
|
|
1150
|
-
|----------|--------|--------|
|
|
1151
|
-
| 文本 (FIELD_TYPE_TEXT) | object[] | `[{"type": "text", "text": "内容"}]` |
|
|
1152
|
-
| 数字 (FIELD_TYPE_NUMBER) | number | `25` 或 `15000.50` |
|
|
1153
|
-
| 复选框 (FIELD_TYPE_CHECKBOX) | boolean[] | `[true]` 或 `[false]` |
|
|
1154
|
-
| 日期 (FIELD_TYPE_DATE_TIME) | string | `"1704067200000"` (毫秒时间戳) |
|
|
1155
|
-
| 成员 (FIELD_TYPE_USER) | object[] | `[{"user_id": "zhangsan"}]` |
|
|
1156
|
-
| 多选 (FIELD_TYPE_SELECT) | object[] | `[{"id": "opt1", "text": "选项", "style": 1}]` |
|
|
1157
|
-
| 单选 (FIELD_TYPE_SINGLE_SELECT) | object[] | `[{"id": "opt1", "text": "选项", "style": 1}]` |
|
|
1158
|
-
| 进度 (FIELD_TYPE_PROGRESS) | number | `0.75` (0-1 之间) |
|
|
1159
|
-
| 电话 (FIELD_TYPE_PHONE_NUMBER) | string[] | `["13800138000"]` |
|
|
1160
|
-
| 邮箱 (FIELD_TYPE_EMAIL) | string[] 或 object[] | `["test@example.com"]` 或 `[{"type": "url", "text": "test@example.com", "link": "mailto:test@example.com"}]` |
|
|
1161
|
-
| 链接 (FIELD_TYPE_URL) | object[] | `[{"type": "url", "text": "显示文本", "link": "https://..."}]` |
|
|
1162
|
-
| 货币 (FIELD_TYPE_CURRENCY) | number | `100.50` |
|
|
1163
|
-
| 百分数 (FIELD_TYPE_PERCENTAGE) | number | `0.75` (表示 75%) |
|
|
1164
|
-
| 条码 (FIELD_TYPE_BARCODE) | string[] | `["6901234567890"]` |
|
|
1165
|
-
| 地理位置 (FIELD_TYPE_LOCATION) | object[] | `[{"id": "地点 ID", "latitude": "23.10647", "longitude": "113.32446", "title": "广州塔", "source_type": 1}]` |
|
|
1166
|
-
|
|
1167
|
-
### 5.18 更新记录
|
|
1168
|
-
```json
|
|
1169
|
-
{
|
|
1170
|
-
"name": "wecom_doc",
|
|
1171
|
-
"action": "smartsheet_update_records",
|
|
1172
|
-
"description": "更新一行或多行记录(不能更新创建时间、最后编辑时间、创建人、最后编辑人字段)",
|
|
1173
|
-
"parameters": {
|
|
1174
|
-
"docId": "必填:string,文档的 docid",
|
|
1175
|
-
"sheetId": "必填:string,Smartsheet 子表 ID",
|
|
1176
|
-
"key_type": "可选:string,请求中 values 的 key 类型,使用字段标题(默认)或字段 ID",
|
|
1177
|
-
"records": "必填:object[],需要更新的记录数组",
|
|
1178
|
-
"records[].record_id": "必填:string,记录 ID",
|
|
1179
|
-
"records[].values": "必填:object,记录的具体内容,格式与添加记录相同",
|
|
1180
|
-
"记录格式参考添加记录": "数字/日期类型直接写值,文本/成员/选项类型用数组"
|
|
1181
|
-
},
|
|
1182
|
-
"returns": {
|
|
1183
|
-
"errcode": "integer,错误码",
|
|
1184
|
-
"errmsg": "string,错误码描述",
|
|
1185
|
-
"records": "object[],更新成功的记录数组"
|
|
1186
|
-
}
|
|
1187
|
-
}
|
|
1188
|
-
```
|
|
1189
|
-
|
|
1190
|
-
**使用示例**:
|
|
1191
|
-
```json
|
|
1192
|
-
{
|
|
1193
|
-
"name": "wecom_doc",
|
|
1194
|
-
"action": "smartsheet_update_records",
|
|
1195
|
-
"parameters": {
|
|
1196
|
-
"docId": "DOCID123",
|
|
1197
|
-
"sheetId": "SHEET456",
|
|
1198
|
-
"records": [
|
|
1199
|
-
{
|
|
1200
|
-
"record_id": "re9IqD",
|
|
1201
|
-
"values": {
|
|
1202
|
-
"姓名": [{"type": "text", "text": "张三丰"}],
|
|
1203
|
-
"年龄": 26,
|
|
1204
|
-
"部门": [{"type": "text", "text": "技术部"}],
|
|
1205
|
-
"工资": 16000.00,
|
|
1206
|
-
"是否全职": [true]
|
|
1207
|
-
}
|
|
1208
|
-
},
|
|
1209
|
-
{
|
|
1210
|
-
"record_id": "rpS0P9",
|
|
1211
|
-
"values": {
|
|
1212
|
-
"姓名": [{"type": "text", "text": "李四光"}],
|
|
1213
|
-
"年龄": 29,
|
|
1214
|
-
"部门": [{"type": "text", "text": "产品部"}],
|
|
1215
|
-
"工资": 19000.00
|
|
1216
|
-
}
|
|
1217
|
-
}
|
|
1218
|
-
]
|
|
1219
|
-
}
|
|
1220
|
-
}
|
|
1221
|
-
```
|
|
1222
|
-
|
|
1223
|
-
**⚠️ 重要注意事项**:
|
|
1224
|
-
1. **必须指定 record_id** - 用于标识要更新的记录
|
|
1225
|
-
2. **字段值格式与添加记录相同** - 数字/日期类型直接写值,文本/成员/选项类型用数组
|
|
1226
|
-
3. **不能更新的字段类型** - 创建时间、最后编辑时间、创建人、最后编辑人(系统自动更新)
|
|
1227
|
-
4. **只更新指定的字段** - 未指定的字段保持不变
|
|
1228
|
-
5. **文本类型必须带 type** - `[{"type": "text", "text": "内容"}]`
|
|
1229
|
-
|
|
1230
|
-
### 5.19 删除记录
|
|
1231
|
-
```json
|
|
1232
|
-
{
|
|
1233
|
-
"name": "wecom_doc",
|
|
1234
|
-
"action": "smartsheet_del_records",
|
|
1235
|
-
"description": "删除一行或多行记录(单表最多 100000 行记录,单次删除建议 500 行内)",
|
|
1236
|
-
"parameters": {
|
|
1237
|
-
"docId": "必填:string,文档的 docid",
|
|
1238
|
-
"sheetId": "必填:string,Smartsheet 子表 ID",
|
|
1239
|
-
"record_ids": "必填:string[],要删除的记录 ID 列表"
|
|
1240
|
-
},
|
|
1241
|
-
"returns": {
|
|
1242
|
-
"errcode": "integer,错误码",
|
|
1243
|
-
"errmsg": "string,错误码描述"
|
|
1244
|
-
}
|
|
1245
|
-
}
|
|
1246
|
-
```
|
|
1247
|
-
|
|
1248
|
-
**使用示例**:
|
|
1249
|
-
```json
|
|
1250
|
-
{
|
|
1251
|
-
"name": "wecom_doc",
|
|
1252
|
-
"action": "smartsheet_del_records",
|
|
1253
|
-
"parameters": {
|
|
1254
|
-
"docId": "DOCID123",
|
|
1255
|
-
"sheetId": "SHEET456",
|
|
1256
|
-
"record_ids": ["re9IqD", "rpS0P9"]
|
|
1257
|
-
}
|
|
1258
|
-
}
|
|
1259
|
-
```
|
|
1260
|
-
|
|
1261
|
-
### 5.20 查询记录
|
|
1262
|
-
```json
|
|
1263
|
-
{
|
|
1264
|
-
"name": "wecom_doc",
|
|
1265
|
-
"action": "smartsheet_get_records",
|
|
1266
|
-
"description": "获取记录列表(支持筛选、排序、分页、按字段过滤)",
|
|
1267
|
-
"parameters": {
|
|
1268
|
-
"docId": "必填:string,文档的 docid",
|
|
1269
|
-
"sheetId": "必填:string,Smartsheet 子表 ID",
|
|
1270
|
-
"view_id": "可选:string,视图 ID",
|
|
1271
|
-
"record_ids": "可选:string[],指定记录 ID 列表",
|
|
1272
|
-
"key_type": "可选:string,返回记录中单元格的 key 类型,CELL_VALUE_KEY_TYPE_FIELD_TITLE(默认)|CELL_VALUE_KEY_TYPE_FIELD_ID",
|
|
1273
|
-
"field_titles": "可选:string[],返回指定列(字段标题数组)",
|
|
1274
|
-
"field_ids": "可选:string[],返回指定列(字段 ID 数组)",
|
|
1275
|
-
"sort": "可选:object[],排序设置,[{field_id: "字段 ID", desc: false}]",
|
|
1276
|
-
"offset": "可选:integer,偏移量,初始值为 0",
|
|
1277
|
-
"limit": "可选:integer,分页大小,最大 1000",
|
|
1278
|
-
"ver": "可选:integer,版本号",
|
|
1279
|
-
"filter_spec": "可选:object,过滤设置,{conjunction: "CONJUNCTION_AND", conditions: [...]}"
|
|
1280
|
-
},
|
|
1281
|
-
"returns": {
|
|
1282
|
-
"errcode": "integer,错误码",
|
|
1283
|
-
"errmsg": "string,错误码描述",
|
|
1284
|
-
"records": "object[],记录数组",
|
|
1285
|
-
"records[].record_id": "string,记录 ID",
|
|
1286
|
-
"records[].values": "object,记录的具体内容,key 为字段标题或字段 ID,value 为数组(根据字段类型不同而不同)",
|
|
1287
|
-
"total": "integer,记录总数",
|
|
1288
|
-
"has_more": "boolean,是否还有更多",
|
|
1289
|
-
"next": "integer,下次查询的偏移量",
|
|
1290
|
-
"ver": "integer,版本号"
|
|
1291
|
-
}
|
|
1292
|
-
}
|
|
1293
|
-
```
|
|
1294
|
-
|
|
1295
|
-
**使用示例** - 查询全部记录:
|
|
1296
|
-
```json
|
|
1297
|
-
{
|
|
1298
|
-
"name": "wecom_doc",
|
|
1299
|
-
"action": "smartsheet_get_records",
|
|
1300
|
-
"parameters": {
|
|
1301
|
-
"docId": "DOCID123",
|
|
1302
|
-
"sheetId": "SHEET456",
|
|
1303
|
-
"offset": 0,
|
|
1304
|
-
"limit": 100
|
|
1305
|
-
}
|
|
1306
|
-
}
|
|
1307
|
-
```
|
|
1308
|
-
|
|
1309
|
-
**使用示例** - 按字段标题返回:
|
|
1310
|
-
```json
|
|
1311
|
-
{
|
|
1312
|
-
"name": "wecom_doc",
|
|
1313
|
-
"action": "smartsheet_get_records",
|
|
1314
|
-
"parameters": {
|
|
1315
|
-
"docId": "DOCID123",
|
|
1316
|
-
"sheetId": "SHEET456",
|
|
1317
|
-
"key_type": "CELL_VALUE_KEY_TYPE_FIELD_TITLE",
|
|
1318
|
-
"field_titles": ["姓名", "年龄", "部门"],
|
|
1319
|
-
"limit": 50
|
|
1320
|
-
}
|
|
1321
|
-
}
|
|
1322
|
-
```
|
|
1323
|
-
|
|
1324
|
-
**使用示例** - 排序查询:
|
|
1325
|
-
```json
|
|
1326
|
-
{
|
|
1327
|
-
"name": "wecom_doc",
|
|
1328
|
-
"action": "smartsheet_get_records",
|
|
1329
|
-
"parameters": {
|
|
1330
|
-
"docId": "DOCID123",
|
|
1331
|
-
"sheetId": "SHEET456",
|
|
1332
|
-
"sort": [
|
|
1333
|
-
{"field_id": "f1gHSR", "desc": false}
|
|
1334
|
-
],
|
|
1335
|
-
"limit": 100
|
|
1336
|
-
}
|
|
1337
|
-
}
|
|
1338
|
-
```
|
|
1339
|
-
|
|
1340
|
-
**使用示例** - 过滤查询:
|
|
1341
|
-
```json
|
|
1342
|
-
{
|
|
1343
|
-
"name": "wecom_doc",
|
|
1344
|
-
"action": "smartsheet_get_records",
|
|
1345
|
-
"parameters": {
|
|
1346
|
-
"docId": "DOCID123",
|
|
1347
|
-
"sheetId": "SHEET456",
|
|
1348
|
-
"filter_spec": {
|
|
1349
|
-
"conjunction": "CONJUNCTION_AND",
|
|
1350
|
-
"conditions": [
|
|
1351
|
-
{
|
|
1352
|
-
"field_id": "f1gHSR",
|
|
1353
|
-
"field_type": "FIELD_TYPE_TEXT",
|
|
1354
|
-
"operator": "OPERATOR_CONTAINS",
|
|
1355
|
-
"string_value": {
|
|
1356
|
-
"value": ["张三"]
|
|
1357
|
-
}
|
|
1358
|
-
}
|
|
1359
|
-
]
|
|
1360
|
-
}
|
|
1361
|
-
}
|
|
1362
|
-
}
|
|
1363
|
-
```
|
|
1364
|
-
|
|
1365
|
-
**返回示例**:
|
|
1366
|
-
```json
|
|
1367
|
-
{
|
|
1368
|
-
"errcode": 0,
|
|
1369
|
-
"errmsg": "ok",
|
|
1370
|
-
"total": 10,
|
|
1371
|
-
"has_more": false,
|
|
1372
|
-
"next": 10,
|
|
1373
|
-
"ver": 5,
|
|
1374
|
-
"records": [
|
|
1375
|
-
{
|
|
1376
|
-
"record_id": "re9IqD",
|
|
1377
|
-
"values": {
|
|
1378
|
-
"姓名": [{"type": "text", "text": "张三"}],
|
|
1379
|
-
"年龄": 25,
|
|
1380
|
-
"部门": [{"type": "text", "text": "技术部"}],
|
|
1381
|
-
"入职日期": "1704067200000",
|
|
1382
|
-
"是否全职": [true]
|
|
1383
|
-
}
|
|
1384
|
-
},
|
|
1385
|
-
{
|
|
1386
|
-
"record_id": "rpS0P9",
|
|
1387
|
-
"values": {
|
|
1388
|
-
"姓名": [{"type": "text", "text": "李四"}],
|
|
1389
|
-
"年龄": 28,
|
|
1390
|
-
"部门": [{"type": "text", "text": "产品部"}],
|
|
1391
|
-
"入职日期": "1704153600000",
|
|
1392
|
-
"是否全职": [true]
|
|
1393
|
-
}
|
|
1394
|
-
}
|
|
1395
|
-
]
|
|
1396
|
-
}
|
|
1397
|
-
```
|
|
1398
|
-
|
|
1399
|
-
**注意**: 实际 API 返回的数据格式可能因字段类型而异,插件会自动规范化处理。
|
|
1400
|
-
|
|
1401
|
-
**⚠️ 重要注意事项**:
|
|
1402
|
-
1. **字段值格式因类型而异** - 数字/日期类型是直接值,文本/成员/选项类型是数组
|
|
1403
|
-
2. **文本类型带 type 字段** - `[{"type": "text", "text": "内容"}]`
|
|
1404
|
-
3. **数字类型直接是数字** - `25`、`15000.50`(不是数组)
|
|
1405
|
-
4. **日期类型是毫秒时间戳字符串** - `"1704067200000"`(不是数组)
|
|
1406
|
-
5. **选项类型需要 id** - `[{"id": "opt1", "text": "选项", "style": 1}]`
|
|
1407
|
-
6. **成员类型需要 user_id** - `[{"user_id": "zhangsan"}]`
|
|
1408
|
-
|
|
1409
|
-
**过滤操作符 (Operator)**:
|
|
1410
|
-
|
|
1411
|
-
| 操作符 | 说明 |
|
|
1412
|
-
|--------|------|
|
|
1413
|
-
| OPERATOR_IS | 等于 |
|
|
1414
|
-
| OPERATOR_IS_NOT | 不等于 |
|
|
1415
|
-
| OPERATOR_CONTAINS | 包含 |
|
|
1416
|
-
| OPERATOR_DOES_NOT_CONTAIN | 不包含 |
|
|
1417
|
-
| OPERATOR_IS_GREATER | 大于 |
|
|
1418
|
-
| OPERATOR_IS_GREATER_OR_EQUAL | 大于或等于 |
|
|
1419
|
-
| OPERATOR_IS_LESS | 小于 |
|
|
1420
|
-
| OPERATOR_IS_LESS_OR_EQUAL | 小于或等于 |
|
|
1421
|
-
| OPERATOR_IS_EMPTY | 为空 |
|
|
1422
|
-
| OPERATOR_IS_NOT_EMPTY | 不为空 |
|
|
1423
|
-
|
|
1424
|
-
**过滤条件 conjunction**:
|
|
1425
|
-
- `CONJUNCTION_AND` - 多个条件之间以 and 连接
|
|
1426
|
-
- `CONJUNCTION_OR` - 多个条件之间以 or 连接
|
|
1427
|
-
|
|
1428
|
-
### 5.21 获取子表权限
|
|
1429
|
-
```json
|
|
1430
|
-
{
|
|
1431
|
-
"name": "wecom_doc",
|
|
1432
|
-
"action": "smartsheet_get_sheet_priv",
|
|
1433
|
-
"description": "获取智能表格子表权限规则",
|
|
1434
|
-
"parameters": {
|
|
1435
|
-
"docId": "文档 ID",
|
|
1436
|
-
"type": "1(全员权限)|2(额外权限)",
|
|
1437
|
-
"rule_id_list": "可选:规则 ID 列表"
|
|
1438
|
-
}
|
|
1439
|
-
}
|
|
1440
|
-
```
|
|
1441
|
-
|
|
1442
|
-
### 5.22 更新子表权限
|
|
1443
|
-
```json
|
|
1444
|
-
{
|
|
1445
|
-
"name": "wecom_doc",
|
|
1446
|
-
"action": "smartsheet_update_sheet_priv",
|
|
1447
|
-
"description": "更新子表权限规则",
|
|
1448
|
-
"parameters": {
|
|
1449
|
-
"docId": "文档 ID",
|
|
1450
|
-
"type": "1(全员权限)|2(额外权限)",
|
|
1451
|
-
"rule_id": "可选:规则 ID",
|
|
1452
|
-
"name": "可选:规则名称",
|
|
1453
|
-
"priv_list": "权限列表"
|
|
1454
|
-
}
|
|
1455
|
-
}
|
|
1456
|
-
```
|
|
1457
|
-
|
|
1458
|
-
### 5.23 创建权限规则
|
|
1459
|
-
```json
|
|
1460
|
-
{
|
|
1461
|
-
"name": "wecom_doc",
|
|
1462
|
-
"action": "smartsheet_create_rule",
|
|
1463
|
-
"description": "创建成员额外权限规则",
|
|
1464
|
-
"parameters": {
|
|
1465
|
-
"docId": "文档 ID",
|
|
1466
|
-
"name": "规则名称"
|
|
1467
|
-
},
|
|
1468
|
-
"returns": {
|
|
1469
|
-
"rule_id": "生成的规则 ID"
|
|
1470
|
-
}
|
|
1471
|
-
}
|
|
1472
|
-
```
|
|
1473
|
-
|
|
1474
|
-
### 5.24 修改规则成员
|
|
1475
|
-
```json
|
|
1476
|
-
{
|
|
1477
|
-
"name": "wecom_doc",
|
|
1478
|
-
"action": "smartsheet_mod_rule_member",
|
|
1479
|
-
"description": "修改权限规则的成员范围",
|
|
1480
|
-
"parameters": {
|
|
1481
|
-
"docId": "文档 ID",
|
|
1482
|
-
"rule_id": "规则 ID",
|
|
1483
|
-
"add_member_range": "可选:添加成员范围",
|
|
1484
|
-
"del_member_range": "可选:删除成员范围"
|
|
1485
|
-
}
|
|
1486
|
-
}
|
|
1487
|
-
```
|
|
1488
|
-
|
|
1489
|
-
### 5.25 删除规则
|
|
1490
|
-
```json
|
|
1491
|
-
{
|
|
1492
|
-
"name": "wecom_doc",
|
|
1493
|
-
"action": "smartsheet_delete_rule",
|
|
1494
|
-
"description": "删除权限规则",
|
|
1495
|
-
"parameters": {
|
|
1496
|
-
"docId": "文档 ID",
|
|
1497
|
-
"rule_id_list": ["规则 ID 列表"]
|
|
1498
|
-
}
|
|
1499
|
-
}
|
|
1500
|
-
```
|
|
1501
|
-
|
|
1502
|
-
---
|
|
1503
|
-
|
|
1504
|
-
## 六、收集表操作 (Form/Collect Operations)
|
|
1505
|
-
|
|
1506
|
-
### 6.1 创建收集表
|
|
1507
|
-
```json
|
|
1508
|
-
{
|
|
1509
|
-
"name": "wecom_doc",
|
|
1510
|
-
"action": "create_form",
|
|
1511
|
-
"description": "创建收集表(表单)",
|
|
1512
|
-
"parameters": {
|
|
1513
|
-
"formInfo": {
|
|
1514
|
-
"form_title": "收集表标题(必填)",
|
|
1515
|
-
"form_desc": "可选:收集表描述",
|
|
1516
|
-
"form_header": "可选:背景图链接",
|
|
1517
|
-
"form_question": {
|
|
1518
|
-
"items": [
|
|
1519
|
-
{
|
|
1520
|
-
"question_id": 1,
|
|
1521
|
-
"title": "问题标题",
|
|
1522
|
-
"pos": 1,
|
|
1523
|
-
"status": 1,
|
|
1524
|
-
"reply_type": 1,
|
|
1525
|
-
"must_reply": true,
|
|
1526
|
-
"option_item": [{"key": 1, "value": "选项", "status": 1}]
|
|
1527
|
-
}
|
|
1528
|
-
]
|
|
1529
|
-
},
|
|
1530
|
-
"form_setting": {
|
|
1531
|
-
"fill_out_auth": 0,
|
|
1532
|
-
"allow_multi_fill": false,
|
|
1533
|
-
"can_anonymous": false
|
|
1534
|
-
}
|
|
1535
|
-
},
|
|
1536
|
-
"spaceId": "可选:空间 ID",
|
|
1537
|
-
"fatherId": "可选:父目录 fileid"
|
|
1538
|
-
},
|
|
1539
|
-
"returns": {
|
|
1540
|
-
"formId": "收集表 ID",
|
|
1541
|
-
"title": "收集表标题"
|
|
1542
|
-
}
|
|
1543
|
-
}
|
|
1544
|
-
```
|
|
1545
|
-
|
|
1546
|
-
### 6.2 编辑收集表
|
|
1547
|
-
```json
|
|
1548
|
-
{
|
|
1549
|
-
"name": "wecom_doc",
|
|
1550
|
-
"action": "modify_form",
|
|
1551
|
-
"description": "编辑收集表(全量修改问题或设置)",
|
|
1552
|
-
"parameters": {
|
|
1553
|
-
"oper": "1(全量修改问题)|2(全量修改设置)",
|
|
1554
|
-
"formId": "收集表 ID",
|
|
1555
|
-
"formInfo": {
|
|
1556
|
-
"form_title": "可选:新标题",
|
|
1557
|
-
"form_question": { "items": [...] },
|
|
1558
|
-
"form_setting": {...}
|
|
1559
|
-
}
|
|
1560
|
-
}
|
|
1561
|
-
}
|
|
1562
|
-
```
|
|
1563
|
-
|
|
1564
|
-
### 6.3 获取收集表信息
|
|
1565
|
-
```json
|
|
1566
|
-
{
|
|
1567
|
-
"name": "wecom_doc",
|
|
1568
|
-
"action": "get_form_info",
|
|
1569
|
-
"description": "获取收集表详细信息",
|
|
1570
|
-
"parameters": {
|
|
1571
|
-
"formId": "收集表 ID"
|
|
1572
|
-
},
|
|
1573
|
-
"returns": {
|
|
1574
|
-
"form_info": {
|
|
1575
|
-
"formid": "收集表 ID",
|
|
1576
|
-
"form_title": "标题",
|
|
1577
|
-
"form_question": { "items": [...] },
|
|
1578
|
-
"form_setting": {...},
|
|
1579
|
-
"repeated_id": ["周期 ID 列表"]
|
|
1580
|
-
}
|
|
1581
|
-
}
|
|
1582
|
-
}
|
|
1583
|
-
```
|
|
1584
|
-
|
|
1585
|
-
### 6.4 获取收集表答案
|
|
1586
|
-
```json
|
|
1587
|
-
{
|
|
1588
|
-
"name": "wecom_doc",
|
|
1589
|
-
"action": "get_form_answer",
|
|
1590
|
-
"description": "获取收集表提交的答案(最多 100 个)",
|
|
1591
|
-
"parameters": {
|
|
1592
|
-
"repeatedId": "收集表周期 ID",
|
|
1593
|
-
"answerIds": "可选:答案 ID 列表(最多 100 个)"
|
|
1594
|
-
},
|
|
1595
|
-
"returns": {
|
|
1596
|
-
"answer_list": [
|
|
1597
|
-
{
|
|
1598
|
-
"answer_id": 15,
|
|
1599
|
-
"user_name": "张三",
|
|
1600
|
-
"reply": {
|
|
1601
|
-
"items": [
|
|
1602
|
-
{ "question_id": 1, "text_reply": "答案" }
|
|
1603
|
-
]
|
|
1604
|
-
}
|
|
1605
|
-
}
|
|
1606
|
-
]
|
|
1607
|
-
}
|
|
1608
|
-
}
|
|
1609
|
-
```
|
|
1610
|
-
|
|
1611
|
-
### 6.5 获取收集表统计
|
|
1612
|
-
```json
|
|
1613
|
-
{
|
|
1614
|
-
"name": "wecom_doc",
|
|
1615
|
-
"action": "get_form_statistic",
|
|
1616
|
-
"description": "获取收集表统计信息",
|
|
1617
|
-
"parameters": {
|
|
1618
|
-
"requests": [
|
|
1619
|
-
{
|
|
1620
|
-
"repeated_id": "周期 ID",
|
|
1621
|
-
"req_type": 1,
|
|
1622
|
-
"start_time": 1667395287,
|
|
1623
|
-
"end_time": 1668418369,
|
|
1624
|
-
"limit": 20,
|
|
1625
|
-
"cursor": 1
|
|
1626
|
-
}
|
|
1627
|
-
]
|
|
1628
|
-
},
|
|
1629
|
-
"returns": {
|
|
1630
|
-
"fill_cnt": 10,
|
|
1631
|
-
"fill_user_cnt": 8,
|
|
1632
|
-
"unfill_user_cnt": 5,
|
|
1633
|
-
"submit_users": [...],
|
|
1634
|
-
"unfill_users": [...]
|
|
1635
|
-
}
|
|
1636
|
-
}
|
|
1637
|
-
```
|
|
1638
|
-
|
|
1639
|
-
---
|
|
1640
|
-
|
|
1641
|
-
## 七、高级账号管理 (Advanced Account Management)
|
|
1642
|
-
|
|
1643
|
-
### 7.1 分配高级功能账号
|
|
1644
|
-
```json
|
|
1645
|
-
{
|
|
1646
|
-
"name": "wecom_doc",
|
|
1647
|
-
"action": "doc_assign_advanced_account",
|
|
1648
|
-
"description": "分配文档高级功能账号",
|
|
1649
|
-
"parameters": {
|
|
1650
|
-
"userid_list": ["成员 ID 列表"]
|
|
1651
|
-
},
|
|
1652
|
-
"returns": {
|
|
1653
|
-
"jobid": "任务 ID"
|
|
1654
|
-
}
|
|
1655
|
-
}
|
|
1656
|
-
```
|
|
1657
|
-
|
|
1658
|
-
### 7.2 取消高级功能账号
|
|
1659
|
-
```json
|
|
1660
|
-
{
|
|
1661
|
-
"name": "wecom_doc",
|
|
1662
|
-
"action": "doc_cancel_advanced_account",
|
|
1663
|
-
"description": "取消文档高级功能账号",
|
|
1664
|
-
"parameters": {
|
|
1665
|
-
"userid_list": ["成员 ID 列表"]
|
|
1666
|
-
},
|
|
1667
|
-
"returns": {
|
|
1668
|
-
"jobid": "任务 ID"
|
|
1669
|
-
}
|
|
1670
|
-
}
|
|
1671
|
-
```
|
|
1672
|
-
|
|
1673
|
-
### 7.3 获取高级账号列表
|
|
1674
|
-
```json
|
|
1675
|
-
{
|
|
1676
|
-
"name": "wecom_doc",
|
|
1677
|
-
"action": "doc_get_advanced_account_list",
|
|
1678
|
-
"description": "获取高级功能账号列表",
|
|
1679
|
-
"parameters": {
|
|
1680
|
-
"cursor": "可选:分页游标",
|
|
1681
|
-
"limit": "可选:每页数量"
|
|
1682
|
-
},
|
|
1683
|
-
"returns": {
|
|
1684
|
-
"user_list": [...],
|
|
1685
|
-
"has_more": "是否还有更多"
|
|
1686
|
-
}
|
|
1687
|
-
}
|
|
1688
|
-
```
|
|
1689
|
-
|
|
1690
|
-
---
|
|
1691
|
-
|
|
1692
|
-
## 八、字段类型对照表 (Field Type Reference)
|
|
1693
|
-
|
|
1694
|
-
### 智能表格字段类型 (FieldType)
|
|
1695
|
-
|
|
1696
|
-
| 类型值 | 说明 | 对应 property |
|
|
1697
|
-
|--------|------|--------------|
|
|
1698
|
-
| FIELD_TYPE_TEXT | 文本 | - |
|
|
1699
|
-
| FIELD_TYPE_NUMBER | 数字 | property_number |
|
|
1700
|
-
| FIELD_TYPE_CHECKBOX | 复选框 | property_checkbox |
|
|
1701
|
-
| FIELD_TYPE_DATE_TIME | 日期 | property_date_time |
|
|
1702
|
-
| FIELD_TYPE_IMAGE | 图片 | - |
|
|
1703
|
-
| FIELD_TYPE_ATTACHMENT | 文件 | property_attachment |
|
|
1704
|
-
| FIELD_TYPE_USER | 成员 | property_user |
|
|
1705
|
-
| FIELD_TYPE_URL | 超链接 | property_url |
|
|
1706
|
-
| FIELD_TYPE_SELECT | 多选 | property_select |
|
|
1707
|
-
| FIELD_TYPE_SINGLE_SELECT | 单选 | property_single_select |
|
|
1708
|
-
| FIELD_TYPE_CREATED_USER | 创建人 | - |
|
|
1709
|
-
| FIELD_TYPE_MODIFIED_USER | 最后编辑人 | - |
|
|
1710
|
-
| FIELD_TYPE_CREATED_TIME | 创建时间 | property_created_time |
|
|
1711
|
-
| FIELD_TYPE_MODIFIED_TIME | 最后编辑时间 | property_modified_time |
|
|
1712
|
-
| FIELD_TYPE_PROGRESS | 进度 | property_progress |
|
|
1713
|
-
| FIELD_TYPE_PHONE_NUMBER | 电话 | - |
|
|
1714
|
-
| FIELD_TYPE_EMAIL | 邮件 | - |
|
|
1715
|
-
| FIELD_TYPE_REFERENCE | 关联 | property_reference |
|
|
1716
|
-
| FIELD_TYPE_LOCATION | 地理位置 | property_location |
|
|
1717
|
-
| FIELD_TYPE_CURRENCY | 货币 | property_currency |
|
|
1718
|
-
| FIELD_TYPE_WWGROUP | 群 | property_ww_group |
|
|
1719
|
-
| FIELD_TYPE_AUTONUMBER | 自动编号 | property_auto_number |
|
|
1720
|
-
| FIELD_TYPE_PERCENTAGE | 百分数 | property_percentage |
|
|
1721
|
-
| FIELD_TYPE_BARCODE | 条码 | property_barcode |
|
|
1722
|
-
|
|
1723
|
-
### 收集表问题类型 (reply_type)
|
|
1724
|
-
|
|
1725
|
-
| 类型值 | 说明 |
|
|
1726
|
-
|--------|------|
|
|
1727
|
-
| 1 | 文本 |
|
|
1728
|
-
| 2 | 单选 |
|
|
1729
|
-
| 3 | 多选 |
|
|
1730
|
-
| 5 | 位置 |
|
|
1731
|
-
| 9 | 图片 |
|
|
1732
|
-
| 10 | 文件 |
|
|
1733
|
-
| 11 | 日期 |
|
|
1734
|
-
| 14 | 时间 |
|
|
1735
|
-
| 15 | 下拉列表 |
|
|
1736
|
-
| 16 | 体温 |
|
|
1737
|
-
| 17 | 签名 |
|
|
1738
|
-
| 18 | 部门 |
|
|
1739
|
-
| 19 | 成员 |
|
|
1740
|
-
| 22 | 时长 |
|
|
1741
|
-
|
|
1742
|
-
---
|
|
1743
|
-
|
|
1744
|
-
## 九、使用示例 (Usage Examples)
|
|
1745
|
-
|
|
1746
|
-
### 示例 1:创建文档并添加协作者
|
|
1747
|
-
```json
|
|
1748
|
-
{
|
|
1749
|
-
"name": "wecom_doc",
|
|
1750
|
-
"action": "create",
|
|
1751
|
-
"parameters": {
|
|
1752
|
-
"docName": "项目计划",
|
|
1753
|
-
"docType": "doc",
|
|
1754
|
-
"collaborators": [{"userid": "zhangsan"}, {"userid": "lisi"}],
|
|
1755
|
-
"init_content": [
|
|
1756
|
-
{"type": "text", "content": "项目计划文档"},
|
|
1757
|
-
{"type": "text", "content": "一、项目目标"},
|
|
1758
|
-
{"type": "text", "content": "二、项目进度"}
|
|
1759
|
-
]
|
|
1760
|
-
}
|
|
1761
|
-
}
|
|
1762
|
-
```
|
|
1763
|
-
|
|
1764
|
-
### 示例 2:批量更新文档内容
|
|
1765
|
-
```json
|
|
1766
|
-
{
|
|
1767
|
-
"name": "wecom_doc",
|
|
1768
|
-
"action": "update_content",
|
|
1769
|
-
"parameters": {
|
|
1770
|
-
"docId": "DOCID123",
|
|
1771
|
-
"requests": [
|
|
1772
|
-
{"replace_text": {"text": "新标题", "ranges": [{"start_index": 0, "length": 5}]}},
|
|
1773
|
-
{"insert_text": {"text": "新增段落", "location": {"index": 10}}},
|
|
1774
|
-
{"insert_image": {"image_id": "https://...", "location": {"index": 20}}}
|
|
1775
|
-
]
|
|
1776
|
-
}
|
|
1777
|
-
}
|
|
1778
|
-
```
|
|
1779
|
-
|
|
1780
|
-
### 示例 3:智能表格添加记录
|
|
1781
|
-
```json
|
|
1782
|
-
{
|
|
1783
|
-
"name": "wecom_doc",
|
|
1784
|
-
"action": "smartsheet_add_records",
|
|
1785
|
-
"parameters": {
|
|
1786
|
-
"docId": "DOCID456",
|
|
1787
|
-
"sheetId": "SHEET789",
|
|
1788
|
-
"records": [
|
|
1789
|
-
{
|
|
1790
|
-
"values": {
|
|
1791
|
-
"姓名": [{"type": "text", "text": "张三"}],
|
|
1792
|
-
"年龄": 25,
|
|
1793
|
-
"部门": [{"type": "text", "text": "技术部"}]
|
|
1794
|
-
}
|
|
1795
|
-
}
|
|
1796
|
-
]
|
|
1797
|
-
}
|
|
1798
|
-
}
|
|
1799
|
-
```
|
|
1800
|
-
|
|
1801
|
-
### 示例 4:创建收集表
|
|
1802
|
-
```json
|
|
1803
|
-
{
|
|
1804
|
-
"name": "wecom_doc",
|
|
1805
|
-
"action": "create_form",
|
|
1806
|
-
"parameters": {
|
|
1807
|
-
"formInfo": {
|
|
1808
|
-
"form_title": "员工满意度调查",
|
|
1809
|
-
"form_question": {
|
|
1810
|
-
"items": [
|
|
1811
|
-
{
|
|
1812
|
-
"question_id": 1,
|
|
1813
|
-
"title": "您的部门",
|
|
1814
|
-
"pos": 1,
|
|
1815
|
-
"reply_type": 15,
|
|
1816
|
-
"must_reply": true,
|
|
1817
|
-
"option_item": [
|
|
1818
|
-
{"key": 1, "value": "技术部"},
|
|
1819
|
-
{"key": 2, "value": "产品部"},
|
|
1820
|
-
{"key": 3, "value": "市场部"}
|
|
1821
|
-
]
|
|
1822
|
-
},
|
|
1823
|
-
{
|
|
1824
|
-
"question_id": 2,
|
|
1825
|
-
"title": "满意度评分",
|
|
1826
|
-
"pos": 2,
|
|
1827
|
-
"reply_type": 2,
|
|
1828
|
-
"must_reply": true,
|
|
1829
|
-
"option_item": [
|
|
1830
|
-
{"key": 1, "value": "非常满意"},
|
|
1831
|
-
{"key": 2, "value": "满意"},
|
|
1832
|
-
{"key": 3, "value": "一般"},
|
|
1833
|
-
{"key": 4, "value": "不满意"}
|
|
1834
|
-
]
|
|
1835
|
-
}
|
|
1836
|
-
]
|
|
1837
|
-
}
|
|
1838
|
-
}
|
|
1839
|
-
}
|
|
1840
|
-
}
|
|
1841
|
-
```
|
|
1842
|
-
|
|
1843
|
-
---
|
|
1844
|
-
|
|
1845
|
-
## 九、智能表格完整使用流程 (Smart Table Complete Workflow)
|
|
1846
|
-
|
|
1847
|
-
### 步骤 1:创建智能表格
|
|
1848
|
-
|
|
1849
|
-
```json
|
|
1850
|
-
{
|
|
1851
|
-
"name": "wecom_doc",
|
|
1852
|
-
"action": "create",
|
|
1853
|
-
"parameters": {
|
|
1854
|
-
"docName": "员工信息表",
|
|
1855
|
-
"docType": "smart_table"
|
|
1856
|
-
}
|
|
1857
|
-
}
|
|
1858
|
-
```
|
|
1859
|
-
|
|
1860
|
-
**返回**:
|
|
1861
|
-
```json
|
|
1862
|
-
{
|
|
1863
|
-
"docId": "DOCID123",
|
|
1864
|
-
"url": "https://doc.weixin.qq.com/smart_table/DOCID123",
|
|
1865
|
-
"title": "员工信息表",
|
|
1866
|
-
"resourceType": "10"
|
|
1867
|
-
}
|
|
1868
|
-
```
|
|
1869
|
-
|
|
1870
|
-
---
|
|
1871
|
-
|
|
1872
|
-
### 步骤 2:添加自定义字段
|
|
1873
|
-
|
|
1874
|
-
```json
|
|
1875
|
-
{
|
|
1876
|
-
"name": "wecom_doc",
|
|
1877
|
-
"action": "smartsheet_add_fields",
|
|
1878
|
-
"parameters": {
|
|
1879
|
-
"docId": "DOCID123",
|
|
1880
|
-
"sheetId": "SHEET456",
|
|
1881
|
-
"fields": [
|
|
1882
|
-
{
|
|
1883
|
-
"field_title": "姓名",
|
|
1884
|
-
"field_type": "FIELD_TYPE_TEXT"
|
|
1885
|
-
},
|
|
1886
|
-
{
|
|
1887
|
-
"field_title": "年龄",
|
|
1888
|
-
"field_type": "FIELD_TYPE_NUMBER",
|
|
1889
|
-
"property_number": {
|
|
1890
|
-
"decimal_places": 0,
|
|
1891
|
-
"use_separate": false
|
|
1892
|
-
}
|
|
1893
|
-
},
|
|
1894
|
-
{
|
|
1895
|
-
"field_title": "部门",
|
|
1896
|
-
"field_type": "FIELD_TYPE_SELECT",
|
|
1897
|
-
"property_select": {
|
|
1898
|
-
"is_quick_add": true,
|
|
1899
|
-
"options": [
|
|
1900
|
-
{"text": "技术部", "style": 1},
|
|
1901
|
-
{"text": "产品部", "style": 2},
|
|
1902
|
-
{"text": "市场部", "style": 3}
|
|
1903
|
-
]
|
|
1904
|
-
}
|
|
1905
|
-
},
|
|
1906
|
-
{
|
|
1907
|
-
"field_title": "入职日期",
|
|
1908
|
-
"field_type": "FIELD_TYPE_DATE_TIME",
|
|
1909
|
-
"property_date_time": {
|
|
1910
|
-
"format": "yyyy-mm-dd",
|
|
1911
|
-
"auto_fill": false
|
|
1912
|
-
}
|
|
1913
|
-
},
|
|
1914
|
-
{
|
|
1915
|
-
"field_title": "工资",
|
|
1916
|
-
"field_type": "FIELD_TYPE_NUMBER",
|
|
1917
|
-
"property_number": {
|
|
1918
|
-
"decimal_places": 2,
|
|
1919
|
-
"use_separate": true
|
|
1920
|
-
}
|
|
1921
|
-
},
|
|
1922
|
-
{
|
|
1923
|
-
"field_title": "是否全职",
|
|
1924
|
-
"field_type": "FIELD_TYPE_CHECKBOX",
|
|
1925
|
-
"property_checkbox": {
|
|
1926
|
-
"checked": true
|
|
1927
|
-
}
|
|
1928
|
-
}
|
|
1929
|
-
]
|
|
1930
|
-
}
|
|
1931
|
-
}
|
|
1932
|
-
```
|
|
1933
|
-
|
|
1934
|
-
---
|
|
1935
|
-
|
|
1936
|
-
### 步骤 3:添加记录
|
|
1937
|
-
|
|
1938
|
-
```json
|
|
1939
|
-
{
|
|
1940
|
-
"name": "wecom_doc",
|
|
1941
|
-
"action": "smartsheet_add_records",
|
|
1942
|
-
"parameters": {
|
|
1943
|
-
"docId": "DOCID123",
|
|
1944
|
-
"sheetId": "SHEET456",
|
|
1945
|
-
"key_type": "CELL_VALUE_KEY_TYPE_FIELD_TITLE",
|
|
1946
|
-
"records": [
|
|
1947
|
-
{
|
|
1948
|
-
"values": {
|
|
1949
|
-
"姓名": [{"type": "text", "text": "张三"}],
|
|
1950
|
-
"年龄": 25,
|
|
1951
|
-
"部门": [{"text": "技术部", "style": 1}],
|
|
1952
|
-
"入职日期": "1704067200000",
|
|
1953
|
-
"工资": 15000.50,
|
|
1954
|
-
"是否全职": [true]
|
|
1955
|
-
}
|
|
1956
|
-
}
|
|
1957
|
-
]
|
|
1958
|
-
}
|
|
1959
|
-
}
|
|
1960
|
-
```
|
|
1961
|
-
|
|
1962
|
-
**⚠️ 关键格式说明**:
|
|
1963
|
-
1. **数字/日期类型直接写值** - `25`、`"1704067200000"`、`15000.50`
|
|
1964
|
-
2. **文本类型必须带 type** - `[{"type": "text", "text": "张三"}]`
|
|
1965
|
-
3. **选项类型(单选/多选)**:
|
|
1966
|
-
- 新增选项:`[{"text": "技术部", "style": 1}]`(不需要 id)
|
|
1967
|
-
- 使用已有选项:`[{"id": "选项 ID"}]`
|
|
1968
|
-
4. **日期类型是毫秒时间戳字符串** - `"1704067200000"`(不是数组)
|
|
1969
|
-
5. **values 的 key 必须与字段标题完全匹配**(如果 `key_type` 为 `CELL_VALUE_KEY_TYPE_FIELD_TITLE`)
|
|
1970
|
-
|
|
1971
|
-
---
|
|
1972
|
-
|
|
1973
|
-
### 步骤 4:查询记录
|
|
1974
|
-
|
|
1975
|
-
```json
|
|
1976
|
-
{
|
|
1977
|
-
"name": "wecom_doc",
|
|
1978
|
-
"action": "smartsheet_get_records",
|
|
1979
|
-
"parameters": {
|
|
1980
|
-
"docId": "DOCID123",
|
|
1981
|
-
"sheetId": "SHEET456",
|
|
1982
|
-
"offset": 0,
|
|
1983
|
-
"limit": 100
|
|
1984
|
-
}
|
|
1985
|
-
}
|
|
1986
|
-
```
|
|
1987
|
-
|
|
1988
|
-
**返回**:
|
|
1989
|
-
```json
|
|
1990
|
-
{
|
|
1991
|
-
"errcode": 0,
|
|
1992
|
-
"errmsg": "ok",
|
|
1993
|
-
"total": 2,
|
|
1994
|
-
"has_more": false,
|
|
1995
|
-
"records": [
|
|
1996
|
-
{
|
|
1997
|
-
"record_id": "re9IqD",
|
|
1998
|
-
"values": {
|
|
1999
|
-
"姓名": [{"type": "text", "text": "张三"}],
|
|
2000
|
-
"年龄": 25,
|
|
2001
|
-
"部门": [{"id": "opt1", "text": "技术部", "style": 1}],
|
|
2002
|
-
"入职日期": "1704067200000",
|
|
2003
|
-
"工资": 15000.50,
|
|
2004
|
-
"是否全职": [true]
|
|
2005
|
-
}
|
|
2006
|
-
},
|
|
2007
|
-
{
|
|
2008
|
-
"record_id": "rpS0P9",
|
|
2009
|
-
"values": {
|
|
2010
|
-
"姓名": [{"type": "text", "text": "李四"}],
|
|
2011
|
-
"年龄": 28,
|
|
2012
|
-
"部门": [{"id": "opt2", "text": "产品部", "style": 2}],
|
|
2013
|
-
"入职日期": "1704153600000",
|
|
2014
|
-
"工资": 18000.00,
|
|
2015
|
-
"是否全职": [true]
|
|
2016
|
-
}
|
|
2017
|
-
}
|
|
2018
|
-
]
|
|
2019
|
-
}
|
|
2020
|
-
```
|
|
2021
|
-
|
|
2022
|
-
---
|
|
2023
|
-
|
|
2024
|
-
### 步骤 5:更新记录
|
|
2025
|
-
|
|
2026
|
-
```json
|
|
2027
|
-
{
|
|
2028
|
-
"name": "wecom_doc",
|
|
2029
|
-
"action": "smartsheet_update_records",
|
|
2030
|
-
"parameters": {
|
|
2031
|
-
"docId": "DOCID123",
|
|
2032
|
-
"sheetId": "SHEET456",
|
|
2033
|
-
"records": [
|
|
2034
|
-
{
|
|
2035
|
-
"record_id": "re9IqD",
|
|
2036
|
-
"values": {
|
|
2037
|
-
"姓名": [{"type": "text", "text": "张三丰"}],
|
|
2038
|
-
"工资": 16000.00
|
|
2039
|
-
}
|
|
2040
|
-
}
|
|
2041
|
-
]
|
|
2042
|
-
}
|
|
2043
|
-
}
|
|
2044
|
-
```
|
|
2045
|
-
|
|
2046
|
-
---
|
|
2047
|
-
|
|
2048
|
-
### 步骤 6:删除记录
|
|
2049
|
-
|
|
2050
|
-
```json
|
|
2051
|
-
{
|
|
2052
|
-
"name": "wecom_doc",
|
|
2053
|
-
"action": "smartsheet_del_records",
|
|
2054
|
-
"parameters": {
|
|
2055
|
-
"docId": "DOCID123",
|
|
2056
|
-
"sheetId": "SHEET456",
|
|
2057
|
-
"record_ids": ["rpS0P9"]
|
|
2058
|
-
}
|
|
2059
|
-
}
|
|
2060
|
-
```
|
|
2061
|
-
|
|
2062
|
-
---
|
|
2063
|
-
|
|
2064
|
-
## 十、注意事项 (Important Notes)
|
|
2065
|
-
|
|
2066
|
-
### 1. 批量操作限制
|
|
2067
|
-
- **文档批量更新**:最多 30 个操作
|
|
2068
|
-
- **表格批量更新**:最多 5 个操作
|
|
2069
|
-
- **收集表答案查询**:最多 100 个答案 ID
|
|
2070
|
-
- **智能表格字段操作**:单次可添加/更新/删除多个字段
|
|
2071
|
-
- **智能表格记录操作**:单次添加/删除建议在 500 行内
|
|
2072
|
-
|
|
2073
|
-
### 2. 版本控制
|
|
2074
|
-
- **更新文档内容时**:version 与最新版差值不能超过 100
|
|
2075
|
-
- **建议**:每次更新前获取最新文档内容
|
|
2076
|
-
|
|
2077
|
-
### 3. 权限说明
|
|
2078
|
-
- **自建应用**:需配置到"可调用应用"列表
|
|
2079
|
-
- **第三方应用**:需具有"文档"权限
|
|
2080
|
-
- **代开发自建应用**:需具有"文档"权限
|
|
2081
|
-
- **只能操作**:该应用创建的文档
|
|
2082
|
-
|
|
2083
|
-
### 4. 智能表格字段类型匹配
|
|
2084
|
-
- **添加/更新字段时**:field_type 必须与 property_* 属性匹配
|
|
2085
|
-
- **更新字段时**:不能修改字段类型
|
|
2086
|
-
- **一种字段类型对应一种字段属性**
|
|
2087
|
-
|
|
2088
|
-
### 5. 智能表格记录格式(⚠️ 重要)
|
|
2089
|
-
|
|
2090
|
-
#### 5.1 字段值格式因类型而异
|
|
2091
|
-
不同字段类型的值格式不同:
|
|
2092
|
-
- **数字/日期/货币/进度/百分数类型**:直接写值,不需要数组
|
|
2093
|
-
- ✅ 正确:`25`、`"1704067200000"`、`15000.50`、`0.75`
|
|
2094
|
-
- ❌ 错误:`[25]`、`["1704067200000"]`、`[15000.50]`、`[0.75]`
|
|
2095
|
-
- **文本/成员/选项/复选框/电话/邮箱/链接/条码/地理位置类型**:必须用数组
|
|
2096
|
-
- ✅ 正确:`[{"type": "text", "text": "内容"}]`、`[{"user_id": "zhangsan"}]`、`[true]`
|
|
2097
|
-
- ❌ 错误:`{"type": "text", "text": "内容"}`、`{"user_id": "zhangsan"}`、`true`
|
|
2098
|
-
|
|
2099
|
-
#### 5.2 各类型字段值格式详解
|
|
2100
|
-
|
|
2101
|
-
| 字段类型 | 值格式 | 示例 |
|
|
2102
|
-
|----------|--------|------|
|
|
2103
|
-
| 文本 (FIELD_TYPE_TEXT) | object[] | `[{"type": "text", "text": "张三"}]` |
|
|
2104
|
-
| 数字 (FIELD_TYPE_NUMBER) | number | `25`、`15000.50` |
|
|
2105
|
-
| 日期 (FIELD_TYPE_DATE_TIME) | string | `"1704067200000"`(毫秒时间戳) |
|
|
2106
|
-
| 复选框 (FIELD_TYPE_CHECKBOX) | boolean[] | `[true]`、`[false]` |
|
|
2107
|
-
| 多选 (FIELD_TYPE_SELECT) | object[] | 新增:`[{"text": "选项", "style": 1}]`,已有:`[{"id": "选项 ID"}]` |
|
|
2108
|
-
| 单选 (FIELD_TYPE_SINGLE_SELECT) | object[] | 新增:`[{"text": "选项", "style": 1}]`,已有:`[{"id": "选项 ID"}]` |
|
|
2109
|
-
| 成员 (FIELD_TYPE_USER) | object[] | `[{"user_id": "zhangsan"}]` |
|
|
2110
|
-
| 进度 (FIELD_TYPE_PROGRESS) | number | `0.75`(0-1 之间) |
|
|
2111
|
-
| 电话 (FIELD_TYPE_PHONE_NUMBER) | string[] | `["13800138000"]` |
|
|
2112
|
-
| 邮箱 (FIELD_TYPE_EMAIL) | string[] 或 object[] | `["test@example.com"]` 或 `[{"type": "url", "text": "test@example.com", "link": "mailto:test@example.com"}]` |
|
|
2113
|
-
| 链接 (FIELD_TYPE_URL) | object[] | `[{"type": "url", "text": "显示文本", "link": "https://..."}]` |
|
|
2114
|
-
| 货币 (FIELD_TYPE_CURRENCY) | number | `100.50` |
|
|
2115
|
-
| 百分数 (FIELD_TYPE_PERCENTAGE) | number | `0.75`(表示 75%) |
|
|
2116
|
-
| 条码 (FIELD_TYPE_BARCODE) | string[] | `["6901234567890"]` |
|
|
2117
|
-
| 地理位置 (FIELD_TYPE_LOCATION) | object[] | `[{"id": "地点 ID", "latitude": "23.10647", "longitude": "113.32446", "title": "广州塔", "source_type": 1}]` |
|
|
2118
|
-
|
|
2119
|
-
#### 5.3 文本类型值的 type 字段
|
|
2120
|
-
- `text` - 普通文本内容
|
|
2121
|
-
- `url` - 链接文本(需要同时提供 `link` 字段)
|
|
2122
|
-
|
|
2123
|
-
#### 5.4 选项类型(单选/多选)的填写规则
|
|
2124
|
-
- **新增选项**:`{"text": "选项内容", "style": 颜色编号 (1-27)}`
|
|
2125
|
-
- **使用已有选项**:`{"id": "已有选项 ID"}`
|
|
2126
|
-
- **系统会优先匹配已有选项**,如果匹配不到则新增选项
|
|
2127
|
-
|
|
2128
|
-
#### 5.5 不能添加/更新的字段类型
|
|
2129
|
-
以下字段类型由系统自动填充,不能通过接口添加或更新:
|
|
2130
|
-
- 创建时间 (FIELD_TYPE_CREATED_TIME)
|
|
2131
|
-
- 最后编辑时间 (FIELD_TYPE_MODIFIED_TIME)
|
|
2132
|
-
- 创建人 (FIELD_TYPE_CREATED_USER)
|
|
2133
|
-
- 最后编辑人 (FIELD_TYPE_MODIFIED_USER)
|
|
2134
|
-
|
|
2135
|
-
### 6. 智能表格限制
|
|
2136
|
-
- **单表最多 100000 行记录**
|
|
2137
|
-
- **单表最多 1500000 个单元格**
|
|
2138
|
-
- **单表最多 150 个字段**
|
|
2139
|
-
- **单表最多 200 个视图**
|
|
2140
|
-
- **单次添加/更新/删除记录建议在 500 行内**
|
|
2141
|
-
|
|
2142
|
-
### 7. key_type 参数
|
|
2143
|
-
- **CELL_VALUE_KEY_TYPE_FIELD_TITLE**(默认)- 使用字段标题作为 values 的 key
|
|
2144
|
-
- **CELL_VALUE_KEY_TYPE_FIELD_ID** - 使用字段 ID 作为 values 的 key
|
|
2145
|
-
- **添加记录和查询记录时都要注意保持一致**
|
|
2146
|
-
|
|
2147
|
-
### 8. 常见错误排查
|
|
2148
|
-
|
|
2149
|
-
| 问题 | 原因 | 解决方案 |
|
|
2150
|
-
|------|------|----------|
|
|
2151
|
-
| 数据都填充到一列 | values 的 key 不是字段标题或字段 ID | 检查 key_type 设置,确保 key 与字段标题或字段 ID 完全匹配(包括空格和大小写) |
|
|
2152
|
-
| 多余的行 | records 数组格式错误 | 确保 records 是数组,每个记录是独立对象 `[{values: {...}}, {values: {...}}]` |
|
|
2153
|
-
| 无法添加自定义字段 | field_type 或 property 不匹配 | 检查字段类型与属性的对应关系,见字段类型对照表 |
|
|
2154
|
-
| 无法修改默认字段 | 尝试修改系统字段 | 创建时间、最后编辑时间、创建人、最后编辑人不能通过接口修改 |
|
|
2155
|
-
| 添加记录失败 | 值格式错误 | 数字/日期类型直接写值,文本/成员等类型用数组,插件会自动规范化 |
|
|
2156
|
-
| 日期字段错误 | 使用了秒级时间戳或日期字符串 | 使用毫秒级时间戳字符串 `"1704067200000"` 而不是 `1704067200000` 或 `"2024-01-01"` |
|
|
2157
|
-
| 选项字段错误 | 格式错误或缺少必要字段 | 新增选项:`[{"text": "选项", "style": 1}]`,使用已有:`[{"id": "选项 ID"}]` |
|
|
2158
|
-
| 单选字段添加失败 | 使用了错误的格式 | 单选和多选格式相同,都是 Option 对象数组 |
|
|
2159
|
-
| 文本字段添加失败 | 缺少 type 字段 | 文本类型必须是 `[{"type": "text", "text": "内容"}]` 格式 |
|
|
2160
|
-
| 链接字段添加失败 | 格式错误 | 链接类型必须是 `[{"type": "url", "text": "文本", "link": "URL"}]` 格式 |
|
|
2161
|
-
|
|
2162
|
-
---
|
|
2163
|
-
|
|
2164
|
-
**文档版本**: 2026-03-18 v2
|
|
2165
|
-
**适用版本**: OpenClaw WeChat Plugin v2.3.16+
|
|
2166
|
-
**官方文档**: 企业微信开放平台 - 文档 API
|
|
2167
|
-
|
|
2168
|
-
---
|
|
2169
|
-
|
|
2170
|
-
## 修正记录 (Revision History)
|
|
2171
|
-
|
|
2172
|
-
### 2026-03-18 v2 - 智能表格记录格式修正
|
|
2173
|
-
|
|
2174
|
-
#### 修复的问题:
|
|
2175
|
-
|
|
2176
|
-
1. **选项字段格式错误** ❌ → ✅
|
|
2177
|
-
- **问题**:单选/多选字段使用了错误的格式 `[{"id": "opt1", "text": "选项", "style": 1}]`
|
|
2178
|
-
- **原因**:混淆了新增选项和使用已有选项的格式
|
|
2179
|
-
- **修正**:
|
|
2180
|
-
- 新增选项:`[{"text": "选项内容", "style": 颜色编号}]`(不需要 id)
|
|
2181
|
-
- 使用已有选项:`[{"id": "已有选项 ID"}]`(只需要 id)
|
|
2182
|
-
- **官方文档依据**:doc2.txt 第 1747-1757 行 Option 说明
|
|
2183
|
-
|
|
2184
|
-
2. **日期字段格式说明不清晰** ❌ → ✅
|
|
2185
|
-
- **问题**:没有强调必须是毫秒时间戳字符串
|
|
2186
|
-
- **修正**:明确指出使用 `"1704067200000"` 格式(字符串),不是数字 `1704067200000`
|
|
2187
|
-
- **官方文档依据**:doc2.txt 第 1679 行
|
|
2188
|
-
|
|
2189
|
-
3. **添加完整的值格式对照表** ❌ → ✅
|
|
2190
|
-
- **问题**:缺少 15 种字段类型的完整值格式说明
|
|
2191
|
-
- **修正**:添加详细的表格,包含每种类型的正确格式和示例
|
|
2192
|
-
|
|
2193
|
-
4. **常见错误排查不完善** ❌ → ✅
|
|
2194
|
-
- **问题**:缺少单选字段、文本字段、链接字段等错误排查
|
|
2195
|
-
- **修正**:添加 10 种常见错误及解决方案
|
|
2196
|
-
|
|
2197
|
-
5. **使用示例优化** ❌ → ✅
|
|
2198
|
-
- **问题**:示例中的选项字段格式不正确
|
|
2199
|
-
- **修正**:更新所有示例,使用正确的选项格式
|
|
2200
|
-
|
|
2201
|
-
#### 新增内容:
|
|
2202
|
-
|
|
2203
|
-
1. **15 种字段类型的值格式对照表** - 包含所有支持的字段的值格式
|
|
2204
|
-
2. **文本类型 type 字段说明** - text 和 url 的区别
|
|
2205
|
-
3. **选项类型填写规则** - 新增选项 vs 使用已有选项
|
|
2206
|
-
4. **10 种常见错误排查** - 覆盖所有常见问题
|
|
2207
|
-
5. **完整使用流程示例** - 6 步完整示例,格式完全正确
|
|
2208
|
-
|
|
2209
|
-
#### 关键修正点:
|
|
2210
|
-
|
|
2211
|
-
| 字段类型 | 原格式(错误) | 新格式(正确) |
|
|
2212
|
-
|----------|---------------|---------------|
|
|
2213
|
-
| 单选/多选(新增) | `[{"id": "opt1", "text": "选项", "style": 1}]` | `[{"text": "选项", "style": 1}]` |
|
|
2214
|
-
| 单选/多选(已有) | `[{"text": "选项"}]` | `[{"id": "选项 ID"}]` |
|
|
2215
|
-
| 日期 | `[1704067200000]` 或 `["2024-01-01"]` | `"1704067200000"` |
|
|
2216
|
-
| 文本 | `{"type": "text", "text": "内容"}` | `[{"type": "text", "text": "内容"}]` |
|
|
2217
|
-
|
|
2218
|
-
---
|
|
2219
|
-
|
|
2220
|
-
### 2026-03-19 v2 - 智能表格记录格式修正
|
|
2221
|
-
|
|
2222
|
-
#### 修复的问题:
|
|
2223
|
-
|
|
2224
|
-
1. **数字/日期类型值格式错误** ❌ → ✅
|
|
2225
|
-
- **问题**:文档示例中数字和日期类型使用了数组格式
|
|
2226
|
-
- **原因**:实际 API 测试表明数字和日期类型应该直接写值
|
|
2227
|
-
- **修正**:明确字段值格式因类型而异
|
|
2228
|
-
- 数字/货币/进度/百分数:直接写值 `25`、`15000.50`、`0.75`
|
|
2229
|
-
- 日期:直接写毫秒时间戳字符串 `"1704067200000"`
|
|
2230
|
-
- 文本/成员/选项/复选框等:使用数组 `[{"type": "text", "text": "内容"}]`、`[{"user_id": "xxx"}]`
|
|
2231
|
-
- **插件自动规范化**:如果传入格式不正确,插件会自动转换
|
|
2232
|
-
|
|
2233
|
-
---
|
|
2234
|
-
|
|
2235
|
-
### 2026-03-18 v1 - 初始重大修正
|
|
2236
|
-
|
|
2237
|
-
#### 修复的问题:
|
|
2238
|
-
|
|
2239
|
-
1. **添加记录数据格式错误** ❌ → ✅
|
|
2240
|
-
- **问题**:数据格式不正确,导致所有数据填充到一列
|
|
2241
|
-
- **原因**:没有明确说明不同字段类型的值格式差异
|
|
2242
|
-
- **修正**:明确字段值格式因类型而异
|
|
2243
|
-
- 文本:`[{"type": "text", "text": "内容"}]`
|
|
2244
|
-
- 数字:`25`(直接值,不是数组)
|
|
2245
|
-
- 日期:`"1704067200000"`(毫秒时间戳字符串,不是数组)
|
|
2246
|
-
- 选项:`[{"id": "opt1", "text": "选项", "style": 1}]`
|
|
2247
|
-
|
|
2248
|
-
2. **缺少字段类型与值类型对照表** ❌ → ✅
|
|
2249
|
-
- **问题**:没有明确说明每种字段类型对应的值格式
|
|
2250
|
-
- **修正**:添加完整的字段类型与值类型对照表
|
|
2251
|
-
- **包含**:文本、数字、日期、多选、单选、成员、复选框、进度、电话、邮箱、链接、货币、百分数、条码、地理位置
|
|
2252
|
-
|
|
2253
|
-
3. **添加字段属性不完整** ❌ → ✅
|
|
2254
|
-
- **问题**:缺少各种字段类型的属性说明
|
|
2255
|
-
- **修正**:添加所有 22 种字段类型的属性说明
|
|
2256
|
-
- **包含**:property_number、property_checkbox、property_date_time 等
|
|
2257
|
-
|
|
2258
|
-
4. **更新记录说明不清晰** ❌ → ✅
|
|
2259
|
-
- **问题**:没有明确说明不能更新的字段类型
|
|
2260
|
-
- **修正**:明确指出创建时间、最后编辑时间、创建人、最后编辑人不能更新
|
|
2261
|
-
|
|
2262
|
-
5. **查询记录返回格式不明确** ❌ → ✅
|
|
2263
|
-
- **问题**:没有说明返回的 values 格式
|
|
2264
|
-
- **修正**:添加完整的返回示例,展示正确的 values 格式
|
|
2265
|
-
|
|
2266
|
-
6. **缺少完整使用流程** ❌ → ✅
|
|
2267
|
-
- **问题**:没有从创建到使用的完整示例
|
|
2268
|
-
- **修正**:添加 6 步完整使用流程(创建→添加字段→添加记录→查询→更新→删除)
|
|
2269
|
-
|
|
2270
|
-
7. **常见错误排查缺失** ❌ → ✅
|
|
2271
|
-
- **问题**:遇到问题时无法快速定位
|
|
2272
|
-
- **修正**:添加常见错误排查表格,包含问题、原因、解决方案
|
|
2273
|
-
|
|
2274
|
-
#### 新增内容:
|
|
2275
|
-
|
|
2276
|
-
1. **智能表格完整使用流程** - 6 步完整示例
|
|
2277
|
-
2. **字段类型与值类型对照表** - 15 种字段类型的值格式
|
|
2278
|
-
3. **字段类型与属性对照表** - 22 种字段类型的属性说明
|
|
2279
|
-
4. **过滤操作符对照表** - 10 种操作符说明
|
|
2280
|
-
5. **常见错误排查表** - 7 种常见问题及解决方案
|
|
2281
|
-
6. **key_type 参数说明** - 明确两种 key 类型的区别
|
|
2282
|
-
|
|
2283
|
-
#### 优化内容:
|
|
2284
|
-
|
|
2285
|
-
1. **参数说明标准化** - 所有参数都标注了必填/可选、类型、说明
|
|
2286
|
-
2. **使用示例丰富化** - 每个接口都有多个使用示例
|
|
2287
|
-
3. **注意事项分类化** - 按主题分类,便于查找
|
|
2288
|
-
4. **返回值完整化** - 所有接口都有完整的返回值说明
|