文档中心
FedEx授权说明

FedEx授权说明

FedEx授权分发票验证PIN码验证两种模式,可根据您是否有FedEx发票进行选择。

一、发票验证模式

适合有 FedEx 发票在手的用户,以发票号作为验证凭证,一步完成

  1. 调用 /fedex/authOne 接口,传入 needInvoice=true 以及相关发票信息
  2. 系统依次校验地址信息和发票有效性
  3. 验证通过后,直接返回 childKeychildSecret
POST /fedex/authOne (needInvoice=true)
  → 签名校验 → 权限校验 → 地址验证 → 发票验证 → 返回 childKey + childSecret(终态)

接口POST http://api.kuaidi100.com/sendAssistant/auth/fedex/authOne

外层通用参数

参数类型必填说明
keyString用户 API Key
tString时间戳(毫秒)
paramString业务参数 JSON 字符串,内容见下表
signStringMD5(param + t + key + secret) 大写

param 内业务参数

参数类型必填说明
partnerIdStringFedEx 账号
partnerNameString账号名称
cityString城市
countryCodeString国家代码
postalCodeString邮编
addrString街道地址
needInvoiceboolean固定为 true
numberString发票号
currencyString发票币种
dateString发票日期
amountString发票金额

请求示例

# 假设 key=abc123, secret=xxx, t=1717200000000
PARAM='{"partnerId":"123456789","partnerName":"某公司","city":"Shanghai","countryCode":"CN","postalCode":"200000","addr":"浦东新区XX路XX号","needInvoice":true,"number":"INV-20240001","currency":"CNY","date":"2024-06-01","amount":"1500.00"}'
SIGN=$(echo -n "${PARAM}1717200000000abc123xxx" | md5sum | tr 'a-z' 'A-Z' | cut -d' ' -f1)

curl -X POST http://api.kuaidi100.com/sendAssistant/auth/fedex/authOne \
  -H "Content-Type: application/json" \
  -d "{
    \"key\": \"abc123\",
    \"t\": \"1717200000000\",
    \"param\": \"${PARAM}\",
    \"sign\": \"${SIGN}\"
  }"

响应示例

{
  "code": 200,
  "message": "success",
  "data": {
    "childKey": "fedex_sub_key_xxx",
    "childSecret": "fedex_sub_secret_xxx"
  }
}

下单时,通过下单接口的 partnerKey 传入 childKey 返回的内容,partnerSecret 传入 childSecret 返回的内容。

二、PIN码验证模式

适合没有发票的用户,以手机短信 PIN 码作为验证凭证,分两步完成

  1. 第一步:调用 /fedex/authOneneedInvoice=false),系统验证地址后触发 FedEx 向账号绑定的手机或邮箱发送 PIN 码短信,此时不返回密钥
  2. 第二步:用户查收短信后调用 /fedex/pinVerify,传入 partnerId 和短信中的 PIN 码,验证通过后返回 childKeychildSecret
步骤1: POST /fedex/authOne (needInvoice=false)
         → 签名校验 → 权限校验 → 地址验证 → 触发 PIN 短信发送 → 返回空 data

步骤2: POST /fedex/pinVerify (partnerId + pin)
         → 签名校验 → 权限校验 → PIN 验证 → 返回 childKey + childSecret(终态)

步骤1:触发 PIN 码发送

接口POST http://api.kuaidi100.com/sendAssistant/auth/fedex/authOne

外层通用参数

参数类型必填说明
keyString用户 API Key
tString时间戳(毫秒)
paramString业务参数 JSON 字符串,内容见下表
signStringMD5(param + t + key + secret) 大写

param 内业务参数

参数类型必填说明
partnerIdStringFedEx 账号
partnerNameString账号名称
cityString城市
countryCodeString国家代码
postalCodeString邮编
addrString街道地址
needInvoiceboolean固定为 false

请求示例

# 假设 key=abc123, secret=xxx, t=1717200000000
PARAM='{"partnerId":"123456789","partnerName":"某公司","city":"Shanghai","countryCode":"CN","postalCode":"200000","addr":"浦东新区XX路XX号","needInvoice":false}'
SIGN=$(echo -n "${PARAM}1717200000000abc123xxx" | md5sum | tr 'a-z' 'A-Z' | cut -d' ' -f1)

curl -X POST http://api.kuaidi100.com/sendAssistant/auth/fedex/authOne \
  -H "Content-Type: application/json" \
  -d "{
    \"key\": \"abc123\",
    \"t\": \"1717200000000\",
    \"param\": \"${PARAM}\",
    \"sign\": \"${SIGN}\"
  }"

响应示例

{
  "code": 200,
  "message": "success",
  "data": {
    "childKey": null,
    "childSecret": null
  }
}

步骤2:提交 PIN 码

接口POST http://api.kuaidi100.com/sendAssistant/auth/fedex/pinVerify

外层通用参数

参数类型必填说明
keyString用户 API Key
tString时间戳(毫秒)
paramString业务参数 JSON 字符串,内容见下表
signStringMD5(param + t + key + secret) 大写

param 内业务参数

参数类型必填说明
partnerIdStringFedEx 账号(须与步骤1一致)
pinString短信收到的 PIN 码

请求示例

# 假设 key=abc123, secret=xxx, t=1717200000000
PARAM='{"partnerId":"123456789","pin":"725931"}'
SIGN=$(echo -n "${PARAM}1717200000000abc123xxx" | md5sum | tr 'a-z' 'A-Z' | cut -d' ' -f1)

curl -X POST http://api.kuaidi100.com/sendAssistant/auth/fedex/pinVerify \
  -H "Content-Type: application/json" \
  -d "{
    \"key\": \"abc123\",
    \"t\": \"1717200000000\",
    \"param\": \"${PARAM}\",
    \"sign\": \"${SIGN}\"
  }"

响应示例

{
  "code": 200,
  "message": "success",
  "data": {
    "childKey": "fedex_sub_key_xxx",
    "childSecret": "fedex_sub_secret_xxx"
  }
}

下单时,通过下单接口的 partnerKey 传入 childKey 返回的内容,partnerSecret 传入 childSecret 返回的内容。

两种模式对比

对比维度发票验证PIN码验证
适用场景有 FedEx 发票的用户无发票的用户
验证凭证发票号手机短信 PIN 码
接口调用次数1 次2 次
最终返回childKey + childSecretchildKey + childSecret
用户操作提供发票信息即可需查收短信并输入 PIN 码