快递100 API 技能,用于查询快递物流信息。用户提及快递单号、物流轨迹、查快递、运费估算、预计到达时间、识别快递公司等需求时必须使用。支持功能:查询物流轨迹(query_trace)、识别快递公司(auto_number)、估算运费(estimate_price)、预估送达时间(estimate_delivery_time)。
通过 Node.js 脚本调用快递100 API 接口,实现快递物流查询相关功能。
config.json:配置文件,用于存储 API Key
json
{
"apiKey": "your_api_key_here"
}
KUAIDI100_API_KEY:快递100 API Key(可选,作为备用配置方式)text
script/kuaidi100.js
优先级从高到低:
config.json 中的 apiKey 字段(若已设置且不为空)KUAIDI100_API_KEY(若已设置且不为空)null(使用免费额度)若接口返回内容包含"免费调用额度已耗尽"、"今日免费"、"额度不足"等字样,需告知用户:
今日免费调用额度已耗尽。您可前往 快递100 API 开放平台 注册账号并获取专属 API Key,然后将 Key 更新到配置文件
config.json的apiKey字段中,或设置环境变量KUAIDI100_API_KEY即可继续使用。
触发场景:用户询问某快递单号的物流状态、快递到哪了、轨迹查询等。
参数:
kuaidiNum(必填):快递单号phone(可选):手机号,顺丰速运、顺丰快运、中通快递必填Node.js 调用:
bash
node script/kuaidi100.js queryTrace <快递单号> [手机号]
若手机号为空则省略手机号参数:
bash
node script/kuaidi100.js queryTrace <快递单号>
触发场景:用户想知道某快递单号属于哪家快递公司,或需要在调用其他接口前识别快递公司编码。
参数:
kuaidiNum(必填):快递单号Node.js 调用:
bash
node script/kuaidi100.js autoNumber <快递单号>
触发场景:用户询问从某地寄快递到某地的费用、运费是多少等。
参数:
kuaidicom(必填):快递公司编码(小写),支持:
shunfengjddebangkuaidiyuantongzhongtongshentongyundaemsrecAddr(必填):收件地址,如 广东深圳南山区
sendAddr(必填):寄件地址,如 北京海淀区
weight(必填):重量(kg,不带单位),默认 1
Node.js 调用:
bash
node script/kuaidi100.js estimatePrice <快递公司编码> <收件地址> <寄件地址> [重量]
触发场景:用户寄件前询问预计几天到、送达时间等(尚未寄出,无物流轨迹)。
参数:
kuaidicom(必填):快递公司编码(小写),支持:
圆通 yuantong、中通 zhongtong、顺丰 shunfeng、顺丰快运 shunfengkuaiyun、京东 jd、极兔速递 jtexpress、申通 shentong、韵达 yunda、EMS ems、跨越 kuayue、德邦快递 debangkuaidi、EMS-国际件 emsguoji、邮政国内 youzhengguonei、国际包裹 youzhengguoji、宅急送 zhaijisong、芝麻开门 zhimakaimen、联邦快递 lianbangkuaidi、天地华宇 tiandihuayu、安能快运 annengwuliu、京广速递 jinguangsudikuaijian、加运美 jiayunmeiwuliufrom(必填):出发地,如 广东省深圳市南山区to(必填):目的地,如 北京市海淀区orderTime(可选):下单时间,格式 yyyy-MM-dd HH:mm:ss,默认当前时间expType(可选):业务/产品类型,如 标准快递Node.js 调用:
bash
node script/kuaidi100.js estimateTime <快递公司编码> <出发地> <目的地> [下单时间] [业务类型]
触发场景:用户查询了物流轨迹(query_trace)后,询问还需多久到达、预计几号能到等,通常在 query_trace 之后调用。
参数:
kuaidicom(必填):快递公司编码(同 estimate_time,见上方支持列表)
from(必填):出发地,如 广东省深圳市南山区
to(必填):目的地,如 北京市海淀区
orderTime(必填):取 query_trace 返回的 最早 物流轨迹时间,格式 yyyy-MM-dd HH:mm:ss
logistic(必填):历史物流轨迹 JSON 数组,取自 query_trace 返回数据,格式:
json
[{"time":"2025-12-29 12:43:35","context":"您的快件已到达快递驿站,请及时取件","status":"投柜或驿站"},{"time":"2025-12-29 08:48:27","context":"【河北省承德市隆化县】的郭工正在派件","status":"派件"}]
Node.js 调用:
bash
node script/kuaidi100.js estimateTimeWithLogistic <快递公司编码> <出发地> <目的地> <下单时间> <物流轨迹JSON>
所有接口均直接返回 Markdown 格式内容, 无需额外处理,直接将结果返回给用户即可。
text
用户询问快递还需多久到
→ 1. query_trace 查询物流轨迹(获取快递公司、轨迹数据)
→ 2. estimate_time_with_logistic 预估剩余时间(携带轨迹数据)
→ 返回结果给用户