EasyPost API技术问询:如何同时创建运单并购买保险
解决EasyPost API一次性创建运单并购买保险的问题
你遇到的文档矛盾其实对应两种不同的保险购买路径:
- 单独补买保险:确实需要先创建并购买运单,再调用独立的保险接口完成投保
- 内嵌式保险:在创建运单时直接传入
insurance参数,就能一次性完成运单生成、邮资购买和保险投保,这完全匹配你的工作流程
正确操作方式
- 在创建Shipment的请求里直接加入
insurance字段,填入目标投保金额(格式支持数字或字符串,比如"50.00"或50,需匹配对应币种要求) - 确认你选择的运输服务商支持内嵌保险(USPS、UPS、FedEx等主流服务商均支持)
- 调用Create Shipment接口后,返回的Shipment对象会包含已生效的保险信息,无需额外执行任何操作
Java代码示例
// 构建地址与包裹对象 Address fromAddress = new Address() .setStreet1("123 Main St") .setCity("Austin") .setState("TX") .setZip("78701") .setCountry("US"); Address toAddress = new Address() .setStreet1("456 Oak Ave") .setCity("New York") .setState("NY") .setZip("10001") .setCountry("US"); Parcel parcel = new Parcel() .setLength(10) .setWidth(5) .setHeight(5) .setWeight(16); // 创建Shipment时直接指定保险金额 Shipment shipment = new Shipment() .setFromAddress(fromAddress) .setToAddress(toAddress) .setParcel(parcel) .setInsurance("100.00"); // 投保100美元 // 一次性完成所有操作 Shipment createdShipment = shipment.create(); // 验证保险状态 System.out.println("已投保金额:" + createdShipment.getInsurance()); System.out.println("保险ID:" + createdShipment.getInsuranceId());
注意事项
- 如果创建时出现保险相关错误,优先检查服务商是否支持该金额的内嵌保险,或金额格式是否合规
- 内嵌保险的费用会直接合并到运单总费用中,无需单独结算
内容的提问来源于stack exchange,提问作者Johnny boy
相关产品推荐
相关产品推荐

