我正在尝试使用Shopify的active_shipping
宝石来运送和跟踪来自多家运营商的包裹。
我遇到来自Fedex运营商的create_shipment
方法有问题。当它是国内航运时一切正常,但当目的地国家与原籍国不同时,我总是收到错误信息:
ERROR - 2033: Customs Value is required.
或ERROR - 3907: Invalid Customs Value
取决于服务类型。
我知道我必须提供海关申报的包裹内容信息,但我没有找到任何方法将其传递给该方法。
我查看了ActiveShipping::FedEx
,特别是create_shipment
和build_shipment_request
方法,但没有找到与包内容相关的任何内容。
以下是我尝试创建货件的方式:
package = ActiveShipping::Package.new(
weight,
[width, height, depth],
{
units: :metric,
value: value,
currency: 'CAD'
}
)
origin = ActiveShipping::Location.new(
company: '***',
address1: '***',
country: 'CA',
province: 'QC',
city: '***',
postal_code: '***',
phone: '***',
address_type: 'commercial'
)
destination = ActiveShipping::Location.new(
name: shipment.name,
company: shipment.company,
address1: shipment.line_1,
address2: shipment.line_2,
country: shipment.country,
province: shipment.state,
city: shipment.city,
postal_code: shipment.zip,
phone: shipment.phone
)
fedex = ActiveShipping::FedEx.new(
login: '***',
password: '***',
key: '***',
account: '***',
test: true
)
options = {
service_type: service_code
}
response = fedex.create_shipment(origin, destination, package, options)
我错过了什么或active_shipping
宝石与使用联邦快递的国际货件不兼容?
对于像加拿大邮政这样的其他航空公司,您可以传递一系列ActiveShipping::PackageItem
,但显然不会使用联邦快递。
我在Rails 4.2.3上使用最新的gem版本(1.4.2)
答案 0 :(得分:0)
我们需要在
之后添加以下xml字段“ShippingChargesPayment”元素
“build_shipment_request”方法中的
$("#event_table tbody tr").on("click", function() {
$(this).index();
});
答案 1 :(得分:0)
我通过 Python FedEx wrapper 创建了 FedEx 国际货件的完整示例脚本 - 您可以在 here 找到它。它应该很容易翻译以在 Ruby 中使用。