diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/feeds.js b/feeds.js old mode 100644 new mode 100755 diff --git a/index.js b/index.js old mode 100644 new mode 100755 diff --git a/lib/api.js b/lib/api.js old mode 100644 new mode 100755 diff --git a/lib/client.js b/lib/client.js old mode 100644 new mode 100755 diff --git a/lib/complexList.js b/lib/complexList.js old mode 100644 new mode 100755 diff --git a/lib/enum.js b/lib/enum.js old mode 100644 new mode 100755 diff --git a/lib/feeds/fulfillment.js b/lib/feeds/fulfillment.js old mode 100644 new mode 100755 diff --git a/lib/feeds/index.js b/lib/feeds/index.js old mode 100644 new mode 100755 diff --git a/lib/feeds/orders.js b/lib/feeds/orders.js old mode 100644 new mode 100755 diff --git a/lib/feeds/products.js b/lib/feeds/products.js old mode 100644 new mode 100755 diff --git a/lib/request.js b/lib/request.js old mode 100644 new mode 100755 index 306506c..a5b5167 --- a/lib/request.js +++ b/lib/request.js @@ -32,6 +32,7 @@ function getValueForParam(param, val) { return String(!!val); case Type.COMPLEX: + return val; // return param.construct(members); // TODO: fix default: @@ -156,6 +157,13 @@ class AmazonMwsRequest { _.forEach(values, (value, i) => { this.values[`${param.name}.${i + 1}`] = value; }); + } else if (param.type == Type.COMPLEX) { + let members = value; + for (var i = 0; i < members.length; i++) { + for (var j in members[i]) { + this.values['Items.members.' + (i + 1) + '.' + j] = members[i][j]; + } + } } else { this.values[param.name] = getValue(value); @@ -188,6 +196,10 @@ class AmazonMwsRequest { return false; } + if(param.type == Type.COMPLEX) { + return false; + } + const value = isList ? this.values[`${param.name}.1`] : this.values[param.name]; // intentional `==` diff --git a/lib/sections/feeds.js b/lib/sections/feeds.js old mode 100644 new mode 100755 diff --git a/lib/sections/finances.js b/lib/sections/finances.js old mode 100644 new mode 100755 diff --git a/lib/sections/fulfillment.js b/lib/sections/fulfillment.js old mode 100644 new mode 100755 index 3481910..ed52869 --- a/lib/sections/fulfillment.js +++ b/lib/sections/fulfillment.js @@ -219,12 +219,14 @@ const requests = { CreateFulfillmentOrder: { params: { + MarketplaceId: {}, SellerFulfillmentOrderId: { required }, ShippingSpeedCategory: { required, type: 'fba.ShippingSpeedCategory' }, DisplayableOrderId: { required }, DisplayableOrderDateTime: { type: Type.TIMESTAMP }, DisplayableOrderComment: {}, FulfillmentPolicy: { type: 'fba.FulfillmentPolicy' }, + FulfillmentAction: {}, FulfillmentMethod: {}, NotificationEmails: { name: 'NotificationEmailList.member', list }, DestName: { name: 'DestinationAddress.Name' }, diff --git a/lib/sections/orders.js b/lib/sections/orders.js old mode 100644 new mode 100755 diff --git a/lib/sections/products.js b/lib/sections/products.js old mode 100644 new mode 100755 diff --git a/lib/sections/reports.js b/lib/sections/reports.js old mode 100644 new mode 100755 diff --git a/lib/sections/sellers.js b/lib/sections/sellers.js old mode 100644 new mode 100755 diff --git a/lib/types.js b/lib/types.js old mode 100644 new mode 100755 diff --git a/lib/xml.js b/lib/xml.js old mode 100644 new mode 100755 diff --git a/package.json b/package.json old mode 100644 new mode 100755 diff --git a/test/xml.js b/test/xml.js old mode 100644 new mode 100755