【问题标题】:Amazon MWS API Address format for CreateInboundShipmentPlanCreateInboundShipmentPlan 的亚马逊 MWS API 地址格式
【发布时间】:2015-12-24 15:33:00
【问题描述】:

使用 Ruby Gem - Peddler 访问 MWS API。我们必须从地址发送船。文档说它需要是一个哈希,但我无法让它工作..

ship_from_address = {
  name: "Schmo",
  addressline1: "929 Whatever Dr.",
  city: "Fun Town",
  stateorprovincecode: "XX",
  postalcode: "12345"
}

这是在客户端设置正确的情况下对 API 的实际调用,因为我可以访问请求更简单的其他数据..

plan = client.create_inbound_shipment_plan(ship_from_address,    
  inbound_shipment_plan_request_items)

这里是amazon documentation..的链接。

这是我从 API 请求地址字段时的格式。

{"ShipmentData"=>{"member"=>{"LabelPrepType"=>"SELLER_LABEL",
"DestinationFulfillmentCenterId"=>"IND2", "ShipFromAddress"=>
{"City"=>"XXX", "CountryCode"=>"XX", "PostalCode"=>"12345", 
"Name"=>"Schmo", "AddressLine1"=>"3434 Smitherens Rd.", 
"StateOrProvinceCode"=>"YY", "AddressLine2"=>"#13A"}, 
"ShipmentId"=>"FBA37ZLXXX", "AreCasesRequired"=>"false", 
"ShipmentName"=>"2015-12-22 09:58", "ShipmentStatus"=>"IN_TRANSIT"}}}

有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails ruby api amazon-web-services amazon


    【解决方案1】:

    您似乎需要遵守散列中命名键的约定。哈希的键被转换为大写,所以addressline1会变成Addressline1,但应该是AddressLine1。尝试像这样重命名键:

    ship_from_address = {
      name: "Schmo",
      address_line_1: "929 Whatever Dr.",
      city: "Fun Town",
      state_or_province_code: "XX",
      postal_code: "12345"
    }
    

    注意 Peddler gem 规范中键的命名方式 - https://github.com/hakanensari/peddler/blob/master/test/integration/test_fulfillment_inbound_shipment.rb#L5 我认为这是问题的原因。

    【讨论】:

    • 哇!! Jeiwan 你是唯一一个在 5 个论坛上回复我的人!谢谢..这不是完全正确的答案,但我接受了这些测试,只是准确地复制了它,结构和所有..它有效!!!!谢谢!!
    • 哦,是的,它需要一个结构,而不是哈希。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多