This repository was archived by the owner on Jul 13, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 12
This repository was archived by the owner on Jul 13, 2025. It is now read-only.
Get functions use incorrect http POST method #466
Copy link
Copy link
Open
Description
Hi there,
First I appreciate your contribution and how easy this library is to use.
I want to point out at two issues with the following functions inside FulfillmentInboundShipment
class:
- getPrepInstructionsForAsin
- getPrepInstructionsForSku
Example of code to reproduce the problem:
const inboundShipment = new FulfillmentInboundShipment(http);
const [response, meta] = await inboundShipment.getPrepInstructionsForAsin({
ASINList: ['B07P7X96Z9'],
ShipToCountryCode: 'US'
});
console.log(response);
Response I get from Amazon:
<ErrorResponse xmlns="http://mws.amazonaws.com/FulfillmentInboundShipment/2010-10-01/">
<Error>
<Type>Sender</Type>
<Code>ValidationError</Code>
<Message>1 validation error detected: Value null at 'asinList' failed to satisfy constraint: Member must not be null</Message>
</Error>
<RequestId>4db4ed4f-5f20-4449-ad8a-c9ef35395ade</RequestId>
</ErrorResponse>
The issue seems to be that the underlying http client is using POST
instead of GET
for such endpoints.
I copied the above function's source code from lib\sections\fulfillment-inbound-shipment\fulfillment-inbound-shipment.js
then changed the this.http.request
param from POST
to GET
and ran it separately:
const [response, meta] = await http.request('GET', { // was 'POST'
resource: 'FulfillmentInboundShipment',
version: '2010-10-01',
action: 'GetPrepInstructionsForASIN',
parameters: {
'ASINList.Id': ['B07P7X96Z9'],
ShipToCountryCode: 'US',
},
});
console.log(response);
I got the right success response:
{
GetPrepInstructionsForASINResponse: {
attr: {
xmlns: 'http://mws.amazonaws.com/FulfillmentInboundShipment/2010-10-01/'
},
GetPrepInstructionsForASINResult: { InvalidASINList: '', ASINPrepInstructionsList: [Object] },
ResponseMetadata: { RequestId: '59248c00-b31e-40da-844c-16a72bfc5ee1' }
}
}
I stumbled upon these two while using your module, but this could be the case for more GET methods.
Cheers,
Deni
Metadata
Metadata
Assignees
Labels
No labels