【快递员上门取件API接口对接-退换货下单预约取件接口】

一、接口介绍

发现一个非常好用的上门取件 API 接口——快递 100 商家寄件 API。通过这个接口提交寄件请求,可以直接下单至各快递公司,实现快递员上门取件,下单还可以享运费折扣

这个接口支持国内主流快递公司如 EMS、德邦、京东、极兔、圆通、申通、中通、韵达下单,也就不需要逐家接口对接了。

适用场景:电商退换货用户可以在 APP 上一键退货并自选上门取件的时间;二手回收;发货量较小,无月结账号的微商发货;品牌商家门店发货或门店调拨。

image-20241219020736886

二、 接口测试与对接指南

登录地址: https://api.kuaidi100.com/login/

在对接快递 100 预约上门取件接口前,我们需要完成以下步骤:

注册与获取 API Key

前往快递 100API 开放平台注册账号。 联系客户经理充值运费,获取 API Key 和 Secret。

1、商家寄件(下单价格)

注意:下单价格就是可以查看到下单的预估价格,然后还有折扣的价格

1.1 请求地址

提供统一格式的 HTTP POST 或 GET 调用接口,并返回统一格式 JSON 数据。

https://poll.kuaidi100.com/order/borderapi.do

1.2 请求参数:

参数名是否必填类型说明
methodstring业务类型(默认:price)
keystring授权码,请到快递 100 页面申请企业版接口获取
signstring32 位大写,签名,用于验证身份,按 MD5 (param +t+key+ secret)的顺序进行 MD5 加密,不需要加上“+”号 secret 在授权邮件里面有
tstring时间戳如:1576123932000
paramparam由其他字段拼接

param 数据结构:

参数名是否必填类型说明
kuaidiComstring快递公司编码
sendManPrintAddrstring出发地地址,最小颗粒到市级,例如:广东省深圳市
recManPrintAddrstring目的地地址,最小颗粒到市级,例如:广东省深圳市
weightstring重量,单位:kg,默认:1KG
serviceTypestring业务类型
channelSwstring渠道 ID,如有多个同品牌运力,请联系商务提供后传入

1.3 返回结果

字段类型说明备注
resultboolean提交结果true 提交成功,false 失败
returnCodestring返回编码
messagestring返回报文描述
datadata运力对象

data 数据结构:

参数名类型说明
defFirstPricestring标准首重价格,单位:元
defOverPricestring标准续重价格,单位:元
defPricestring标准总价,单位:元
firstPricestring折后首重价格,单位:元
overPricestring折后续重价格,单位:元
pricestring折后总价,单位:元
serviceTypestring业务类型

1.4 提供数据内容

请求参数示例

method = price
key = ******
sign = 4BBDE07660E5EFF90873642CFAE9A8DD
t = 1647258957705
param = {
    "kuaidicom": "yuantong",
    "sendManPrintAddr": "杭州市西湖区东三十马路",
    "recManPrintAddr": "黑龙江哈尔滨南岗区一匡小区",
    "weight": "1",
    "serviceType": "标准快递"
}

返回结果示例

{
  "data": {
    "firstPrice": "8.0",
    "defPrice": "8.0",
    "defFirstPrice": "8.0",
    "price": "8.0",
    "serviceType": "标准快递",
    "overPrice": "0",
    "defOverPrice": "0",
    "kuaidiCom": "zhongtong"
  },
  "message": "成功",
  "result": true,
  "returnCode": "200"
}

说明:

信息代码信息内容描述原因及建议处理方式
200提交成功提交成功
400参数错误等请根据技术文档请求,注意参数类型及是否必填
500服务器错误快递 100 的服务器出理间隙或临时性异常,有时如果因为不按规范提交请求,比如快递公司参数写错等,也会报此错误
503验证签名失败请检查加密方式,param + t + key + secret 的顺序进行 MD5 加密,加密后字符串转大写,不用加上“+”号
600您不是合法的用户(即授权 Key 出错)账号无可用余额,需要充值
601KEY 已过期账号无可用余额,需要充值

1.5 Python 测试代码和测试结果

测试代码
# coding = utf-8
import hashlib
import json
import time
import requests


def do_request(url, key, secret, method, t, param):
    md = hashlib.md5()
    md.update((param + t + key + secret).encode())
    sign = md.hexdigest().upper()
    payload = {
        'key': key,
        'method': method,
        't': t,
        'param': param,
        'sign': sign
    }
    return requests.post(url, payload).text


if __name__ == '__main__':
    key = ''  # TODO 客户授权key
    secret = ''  # TODO 秘钥
    url = 'https://poll.kuaidi100.com/order/borderapi.do'  # 请求地址
    method = 'price'


    param = {
        "kuaidiCom": "yuantong",
        "sendManPrintAddr": "杭州市西湖区东三十马路",
        "recManPrintAddr": "黑龙江哈尔滨南岗区一匡小区",
        "weight": "",
        "serviceType": ""
    }
    t = str(int(round(time.time() * 1000)))
    result = do_request(url, key, secret, method, t, json.dumps(param))
    print(result)


测试数据

image-20241218132142538

测试结果

image-20241218183403650

测试结果概述:returnCode=200 表示接口请求成功。具体返回信息如下表:

参数名内容说明
defFirstPrice15.00标准首重价格,单位:元
defOverPrice0.0标准续重价格,单位:元
defPrice15.00标准总价,单位:元
firstPrice6.50折后首重价格,单位:元
overPrice0.0折后续重价格,单位:元
price6.50折后总价,单位:元
serviceType标准快递业务类型

注意:具体返回数据以接口实时返回数据为主。

2、商家寄件(下单)

选择快递公司进行下单,可以预约上门取件时间。

2.1 接口格式

提供统一格式的 HTTP POST 或 GET 调用接口,并返回统一格式 JSON 数据。

2.2 请求地址

正式请求地址:https://poll.kuaidi100.com/order/borderapi.do(订单将推至快递公司)

沙箱请求地址:https://api.kuaidi100.com/apiMock/border(订单将不推至快递公司:沙箱下单后,可通过:调试工具-商家寄件-下单回调,调试订单各阶段状态。)

请求参数:

参数名是否必填类型说明
methodstring业务类型(默认:bOrder)
keystring授权码,请到快递 100 页面申请企业版接口获取
signstring32 位大写签名,用于验证身份,按 MD5 (param +t+key+ secret)的顺序进行 MD5 加密,不需要加上“+”号。secret 在企业管理后台获取
tstring时间戳如:1576123932000
paramparam由其他字段拼接

param 数据结构:

参数名是否必填类型说明
kuaidicomstring快递公司的编码,一律用小写字母,见《快递公司编码》
recManNamestring收件人姓名
recManMobilestring收件人的手机号,手机号和电话号二者其一必填
recManPrintAddrstring收件人所在完整地址,如广东深圳市深圳市南山区科技南十二路 2 号金蝶软件园
sendManNamestring寄件人姓名
sendManMobilestring寄件人的手机号,手机号和电话号二者其一必填
sendManPrintAddrstring寄件人所在的完整地址,如广东深圳市深圳市南山区科技南十二路 2 号金蝶软件园 B10
callBackUrlstringcallBackUrl 订单信息回调地址
cargostring物品名称,例:文件。当 kuaidicom=jd,yuantong 时,必填
paymentstring支付方式,SHIPPER: 寄付(默认)。不支持到付
serviceTypestring业务类型,默认为标准快递,各快递公司业务类型对照参考:七、业务类型参数表
weightstring物品总重量 KG,不需带单位,例:1.5
remarkstring备注
dayTypestring预约日期,例如:今天/明天/后天
pickupStartTimestring预约起始时间(HH:mm),例如:09:00,顺丰必填
pickupEndTimestring预约截止时间(HH:mm),例如:10:00,顺丰必填,预约起始时间和预约截止时间间隔需 ≥1 小时;中通有严格要求:需要严格按照五个时间段 9:00-11:00、11:00-13:00、13:00-15:00、15:00-17:00、17:00-19:00 进行预约时间的传参,超过 19 点,自动预约第二天的时间;
channelSwstring渠道 ID,如有多个同品牌运力,请联系商务提供后传入
下单扩展属性
valinsPaystring保价额度,单位:元 (当前仅京东、德邦、圆通、极兔和申通支持线上保价,其他快递传值无效,具体费率可咨询商务)
realNamestring寄件人实名信息(圆通、极兔支持 )
sendIdCardTypestring寄件人证件类型,1:居民身份证 ;2:港澳居民来往内地通行证 ;3:台湾居民来往大陆通行证 ;4:中国公民护照(圆通、极兔支持 )
sendIdCard寄件人证件号码 (圆通、极兔支持 )
passwordSigningstring是否口令签收,Y:需要 N: 不需要,默认值为 N(德邦快递专属参数)
opstring是否开启订阅功能 0:不开启(默认) 1:开启 说明开启订阅功能时:pollCallBackUrl 必须填入 此功能只针对有快递单号的单
pollCallBackUrlstring如果 op 设置为 1 时,pollCallBackUrl 必须填入,用于跟踪回调,回调内容通过五、快递信息推送接口返回(免费服务)
resultv2string添加此字段表示开通行政区域解析功能 。 0:关闭(默认) 1:开通行政区域解析功能以及物流轨迹增加物流状态名称 (详见:快递信息推送接口文档) 3:开通行政区域解析功能以及物流轨迹增加物流状态名称,同时返回地图内容(详见:地图轨迹推送接口文档)
returnTypestring面单返回类型,默认为空,不返回面单内容。10:设备打印,20:生成图片短链回调。
siidstring设备码,returnType 为 10 时必填
tempidstring模板编码,通过管理后台的电子面单模板信息获取 ,returnType 不为空时必填
printCallBackUrlstring打印状态回调地址,returnType 为 10 时必填
saltstring签名用随机字符串,用于验证签名 sign。salt 值不为 null 时,推送数据将包含该加密签名,加密方式:md5(param+salt)。注意: salt 值为空串时,推送的数据也会包含 sign,此时可忽略 sign 的校验。
thirdOrderIdstring平台订单号,最大 32 位。若此参数与之前的重复,48 小时内返回第一次下单内容,否则会重新下单。

2.3 返回结果

字段类型说明备注
resultboolean提交结果true 提交成功,false 失败
returnCodestring返回编码
messagestring返回报文描述
datadata

data 数据结构

字段类型说明备注
taskIdstring任务 ID
orderIdstring订单 ID
kuaidinumstring快递单号
pollTokenstring查询密钥,调用实时快递查询接口时入参此字段可免费查询该快递单号,一个快递单号对应一个密钥
eOrderstring快递面单附属属性,根据各个快递公司返回属性

eOrder 数据结构

字段类型说明备注
bulkpenstring大头笔用于显示于电子面单上规定位置,非必需,是否有值取决于快递公司
orgCodestring始发地区域编码
orgNamestring始发地/始发网点名称
destCodestring目的地区域编码
destNamestring目的地/到达网点
orgSortingCodestring始发分拣编码
orgSortingNamestring始发分拣名称
destSortingCodestring目的分栋编码
destSortingNamestring目的分栋中心名称
orgExtrastring始发其他信息
destExtrastring目的其他信息
pkgCodestring集包编码
pkgNamestring集包地名称
roadstring路区
qrCodestring二维码
kdComOrderNumstring快递公司订单号
expressCodestring快递业务类型编码
expressNamestring快递业务类型名称
waterMarkstring水印
agingNamestring时效
abFlagstring电子产品类型图标
proCodestring时效产品图标
codingMappingstring进港映射码
codingMappingOutstring出港信息
printIconstring图标名称
destRouteLabelstring目的地(路由信息)
twoDimensionCodestring二维码信息
xbFlagstring顺丰面单标识,快运必填,xbFlag=1,打印 SX 标;xbFlag=2,打印融通标

注意:eOrder 实际返回的字段各家快递公司不同,以实际返回为准

2.4 提供数据内容

请求参数示例

method = bOrder
key = ******
sign = 4BBDE07660E5EFF90873642CFAE9A8DD
t = 1647258957705
param = {
    "kuaidicom": "yuantong",
    "recManName": "王超",
    "recManMobile": "13800138000",
    "recManPrintAddr": "西藏日喀则市定日县珠穆朗玛峰",
    "sendManName": "王大",
    "sendManMobile": "13800138000",
    "sendManPrintAddr": "西藏日喀则市定日县珠穆朗玛峰",
    "cargo": "文件",
    "callBackUrl": "http: //www.baidu.com",
    "payment": "SHIPPER",
    "serviceType": "标准快递",
    "weight": "1",
    "remark": "",
    "salt": "",
    "dayType": "",
    "pickupStartTime": "",
    "pickupEndTime": "",
    "passwordSigning": "Y",
    "valinsPay": "",
    "op": "0",
    "pollCallBackUrl": "",
    "resultv2": "0",
    "returnType": "",
    "siid": "",
    "tempid": "",
    "printCallBackUrl": ""
}

返回结果示例

{
    "result": true,
    "returnCode": "200",
    "message": "提交成功",
    "data": {
        "taskId": "", // 任务ID
        "orderId": "" // 订单ID
        "kuaidinum": "" // 快递单号
        "eOrder": "[\"destName\":null,\"orgName\":null,\"pkgCode\":null,\"pkgName\":null,\"bulkpen\":\"上海-S33-K27-P\",\"orgExtra\":null}]"
    }
}

说明:

信息代码信息内容描述原因及建议处理方式
200提交成功提交成功
400参数错误等请根据技术文档请求,注意参数类型及是否必填
500服务器错误快递 100 的服务器出理间隙或临时性异常,有时如果因为不按规范提交请求,比如快递公司参数写错等,也会报此错误
501重复提交重复提交了请求
503验证签名失败请检查加密方式,param + t + key + secret 的顺序进行 MD5 加密,加密后字符串转大写,不用加上“+”号
600您不是合法的用户(即授权 Key 出错)账号无可用余额,需要充值
601KEY 已过期账号无可用余额,需要充值
700错误的回调地址检查回调地址,或者联系快递 100 工作人员

2.5 python 测试代码和测试结果

测试代码
# coding = utf-8
import hashlib
import json
import time
import requests


def do_request(url, key, secret, method, t, param):
    md = hashlib.md5()
    md.update((param + t + key + secret).encode())
    sign = md.hexdigest().upper()
    payload = {
        'key': key,
        'method': method,
        't': t,
        'param': param,
        'sign': sign
    }
    return requests.post(url, payload).text


if __name__ == '__main__':
    key = '********'  # TODO 客户授权key
    secret = '********'  # TODO 秘钥
    url = 'https://poll.kuaidi100.com/order/borderapi.do'  # 请求地址
    method = 'bOrder'


    param = {
        "kuaidicom": "shentong",
        "recManName": "李四",
        "recManMobile": "15045666312",
        "recManPrintAddr": "黑龙江哈尔滨南岗区一匡小区",
        "sendManName": "张三",
        "sendManMobile": "15045666311",
        "sendManPrintAddr": "杭州市西湖区东三十马路",
        "cargo": "书籍",
        "callBackUrl": "http://meihua150.cn/reback",
        "payment": "",
        "serviceType": "",
        "weight": "",
        "remark": "",
        "salt": "",
        "dayType": "",
        "pickupStartTime": "",
        "pickupEndTime": "",
        "passwordSigning": "N",
        "valinsPay": "",
        "op": "0",
        "pollCallBackUrl": "",
        "resultv2": "0"
    }
    t = str(int(round(time.time() * 1000)))
    result = do_request(url, key, secret, method, t, json.dumps(param))
    print(result)
    # {"data":{"kuaidinum":"YT2213099035201","orderId":"20066771","attach":null,"taskId":"9FC293CA417E431F33046E64F4C4EC20"},"message":"提交成功","result":true,"returnCode":"200"}


测试数据

image-20241218132229381

测试结果

image-20241217213450004

测试结果概述:returnCode=200 表示接口请求成功。具体返回信息如下表:

字段内容说明
taskIdEFCC9B7835C226766E2BC9AE1E420593任务 ID
orderId229206462订单 ID
kuaidinum772035537682325快递单号
pollTokenKsofHmxy3xoaqYjoV1zb+49aRtW/04Z9rEMtlTg2pqU="查询密钥,调用实时快递查询接口时入参此字段可免费查询该快递单号,一个快递单号对应一个密钥
attachnull额外信息标签

注意:具体返回数据以接口实时返回数据为主。

3、商家寄件(下单取消)

对下完单且取件前的订单进行取消操作。对于不需邮寄的订单请及时进行取消,当月订单最晚需在次月 8 日前取消,否则将无法取消。

3.1 接口格式

提供统一格式的 HTTP POST 或 GET 调用接口,并返回统一格式 JSON 数据。

3.2 请求地址

https://poll.kuaidi100.com/order/borderapi.do

请求参数:

参数名是否必填类型说明
methodstring业务类型(默认:cancel)
keystring授权码,请到快递 100 页面申请企业版接口获取
signstring32 位大写,签名,用于验证身份,按 MD5 (param +t+key+ secret)的顺序进行 MD5 加密,不需要加上“+”号 secret 在授权邮件里面有
tstring时间戳如:1576123932000
paramparam由其他字段拼接

param 数据结构:

参数名是否必填类型说明
taskIdstring任务 ID
orderIdstring订单 ID
cancelMsgstring取消原因,例:暂时不寄件了,最大长度不超过 30 字符

3.3 返回结果

字段类型说明备注
resultboolean提交结果true 提交成功,false 失败
returnCodestring返回编码
messagestring返回报文描述
datadata这里默认为空

3.4 提供数据内容

请求参数示例

method = cancel
key = ******
sign = 4BBDE07660E5EFF90873642CFAE9A8DD
t = 1647258957705
param = {
    "taskId": "*****",
    "orderId": "*****",
    "cancelMsg": "暂时不寄件了"
}

返回结果示例

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

说明:

信息代码信息内容描述原因及建议处理方式
200提交成功提交成功
400参数错误等请根据技术文档请求,注意参数类型及是否必填
500服务器错误快递 100 的服务器出理间隙或临时性异常,有时如果因为不按规范提交请求,比如快递公司参数写错等,或者对已取消的订单重复操作取消,也会报此错误
501重复提交重复提交了请求
503验证签名失败请检查加密方式,param + t + key + secret 的顺序进行 MD5 加密,加密后字符串转大写,不用加上“+”号
600您不是合法的用户(即授权 Key 出错)账号无可用余额,需要充值
601KEY 已过期账号无可用余额,需要充值
700错误的回调地址检查回调地址,或者联系快递 100 工作人员

3.5 Python 测试代码和测试结果

测试代码
# coding = utf-8
import hashlib
import json
import time
import requests


def do_request(url, key, secret, method, t, param):
    md = hashlib.md5()
    md.update((param + t + key + secret).encode())
    sign = md.hexdigest().upper()
    payload = {
        'key': key,
        'method': method,
        't': t,
        'param': param,
        'sign': sign
    }
    return requests.post(url, payload).text


if __name__ == '__main__':
    key = ''  # TODO 客户授权key
    secret = ''  # TODO 秘钥
    url = 'https://poll.kuaidi100.com/order/borderapi.do'  # 请求地址
    method = 'cancel'


    param = {
        "taskId": "EFCC9B7835C226766E2BC9AE1E420593",
        "orderId": "229206462",
        "cancelMsg": "暂时不寄件了"
    }
    t = str(int(round(time.time() * 1000)))
    result = do_request(url, key, secret, method, t, json.dumps(param))
    print(result)


测试数据

image-20241218132307870

测试结果

image-20241217215001995

测试结果概述:returnCode=200 表示接口请求成功,返回结果为取消成功

注意:具体返回数据以接口实时返回数据为主。

4、商家寄件(下单回调)

订单有状态变更是会触发回调,回调后如果没有得到合作方正确返回,会重复回调多 2 次,即最多回调 3 次。间隔 30 分钟。

上门取件下单成功以后,快递员收到订单,会反馈接单状态,快递 100 会把状态实时推送到我们自己的服务器。

4.1 接口格式

提供统一格式的 HTTP POST,并返回统一格式 JSON 数据。

请求报头:Content-Type=application/x-www-form-urlencoded;charset=UTF-8

4.2 请求地址

请求参数:

字段类型说明备注
taskIdstring任务 ID
signstring签名32 位大写签名,MD5 (param +salt)
paramparam参数主体

param 数据结构:

参数名是否必填类型说明
kuaidicomstring快递公司的编码,一律用小写字母,见《快递公司编码》,选填。
kuaidinumstring快递单号,单号的最大长度是 32 个字符。
statusstring状态码
messagestring状态描述
datadata订单内容

data 数据结构:

参数名是否必填类型说明
orderIdstring平台订单 ID
statusint订单状态说明: 0:‘下单成功’; 1:‘已接单’; 2:‘收件中’; 9:‘用户主动取消’;10:‘已取件’; 11:‘揽货失败’;12:‘已退回’; 13:‘已签收’; 14:‘异常签收’;15:‘已结算’ ;99:‘订单已取消’;101:‘运输中’;200:‘已出单’;201:‘出单失败’;610:‘下单失败’;155:‘修改重量’(注意需要在工单系统中发起异常反馈并由快递 100 服务人员确认调重后才会有此状态回调,回调内容包含修改重量后的重量、运费、费用明细、业务类型);166:订单复活(订单被取消,但是实际包裹已经发出,正常计费);400:派送中
cancelMsg9string用户取消原因
cancelMsg99string系统取消或下单失败原因
courierNamestring快递员姓名
courierMobilestring快递员电话
netTelstring网点电话,目前仅圆通会推送
netCodestring网点编码,目前仅圆通会推送
weightstring计费重量,单位:kg
defPricestring标准运费,单位:元
freightstring折后运费,单位:元
volumestring体积,单位:cm³
actualWeightstring称重重量,单位:kg
ΘfeeDetailslist费用明细,明细项目请展开
└ feeTypestring费用类型,参考:八、费用类型(feeType)说明
└ feeDescstring费用名称
└ amountstring费用明细金额,单位:元
└ payStatusstring支付状态,支付失败:-1;未支付:0;已支付:1 ;无需支付:2;已退款:3
printTaskIdstring打印任务 ID
labelstring面单短链,下单请求中 returnType 为 20 时返回
pickupCodestring取件码,目前只有中通、申通会返回,在状态 1 时返回
pollTokenstring查询密钥,调用实时快递查询接口时入参此字段可免费查询该快递单号,一个快递单号对应一个密钥。

4.3 返回结果

字段说明备注
result提交结果true 提交成功,false 失败
returnCode返回编码
message返回报文描述

4.4 提供数据内容

请求参数示例

taskId = ** ** **
sign = ** ** **
param = {
    "kuaidicom": "yuantong",
    "kuaidinum": "1234567890",
    "status": "200",
    "message": "成功",
    "data": {
        "orderId": "*****",
        "status": "0",
        "courierName": "王大",
        "courierMobile": "13800138000",
        "weight": "1",
        "defPrice": "15.0",
        "freight": "5.1",
        "volume": "120",
        "actualWeight": "1",
        "feeDetails": [{
            "feeType": "PACKAGINGFEE",
            "feeDesc": "包装费",
            "amount": "0.8",
            "payStatus": 1
        }],
        "printTaskId": "*****",
        "imgBase64": "*****"
    }
}

返回结果示例

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

4.5 回调响应报文及错误码解释

字段名称字段含义
resulttrue 表示成功,false 表示失败。如果提交回调接口的地址失败,30 分钟后重新回调,3 次仍旧失败的,自动放弃
returnCode200: 提交成功 500: 服务器错误 其他错误请自行定义
message返回的提示

三、总结

快递 100API 开放平台提供以快递查询、快递在线下单预约上门取件为核心的一系列业务接口,对每个接口的开发文档丰富而全面,并且提供标准的多语言示例代码(Java、Python、PHP、.Net)。上面是对下单价格下单下单取消下单回调接口的应用实例。

通过本文的指南,相信您可以快速完成相关接口对接,并利用这项技术提升用户体验和业务效率。

PHP语言主要用于服务器端脚本开发,要实现顺丰上门取件下单接口,你需要遵循以下几个步骤: 1. **注册顺丰API**:首先,需要访问顺丰官网(https://open.sf-express.com/),注册并获取API密钥和相关的访问凭证。 2. **安装依赖库**:使用PHP,你可以选择使用顺丰官方提供的SDK(如`sfexpress-php-sdk`),或者第三方的封装,例如`guzzlehttp/guzzle`来处理HTTP请求。 3. **编写接口**:创建一个函数,该函数将接收必要的参数,如收寄件人信息、货物详情等,并通过API发送POST请求到顺丰的下单接口URL。 ```php // 示例代片段 use GuzzleHttp\Client; use sfexpress\api\SFEClient; function placeOrder($senderInfo, $receiverInfo, $cargoDetails) { // 初始化SFEClient或Guzzle实例 $client = new SFEClient('<your-api-key>', '<your-secret-key>'); // 设置订单数据 $orderData = [ 'shipper' => $senderInfo, 'consignee' => $receiverInfo, 'cargo' => $cargoDetails, ]; // 调用上门取件下单接口 try { $response = $client->post('orders', ['json' => $orderData]); if ($response->getStatusCode() == 200) { return json_decode($response->getBody(), true); } else { throw new Exception('Failed to place order: ' . $response->getBody()); } } catch (Exception $e) { echo 'Error: ', $e->getMessage(); } } ``` 4. **错误处理**:记得添加适当的错误处理和异常捕获机制,以便在发生网络问题或其他API错误时提供反馈给用户。 5. **测试与文档**:最后,在本地环境或测试环境中测试接口功能,确保一切正常后再部署到生产环境,并生成清晰的API文档供开发者参考。
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kwan的解忧杂货铺@新空间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值