创建预定订单
本指南将指导您如何创建货件预订订单。成功创建预订后,后台流程会将货运详细信息传输到相应的承运商,并返回标签和/或提货单。使用“GET Bookings”来获得已生成的跟踪号和标签。可以批量创建一个或多个预订。
认证方式
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/Bookings
该API使用HTTP POST。下面将描述如何提供正确的payload。
创建预定订单的请求Payload
创建一个如下所示的JSON格式的payload。请注意,此端点希望提供一个数组,该数组中包括一个或多个预订。 payload的关键属性包括:
- bookingIdentifier: (可选)您的内部参考号。将存储在JUSDA的系统中,并在响应中返回该值
- rateResponseId: (可选)引用一个之前使用Rate API来获取对此预定的报价时得到的一个费率
- quoteId: (可选)引用由JUSDA提供的一个特定quoteId
- mode: (必需) Parcel或者LTL
- shipperName: (必需)字符个数限制:UPS(35),FedEx(35)
- shipperAddress1: (必需)字符个数限制:UPS(35),FedEx(35)
- shipperAddress2: (可选)字符个数限制:UPS(35),FedEx(35)
- shipperCity: (必需)
- shipperStateProvince: (必需)
- shipperPostalCode: (必需) 邮政编码
- shipperCountry: (必需) 2位的ISO国家编码比如US或者CN
- shipperTelNo: (可选) 310-875-9124
- shipToName: (必需)字符个数限制:UPS(35),FedEx(35)
- shipToAddress1: (必需)字符个数限制:UPS(35),FedEx(35)
- shipToAddress2: (可选)字符个数限制:UPS(35),FedEx(35)
- shipToCity: (必需)
- shipToStateProvince: (必需)
- shipToPostalCode: (必需) 邮政编码
- shipToCountry: (必需) 2位的ISO国家编码比如US或者CN
- shipToTelNo:(可选)847-439-2727
- residential: (可选) boolean, 默认值为 false
- carrierName: (必需)承运商,例如FEDEX或UPS
- serviceLevel: (必需) 预计的服务级别,比如FedEx Ground或UPS UPS 2nd Day Air等。 有关受支持的服务级别的列表,请向JUSDA咨询
- pickupRemarks: (可选) 与取件有关的自由文本备注。 用于零担LTL。
- deliverRemarks: (可选) 与送货有关的文字备注。 用于零担LTL。
- goodsDescription: (可选)最大长度100。
- shipperReferenceNo: (可选) 提供给承运商的任何货运参考号。对于 UPS,仅当始发地-目的地不是 US-US 或 PR-PR 时才有效。 FedEx不支持。
- shipperReferenceNo2: (可选) 额外的参考号。只有部分承运商支持该选项。UPS 和 FedEx 不支持。
- labelMethod: (可选) Url(默认)或Bytes。 Url将返回指向标签文件的连接。 Bytes将在Json响应中嵌入标签图像。使用Bytes可以显著减少响应时间
- items: (必需) 一个数组,其中每一个运输包裹为一个item
- description: (可选) item描述
- pieces: (可选) item件数
- weight: (必需) 包装毛重
- weightUnit: (必需) LB或者KG
- length: (必需) 包装长度
- width: (必需) 包装宽度
- height: (必需) 包装高度
- dimensionUnit: (必需) IN或者CM
- hazardous: (可选) 默认为false
- declaredValue: (可选) 所运输物品的申报价值
- declaredValueCurrencyCode: (可选) 3位的货币代码例如USD,EUR,或者JPY
- packageIdentifier: (可选) 您的对与该包裹的内部参考号
- packageReferenceNo: (可选) UPS的最大长度为35。FedEx的最大长度为40
- packageReferenceNo2: (可选) UPS的最大长度为35。 FedEx不支持
请求示例
{
"BookingIdentifier" : "11001",
"Mode" : "Parcel",
"CarrierName" : "UPS",
"ServiceLevel" : "UPS Ground",
"ShipperName" : "Test Shipper",
"ShipperAddress1" : "5031 Halison Street",
"ShipperCity" : "Torrance",
"ShipperStateProvince" : "CA",
"ShipperPostalCode" : "90503",
"ShipperCountry" : "US",
"ShipToName" : "Test Consignee",
"ShipToAddress1" : "847 Spring Creek Court",
"ShipToCity" : "Elk Grove Village",
"ShipToStateProvince" : "IL",
"ShipToPostalCode" : "60007",
"ShipToCountry" : "US",
"ShipperReferenceNo" : "REF1",
"ShipperReferenceNo2" : "REF2",
"Items": [
{
"Weight": 5,
"WeightUnit": "LB",
"Length": 2,
"Width": 7,
"Height": 3,
"DimensionUnit": "IN",
"PackageIdentifier" : "P10001"
}
]
}
创建预定订单的响应Payload
响应Payload将是由运营商分配的跟踪号和标签的数组。
- bookingId: JUSDA为每一个单独的预订请求分配的标识符。可用于获取预订结果
- bookingIdentifier: 您在预订请求中提供的参考号。可用于获取预订结果
- carrierTrackingNo: 承运商生成的跟踪号
- labelUri: 标签图像的下载链接。 下载进行打印。
响应示例
{
"bookingId": "0d91881f-84d6-4bc1-bc2f-15fe2ee6aece",
"bookingIdentifier": "11001",
"labels": [
{
"carrierTrackingNo": "1ZE373200397508234",
"labelUri": "https://jusda.blob.core.windows.net/upslabel/1ZE373200397508234.jpg?st=2021-01-15T20%3A32%3A41Z&se=2022-01-15T20%3A33%3A41Z&sp=r&spr=https&sv=2019-02-02&sr=b&sig=BzNUyPp8k9ibwRlOQhndlTx6DJ8UJ24tBRFm3QSG6wk%3D"
}
]
}
API文档
有关创建预定订单API端点的更多详细信息,请参见JUSDA的API文档.