<cfset signStr2 = "Action=SubmitFeed&FeedType=_POST_PRODUCT_PRICING_DATA_">
<cfsavecontent variable="prodXML"><?xml version="1.0" encoding="iso-8859-1" ?>
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
<Header>
<DocumentVersion>1.01</DocumentVersion>
<MerchantIdentifier>#this.merchantID#</MerchantIdentifier>
</Header>
<MessageType>Price</MessageType>
<Message>
<MessageID>1</MessageID>
<Price>
<SKU>#arguments.sku#</SKU>
<StandardPrice currency="USD">#NumberFormat(arguments.price, "_.__")#</StandardPrice>
</Price>
</Message>
</AmazonEnvelope>
</cfsavecontent>
<cfset var gn = GenerateSignedAmazonURL('POST', 'mws.amazonservices.com', '/', signStr2)>
<cfhttp url="#gn#" method="post" useragent="1SmartSolution MWS Component/1.0 (Language=ColdFusion; Platform=Windows/2003)">
<cfhttpparam name="Content-Type" type="header" value="text/xml; charset=iso-8859-1">
<cfhttpparam name="FeedContent" type="body" value="#prodXML#">
<cfhttpparam type="header" name="Content-MD5" value="#ToBase64(BinaryDecode(Hash(prodXML), 'hex'))#">
</cfhttp>
Hope it helps.There are many ways SubmitFeed method can be used. Bellow is how i used it for price update:
| 45401 Views
| 52% / 1% Popularity
Been in your situation and know how difficult is to get MWS moving.
Thanks for the help, have you ever gotten this error message:
Sender MissingParameter The request must contain the parameter Attachment
I'm stumped!!
Jill
i was getting that same error too for sure, but unfortunately i can't remember what exactly i did to get over it. Amazon services are a pain indeed but mostly all is reduced to the correct use of their XML. A couple of tips would be:
1) make sure that if you use POST when generating the signature, also POST to use with your CFHTTP;
2) make sure to have the right order of parameters when generating the signature;
3) use the correct FeedType value;
4) i use 3 CFHTTPPARAMS and it works: Content-Type, FeedContent, Content-MD5.
Hope it helps.
Finally figured this out, you HAVE to send a POST.
Thanks for responding, I really appreciate it!
Jill