2015-12-24 186 views
0

使用Ruby宝石 - Peddler访问MWS API。我们必须从地址发送该船。该文件说,它需要一个哈希,但我不能得到这个工作..亚马逊MWS API地址格式CreateInboundShipmentPlan

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"}}} 

任何想法?

回答

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" 
} 

注重密钥如何在小贩的宝石规格命名 - https://github.com/hakanensari/peddler/blob/master/test/integration/test_fulfillment_inbound_shipment.rb#L5我觉得这个问题的原因。

+0

哇! Jeiwan你是唯一一个通过5个论坛回复我的人!谢谢..这不完全是答案,但我接受了这些测试,并完全复制它,Struct和所有......并且它工作了!谢谢!! – ToddT

+0

哦,是的,它需要一个Struct,而不是哈希。 – Jeiwan