SKILL.md
租赁电子合同回传 Skill
技能概述
本 Skill 提供租赁电子合同回传的全流程操作能力,通过调用支付宝开放平台 API 将已签署的电子合同 PDF 文件上传至租赁行业交易订单。
前置准备
申请条件
重要:
- 需已接入租赁行业交易解决方案
- 不支持沙箱调试,需使用生产环境
使用前请确保已完成:
- 在支付宝开放平台创建应用并签约租赁行业交易解决方案
- 已开通
alipay.open.file.upload和alipay.commerce.rent.additional.upload接口权限 - 获取应用 app_id、应用私钥、支付宝公钥
📖 详细接入流程请参阅 租赁行业交易解决方案
环境变量
所有凭证通过环境变量 ALIPAY_APPS 获取,支持多个应用(key 为 appId):
export ALIPAY_APPS='{
"2021xxx": {
"private_key": "<应用私钥>",
"alipay_public_key": "<支付宝公钥>"
}
}'
多应用示例:
export ALIPAY_APPS='{
"2021xxx": {
"private_key": "MIIEvQ...",
"alipay_public_key": "MIIBIj..."
},
"2022yyy": {
"private_key": "MIIEvQ...",
"alipay_public_key": "MIIBIj..."
}
}'
快速开始
详见 [README.md](./README.md)
完整流程请参阅 [业务流程详解](references/workflow.md)
使用方式
本技能支持三种使用方式:
方式一:交互式引导
用户发起模糊请求时,通过交互式引导逐步完成操作:
用户:电子合同回传
助手:[自我介绍,让用户选择技术咨询或合同回传操作]
详细引导规范请参阅 [交互引导规范](references/interaction-guide.md)
方式二:直接指令
用户可通过明确指令直接调用,跳过交互引导:
| 命令 | 说明 | 示例 |
|---|---|---|
upload |
上传合同文件(每次1个) | upload --app 2021xxx --file /path/to/contract.pdf |
attach |
回传合同至订单(单个file_id) | attach --app 2021xxx --orderid 2025xxx --fileid A*6XqwQKpS1t0xxx |
attach |
回传合同至订单(多个file_id) | attach --app 2021xxx --orderid 2025xxx --fileids "Axxx1,Axxx2" |
full |
完整流程(单个文件) | full --app 2021xxx --order_id 2025xxx --file /path/to/contract.pdf |
full |
完整流程(多个文件) | full --app 2021xxx --order_id 2025xxx --files "/path/a.pdf,/path/b.pdf" |
example |
查看示例报文 | example upload / example attach |
技术咨询类指令: 接入流程、接口文档、错误码、常见问题
方式三:代码集成
用户需要将电子合同回传能力集成到自己的业务系统中时,提供多语言 SDK 代码示例和集成引导。
代码集成类指令: 代码集成、SDK 示例、代码示例、开发接入、集成电子合同回传代码
代码集成工作流
- 技术栈检测:自动检测用户项目的技术栈(检测 pom.xml、package.json、requirements.txt、composer.json、*.csproj 等文件)
- 语言选择确认:如未检测到或检测结果不明确,询问用户使用的开发语言
- 展示代码示例:根据语言展示 SDK 初始化、文件上传、回传接口的完整代码示例
- 集成引导:提示代码示例中的关键注意事项和约束条件
支持的开发语言:Java、Python、Node.js、PHP、.NET
代码示例索引请参阅 [代码示例索引](references/code-examples/interface-guide.md)
业务流程
电子合同回传为两步操作流程:
1.上传合同PDF文件 ──→ 2.回传file_id至租赁订单
│ │
▼ ▼
alipay.open.file.upload alipay.commerce.rent.additional.upload
│ │
▼ ▼
返回 file_id 订单关联成功
详细的流程图及命令示例请参阅 [业务流程详解](references/workflow.md)
文档导航
- [业务流程](references/workflow.md) | [API 参考](references/api-reference.md) | [常见问题](references/faq.md)
- [示例报文](references/examples/) | [字段词典](references/glossary.md) | [交互引导](references/interaction-guide.md)
- [代码示例](references/code-examples/interface-guide.md)(Java / Python / Node.js / PHP / .NET)
- [电子合同回传SOP](references/电子合同回传SOP.md) | [支付宝文件上传接口](references/支付宝文件上传接口.md) | [租赁附加材料上传接口](references/租赁附加材料上传接口.md)
注意事项
- 订单状态要求:回传合同时订单状态需为
SIGNED及之后,且当前在途(未完结/未取消) - 文件格式:仅支持 PDF 格式的电子合同文件,每次上传仅支持 1 个文件
- 文件大小:单文件最大 5MB
- bizcode 固定值:上传文件时
bizcode必须传rentmaterialupload - type 固定值:回传时
type必须传RENT_CONTRACT - 同一订单多合同文件:
fulfillmentadditionalmedialist最多支持 10 条,即 1 个 orderid 最多关联 10 个合同文件
错误处理
接口错误码
| 错误码 | 来源接口 | 错误信息 | 解决方案 |
|---|---|---|---|
SYSTEM_ERROR |
附加材料回传 | 系统繁忙 | 服务器异常,可用同样的请求发起重试 |
INVALID_PARAMETER |
附加材料回传 | 参数有误 | 根据返回的 submsg 修改参数后重试(常见:orderid 不存在、订单状态不符、file_id 无效) |
FILECHECKFAIL |
文件上传 | 文件MD5校验失败 | 确认MD5值正确后重试 |
脚本自定义错误码
| 错误码 | 触发条件 | 解决方案 |
|---|---|---|
CONFIG_ERROR |
ALIPAY_APPS 环境变量缺失或格式错误 | 检查 ALIPAYAPPS 是否已正确设置,key 为 appId,包含 privatekey 和 alipaypublickey |
更多问题请参阅 [常见问题](references/faq.md)