Active Shipping Fedex创建国际货件

时间:2015-08-03 03:57:57

标签: ruby-on-rails shipping fedex

我正在尝试使用Shopify的active_shipping宝石来运送和跟踪来自多家运营商的包裹。

我遇到来自Fedex运营商的create_shipment方法有问题。当它是国内航运时一切正常,但当目的地国家与原籍国不同时,我总是收到错误信息:

ERROR - 2033: Customs Value is required.ERROR - 3907: Invalid Customs Value 取决于服务类型。

我知道我必须提供海关申报的包裹内容信息,但我没有找到任何方法将其传递给该方法。

我查看了ActiveShipping::FedEx,特别是create_shipmentbuild_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)

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 中使用。