获得费率
本指南将引导您了解如何从JUSDA API获取费率。
认证方式
JUSDA使用API密钥进行身份验证。目前,API密钥是由JUSDA的技术团队分配的。要获取密钥,请联系您的JUSDA销售代表。
获得API密钥后,要进行身份验证,有必要在每次调用的HTTP header中传递密钥。Header的key为 x-api-key, 将密钥作为值传递。例如:
x-api-key=34A81032-979E-4EFC-9A6F-XXXXXXXXXXXX
如果在对您的密钥进行身份验证时有任何问题,则API将在响应中回复HTTP代码401。
测试
JUSDA可能会为您提供测试环境的API密钥。由测试密钥获得的费率可能不是您会在生产环境中获得的费率。如果您具有生产环境的API密钥,则可以通过在端点的查询字符串中加入环境属性来在任何API调用上使用测试环境。例如:
https://services.jusdausa.com/api/v1/Rates?environment=Test
API端点
JUSDA获得费率API的URL为:
https://services.jusdausa.com/api/v1/Rates
该API使用HTTP POST。下面将描述如何提供正确的payload。
获取费率的请求payload
创建一个如下所示的JSON格式的payload。 payload的关键属性包括:
- rateRequestIdentifier: (可选) 您的内部参考号。将存储在JUSDA的系统中,并在响应中返回该值
- mode: (必需) Parcel或者LTL
- shipperCity: (必需)
- shipperStateProvince: (必需)
- shipperPostalCode: (必需) 邮政编码
- shipperCountry: (必需) 2位的ISO国家编码比如US或者CN
- shipToCity: (必需)
- shipToStateProvince: (必需)
- shipToPostalCode: (必需) 邮政编码
- shipToCountry: (必需) 2位的ISO国家编码比如US或者CN
- residential: (可选) 使用true或false来指定“运送到”位置是否为住所
- carrierName: (可选) 指定承运商名称,例如 UPS、FEDEX 或 DHL。 如果未提供,将返回所有运营商和所有服务级别的费率。 指定承运商可以减少响应时间。
- serviceLevel: (可选) 指定服务级别。 如果未提供,将返回所有服务级别的费率。 指定服务级别可以减少响应时间。
- declaredValue: (可选) 所运输物品的申报价值
- declaredValueCurrencyCode: (可选) 3位的货币代码例如USD,EUR,或者JPY
- items: (必需) 一个数组,其中每一个运输包裹为一个item
- weight: (必需) 包装毛重
- weightUnit: (必需) LB或者KG
- length: (必需) 包装长度
- width: (必需) 包装宽度
- height: (必需) 包装高度
- dimUnit: (必需) IN或者CM
- freightClass: (可选) 美国 LTL 货运等级。 对于 LTL,请提供货运级别或尺寸。 不适用于包裹
- hazardous: (可选) 使用true或false来指定包装中是否包含有害物质
请求示例
{
"rateRequestIdentifier": "MyReference",
"mode" : "Parcel",
"shipperCity" : "Diamond Bar",
"shipperStateProvince" : "CA",
"shipperPostalCode" : "91765",
"shipperCountry" : "US",
"shipToCity" : "Elk Grove Village",
"shipToStateProvince" : "IL",
"shipToPostalCode" : "60007",
"shipToCountry" : "US",
"residential" : false,
"carrierName": "UPS",
"items": [
{
"weight" : 5,
"weightUnit" : "LB",
"length" : 5,
"width" : 5,
"height" : 5,
"dimUnit" : "IN",
"hazardous": false
}
]
}
获取费率的响应payload
响应的payload将为一个数组,包含任何匹配的承运商和服务级别。 payload的关键属性包括:
- rateResponseId: JUSDA为此费率响应分配的标识符。 可以用作客服支持的参考ID。
- rateRequestId: JUSDA为此费率请求分配的标识符。 可以用作客服支持的参考ID。
- rateRequestIdentifier: 您在请求的payload中提供的参考ID
- responseDate: 费率响应被处理的日期和时间,时区为世界标准时间(UTC)
- quoteNo: 有些LTL承运商会提供
- carrierName: 承运商费率适用于
- carrierLogoUrl: 承运商徽标的URL,以支持在API使用者的结果中显示徽标
- service: 承运商对于此费率的服务级别
- totalCharge: 总费用,包括运费和配件费用。不包括税收和关税。
- transitDays: 承运商的预计运输时间(天)
- estimatedDeliveryDate: 基于提供的shipDate估算的预计到货日期ETD(如果未提供shipDate,则以费率请求日期为shipDate估算)
- currencyCode: totalCharge的货币代码
- messages: 一个数组,包括承运商为此费率请求提供的所有警告消息
响应示例
[
{
"rateResponseId": "4559af98-aa65-4fa8-e256-08d8b4311f0a",
"rateRequestId": "48885b43-f12f-402b-5e9a-08d8b4311a71",
"rateRequestIdentifier": "MyReference",
"responseDate": "2021-01-08T23:57:13.8922329Z",
"quoteNo": null,
"mode": "Parcel",
"carrierName": "UPS",
"carrierLogoUrl": "https://jusdamedia.blob.core.windows.net/webassets/ups.svg",
"service": "UPS Next Day Air Saver",
"totalCharge": 15.25,
"transitDays": 1,
"estDeliveryDate": "2021-01-11T17:57:06.2572877Z",
"currencyCode": "USD",
"messages": [
{
"code": "820",
"description": "The destination state/province code has been changed. ",
"severity": "NOTE"
}
]
},
{
"rateResponseId": "0e8ae7cf-38eb-44d2-e257-08d8b4311f0a",
"rateRequestId": "48885b43-f12f-402b-5e9a-08d8b4311a71",
"rateRequestIdentifier": null,
"responseDate": "2021-01-08T23:57:13.9763896Z",
"quoteNo": null,
"mode": "Parcel",
"carrierName": "UPS",
"carrierLogoUrl": "https://jusdamedia.blob.core.windows.net/webassets/ups.svg",
"service": "UPS Next Day Air",
"totalCharge": 17.45,
"transitDays": 1,
"estDeliveryDate": "2021-01-11T17:57:06.2572877Z",
"currencyCode": "USD",
"messages": null
}
]
API文档
有关费率API端点的更多详细信息,请参见JUSDA的 API文档.