文档中心
一、接口介绍 二、授权接口 三、业务接口 四、回调接口 五、前端嵌入说明 六、发票接口 七、 附录

免开发寄件组件对接文档

一、接口介绍

本文档面向快递100API开放平台的客户,指导其通过对接寄件H5组件,快速在其应用或网页中集成寄件功能。

对接流程概览:

  1. 获取授权:调用授权接口,获取业务接口的访问凭证(Authorization)。
  2. 导入订单:调用订单导入接口,预填寄件信息,生成任务ID(id)。
  3. 嵌入组件:拼接URL,通过iframe将寄件H5组件嵌入您的页面。
  4. 接收回调:监听回调接口,获取用户下单结果。
  5. 管理订单:根据业务需要,调用取消订单等接口。

组件对接流程

二、授权接口

后续所有业务接口(订单导入、取消订单等)均需在请求头中携带授权凭证(Authorization)。此凭证通过本接口获取,有效期为30分钟,过期后需刷新。

2.1 获取授权凭证

接口地址POST https://api.kuaidi100.com/apisentback/auth/token Content-Typeapplication/json

请求参数

参数名类型必填描述
keyString第三方平台的授权key(由快递100后台提供)
timestampLong当前时间的毫秒时间戳
signString签名,大写MD5加密(加密串:key+secret+timestamp

请求示例

{
  "key": "your_authorized_key",
  "timestamp": 1646819137650,
  "sign": "223C4078B7D664A86D1722FE5E9F5430"
}

响应参数

字段名类型描述
resultBooleantrue:成功;false:失败
returnCodeInteger状态码:200-成功;其他-失败
messageString描述信息
dataObject数据体,包含授权凭证及过期时间

data字段详情:

字段名类型描述
authorizationString授权凭证。后续请求需在Header中携带此值,键为Authorization
expireTimeLong有效时长,单位:毫秒(默认1800000,即30分钟)

响应示例

{
  "result": true,
  "returnCode": 200,
  "message": "SUCCESS",
  "data": {
    "authorization": "gmtCe4eee9xuBdxKjWdBo_kLA4jGjvBWfBTtcvjMblAcZ_654564543mUSk",
    "expireTime": 1800000
  }
}

凭证使用方法: 将data.authorization的值放入后续请求的Header中:

Authorization: gmtCe4eee9xuBdxKjWdBo_kLA4jGjvBWfBTtcvjMblAcZ_dYYvmGjNXyEmUSk

2.2 刷新授权凭证

授权凭证(authorization)默认有效期为30分钟。在有效期内,您可以通过本接口刷新凭证,获取新的authorizationexpireTime

接口地址https://api.kuaidi100.com/apisentback/auth/refresh

请求方式POSTGET

Content-Typeapplication/json

请求头

字段名必填类型描述
AuthorizationString待刷新的授权凭证(即将过期的凭证)

请求示例(无请求体,仅携带Header):

Authorization: gmtCe4eee9xuBdxKjWdBo_kLA4jGjvBWfBTtcvjMblAcZ_dYYvmGjNXyEmUSk

响应参数

字段名类型描述
resultBooleantrue:成功;false:失败
returnCodeInteger返回状态码:200-成功;其他-失败
messageString返回描述信息
dataObject数据体内容,包含新的授权凭证及过期时间

data字段内容

字段名类型描述
authorizationString新的授权凭证。后续业务接口需使用此新凭证
expireTimeLong新凭证的有效时长,单位:毫秒

响应示例

{
  "result": true,
  "returnCode": 200,
  "message": "SUCCESS",
  "data": {
    "authorization": "gmtCe4eee9xuBdxKjWdBo_kLA4jGjvBWfBTtcvjMblAcZ_dYYvmGjNXyEmUSk",
    "expireTime": 1800000
  }
}

三、业务接口

3.1 寄件信息预导入接口

在用户进入H5组件前,通过此接口预填寄件人、收件人、物品等信息,简化用户操作。

接口地址POST https://api.kuaidi100.com/apisentback/border/importOrderInfo Content-Typeapplication/json

请求参数

参数名类型必填描述
keyString授权码,请到快递100页面申请企业版接口获取
signString32位大写签名,用于验证身份。加密顺序:MD5(param + t + key + secret),不需要加“+”号。secret在企业管理后台获取
tString时间戳,例如:1576123932000
paramStringJSON字符串,由具体订单字段拼接而成,数据结构见下表

param数据结构

参数名必填类型说明
thirdOrderIdString第三方订单号,请确保唯一性,用于后续订单状态回调时匹配
kuaidiComString快递公司编码,小写字母,例如:yuantong。详见《快递公司编码》
recNameString收件人姓名
recMobileString收件人手机号码
recPrintAddrString收件人详细地址(含省市区+街道门牌)
sendPrintAddrString发件人详细地址(含省市区+街道门牌)
sendNameString发件人姓名
sendMobileString发件人手机号码
callbackUrlString回调地址,用于接收订单状态变更通知。若不传,则使用快递100后台配置的默认地址
cargoString物品名称
weightString物品总重量,单位:KG
remarkString备注信息
payerString运费支付方:1-用户支付,2-平台支付,默认为1
valinsPayString保价额度,单位:元,默认为0。当前仅京东、德邦、圆通、极兔、申通支持线上保价,其他快递公司传值无效

请求示例

{
  "key": "your_key",
  "t": "1750317297077",
  "sign": "28E47AC27E283D09CDD6BC623CD23E3F",
  "param": "{\"thirdOrderId\":\"123456\",\"kuaidiCom\":\"yuantong\",\"recName\":\"张三\",\"recMobile\":\"13800138000\",\"recPrintAddr\":\"上海市浦东新区xx路1号\",\"sendPrintAddr\":\"广东省深圳市南山区xx路2号\",\"sendName\":\"李四\",\"sendMobile\":\"13900139000\",\"cargo\":\"文件\",\"weight\":\"0.5\",\"payer\":1,\"callbackUrl\":\"https://your.domain.com/callback\"}"
}

响应参数

字段名类型描述
resultBooleantrue:成功;false:失败
returnCodeString状态码:200-成功;其他-失败
messageString描述信息
dataString任务ID,用于拼接H5寄件链接

响应示例

{
  "result": true,
  "returnCode": "200",
  "message": "成功",
  "data": "111111"
}

3.2 取消订单接口

通过此接口取消用户已下单但快递员尚未取件的订单。

接口地址POST https://api.kuaidi100.com/apisentback/ent/cancelOrder Content-Typeapplication/x-www-form-urlencoded

请求参数

参数名必填类型说明
keyString授权码
tString时间戳
signString32位大写签名,用于验证身份。加密顺序:MD5(param + t + key + secret),不需要加“+”号。secret在企业管理后台查看
paramStringJSON字符串,包含取消信息,数据结构见下表

param数据结构

参数名必填类型说明
orderIdString快递100平台生成的订单ID
cancelMsgString取消原因(100字以内)

请求示例

key=your_key
sign=4BBDE07660E5EFF90873642CFAE9A8DD
t=1647258957705
param={"orderId":"694509391680","cancelMsg":"用户取消"}

响应参数

字段名类型描述
resultBooleantrue:处理成功;false:失败
returnCodeString状态码
messageString描述信息
dataObject成功时返回“成功”,失败返回null

响应示例

{
  "result": true,
  "returnCode": "200",
  "message": "SUCCESS",
  "data": "成功"
}

四、回调接口

4.1 订单状态回调

用户通过H5组件下单后,订单状态发生变更(下单成功、快递员接单、取消、签收等)时,快递100服务器会向您在导入订单接口传入的回调地址(callbackUrl)推送订单状态。

推送方式POST Content-Typeapplication/x-www-form-urlencoded

回调参数

参数名类型必填说明
taskIdString任务ID(对应导入接口返回的data
paramStringJSON字符串,包含订单最新状态,数据结构见下表
signString签名,MD5(param)(用于校验回调请求合法性)

param数据结构

字段名必填类型说明
kuaidicomString快递公司编码
kuaidinumString快递单号
statusString状态码(如:200
messageString状态描述
dataObject订单详情,包含状态、运费、快递员信息等

data数据结构

字段名必填类型说明
orderIdString快递100平台订单ID
statusInt订单状态说明:
0-下单成功;1-已接单;2-收件中;9-用户主动取消;10-已取件;11-揽货失败;12-已退回;13-已签收;14-异常签收;15-已结算;99-订单已取消;101-运输中;200-已出单;201-出单失败;610-下单失败;155-修改重量(需在工单系统发起异常反馈并由快递100服务人员确认调重后才有此回调,回调内容包含修改重量后的重量、运费、费用明细、业务类型);166-订单复活(订单被取消但包裹已发出,正常计费);400-派送中
cancelMsg9String用户取消原因(状态为9时返回)
cancelMsg99String系统取消或下单失败原因(状态为99610时返回)
courierNameString快递员姓名
courierMobileString快递员电话
netTelString网点电话,目前仅圆通会推送
netCodeString网点编码,目前仅圆通会推送
serviceTypeString开单类型
weightString计费重量,单位:kg
defPriceString标准运费,单位:元
freightString折后运费,单位:元
volumeString体积,单位:cm³
actualWeightString称重重量,单位:kg
feeDetailsList费用明细列表
feeTypeString费用类型
feeDescString费用名称
amountString费用明细金额,单位:元
payStatusInt支付状态:-1-支付失败;0-未支付;1-已支付;2-无需支付;3-已退款
printTaskIdString打印任务ID
labelString面单短链,下单请求中returnType20时返回
pickupCodeString取件码,目前仅中通、申通、极兔、快递100智选会返回,在状态1时返回
pollTokenString查询密钥,调用实时快递查询接口时入参此字段可免费查询该快递单号,一个快递单号对应一个密钥
thirdOrderIdString第三方平台订单号,最大32位,通过下单接口传入

回调请求示例

sign=58686F006D7860706188314BF3BCEC02
taskId=58686F006D7860706188314BF3BCEC08
param={
    "data": {
        "courierName": "向力军",
        "defPrice": null,
        "mktId": null,
        "orderId": "288222524",
        "courierMobile": "1772***105",
        "price": null,
        "freight": null,
        "weight": null,
        "pollToken": "0DnLJY3be0zNp71yJ7XWWK0mhNys4teXATSL1+3Fn7Y=",
        "status": 9
    },
    "kuaidicom": "shentong",
    "kuaidinum": "772042264852909",
    "message": "成功",
    "status": "200"
}

您需返回的响应: 接收到回调后,请返回如下JSON,告知快递100服务器已成功接收。

{
  "result": true,
  "returnCode": "200",
  "message": "SUCCESS"
}

五、前端嵌入说明

5.1 H5链接拼接规则

通过iframe嵌入寄件H5组件,URL拼接规则如下:

https://m.kuaidi100.com/h5activities/apiReverseShipping/?key=<授权凭证>&id=<任务ID>&hideTitleBar=1

Query参数说明

参数名必填类型描述
keyString授权凭证:拼接2.1章节接口返回的authorization
idString任务ID:拼接3.1章节接口返回的data(即导入的任务ID)
hideTitleBarString是否隐藏标题栏:1-隐藏,0-显示(默认)

5.2 示例代码

<iframe 
  src="https://m.kuaidi100.com/h5activities/apiReverseShipping/?key=gmtCe4eee9xuBdxKjWdBo_kLA4jGjvBWfBTtcvjMblAcZ_654564543mUSk&id=111111&hideTitleBar=1" 
  width="100%" 
  height="800px" 
  frameborder="0">
</iframe>

效果示意图效果示意图

六、发票接口

针对寄件订单寄件人直接支付运费场景,平台提供线上开票功能,支持单笔或多笔订单合并申请发票。请注意,寄件金支付订单无法使用此接口开票,请联系快递100商务处理。

6.1 开票申请接口

提交开票申请,最多支持 10笔订单 合并开票。开票成功后,系统会主动回调您传入的 callbackUrl

接口地址POST https://api.kuaidi100.com/apisentback/invoice/apply

Content-Typeapplication/x-www-form-urlencoded

请求参数

参数名类型必填说明
keyString客户授权 key(企业管理后台获取)
signString32位大写签名,加密顺序:MD5(param + t + key + secret),不需要加“+”号。key,secret在企业管理后台查看
tString时间戳,例如:1747200000
paramString业务参数,JSON格式字符串,结构见下表

param 参数结构

参数名类型必填说明
importOrderIdList快递100平台订单ID列表(来源于回调或订单查询),最多10笔合并开票
invoiceTypeInteger发票类型:1 - 电子普通发票,2 - 增值税专用发票
titleTypeInteger抬头类型:1 - 企业,2 - 个人/非企业
titleString发票抬头
taxNoString企业税号(抬头类型为 1(企业)时必填)
remarkString备注,不超过100字符
callbackUrlString回调地址,用于接收开票状态通知,不超过100字符。若不传,则使用后台默认回调地址

请求示例

POST /invoice/apply
Content-Type: application/x-www-form-urlencoded

key=your_key&sign=sign_value&t=1747200000&param={"importOrderId":["ORDER001","ORDER002"],"invoiceType":1,"titleType":1,"title":"测试企业","taxNo":"91110000MA00XXXXXX","remark":"测试开票","callbackUrl":"https://your-domain.com/callback"}

响应参数

字段名类型说明
resultBooleantrue - 成功,false - 失败
codeInteger状态码,200 表示成功
messageString返回描述信息
dataObject返回数据,详见下表

data 结构

字段名类型说明
taskIdString发票任务ID,后续查询及回调识别用
pdfUrlStringPDF版式文件下载地址(仅开票成功后立即返回,否则为空,需等待回调)
ofdUrlStringOFD版式文件下载地址(同上)
xmlUrlStringXML结构化数据下载地址(同上)

响应示例

{
    "result": true,
    "code": 200,
    "message": "成功",
    "data": {
        "taskId": "123456789",
        "pdfUrl": "https://example.com/invoice/123.pdf",
        "ofdUrl": "https://example.com/invoice/123.ofd",
        "xmlUrl": "https://example.com/invoice/123.xml"
    }
}

6.2 发票详情接口

根据开票申请返回的 taskId 查询发票最新状态及下载链接。

接口地址POST https://api.kuaidi100.com/apisentback/invoice/detail

Content-Typeapplication/x-www-form-urlencoded

请求参数

参数名类型必填说明
keyString客户授权 key
signString32位大写签名
tString时间戳
paramString业务参数,JSON格式字符串,结构见下表

param 参数结构

参数名类型必填说明
taskIdString发票任务ID

请求示例

POST /invoice/detail
Content-Type: application/x-www-form-urlencoded

key=your_key&sign=sign_value&t=1747200000&param={"taskId":"123456789"}

响应参数

字段名类型说明
resultBooleantrue - 成功,false - 失败
codeInteger状态码,200 表示成功
messageString返回描述信息
dataObject发票详情,结构见下表

data 结构

字段名类型说明
taskIdString发票任务ID
pdfUrlStringPDF下载地址
ofdUrlStringOFD下载地址
xmlUrlStringXML下载地址
statusInteger开票状态:0 - 开票中,1 - 已开票,2 - 开票失败
failReasonString失败原因(仅在 status=2 时返回)
invoiceAmountString发票金额(单位:元)
titleString发票抬头
titleTypeInteger抬头类型:1 - 企业,2 - 个人/非企业
taxNoString企业税号(企业抬头时返回)
remarkString备注
invoiceTypeInteger发票类型:1 - 电子普通发票,2 - 增值税专用发票

响应示例

{
    "result": true,
    "code": 200,
    "message": "成功",
    "data": {
        "taskId": "123456789",
        "pdfUrl": "https://example.com/invoice/123.pdf",
        "ofdUrl": "https://example.com/invoice/123.ofd",
        "xmlUrl": "https://example.com/invoice/123.xml",
        "status": 1,
        "invoiceAmount": "100.00",
        "title": "测试企业",
        "titleType": 1,
        "taxNo": "91110000MA00XXXXXX",
        "remark": "测试开票",
        "invoiceType": 1
    }
}

6.3 发票状态回调

当您提交开票申请时指定了 callbackUrl,平台将在开票状态变更(开票成功、开票失败)时,以 HTTP POST 方式主动向该地址推送通知。

推送方式POST

Content-Typeapplication/x-www-form-urlencoded

回调参数

参数名类型必填说明
taskIdString发票任务ID
signString签名,值为 param 参数的 MD5 值(用于校验回调合法性),即MD5(param)
paramString回调数据,JSON格式字符串,内容见下表

param 参数结构

字段名类型说明
taskIdString发票任务ID
statusInteger发票状态:0 - 开票中,1 - 已开票,2 - 开票失败
pdfUrlStringPDF下载地址(status=1 时返回)
ofdUrlStringOFD下载地址
xmlUrlStringXML下载地址
failReasonString失败原因(status=2 时返回)

回调请求示例

POST https://your-domain.com/callback
Content-Type: application/x-www-form-urlencoded

param={"taskId":"123456789","status":1,"pdfUrl":"https://example.com/invoice/123.pdf","ofdUrl":"https://example.com/invoice/123.ofd","xmlUrl":"https://example.com/invoice/123.xml"}&sign=md5_hash_value&taskId=123456789

您需返回的响应
接收到回调后,请返回以下 JSON,告知平台已成功接收。

{
    "result": true,
    "code": 200,
    "message": "成功"
}
字段名类型说明
resultBoolean必须返回 true,表示接收成功
codeInteger状态码,建议返回 200
messageString返回消息

重试机制:若您返回的 result 不为 true 或 HTTP 状态码非 200,系统会在 5分钟 后重试,最多重试 3次

七、 附录

7.1 全局状态码说明

状态码信息内容描述原因及建议处理方式
200提交成功请求已成功处理
400参数错误请根据技术文档检查参数类型、格式及必填性
500服务器错误快递100服务器出现临时性异常;若持续出现,请检查请求参数是否合法(如快递公司编码错误)
501重复提交同一请求已在处理中,请勿重复提交
503验证签名失败请检查加密方式:按param + t + key + secret顺序进行MD5加密,加密后字符串转大写,不要加“+”号
600您不是合法的用户授权Key错误或账户无可用余额,需要充值
601KEY已过期账户余额不足,需要充值
700错误的回调地址检查回调地址是否可公网访问,或联系快递100工作人员

7.2 快递公司编码(常用示例)

快递公司编码
圆通速递yuantong
申通快递shentong
中通快递zhongtong
韵达快递yunda
京东快递jd
顺丰速运shunfeng

更多编码见快递100官网:https://api.kuaidi100.com/manager/v2/express-company