We have use Order Feeds API for Amazon Order Processing API. We use _POST_FLAT_FILE_FUILFILLMENT_DATA feed type. But it gives the warning:
Order cannot be fulfilled. For more information please contact seller support.
The flat file that we created are given below: ordered, orderitemid, quantity, ship date, carriercode, carriername, tracking number and shipmethod. Ordered and shipmate (yyyyy-mm-dd and dispatch date is inserted) and other fields is blank.
Where we are making a mistake?
I've never used the flat file format to upload fulfillment data (I use the XML format), so my experiences may not apply to your case. But when I hit the "Order cannot be fulfilled" problem, it was a problem with the date format. The same seems to be true for this SO question: "Order cannot be fulfilled" error after updating order status in Amazon MWS
Related
I am using Amazon Personalize (AWS Service) for making recommendation system. This service is expecting three datasets in the form of CSV from user named as
-> Interactions dataset
-> User dataset
-> Item dataset
I have imported User and Item dataset which is working fine but In the interaction dataset ,when I import it, it is giving me internal server error . I have three columns in my interactions dataset file, USER_ID , ITEM_D and TIMESTAMPS (In unix epoch format)
I don't know that why it is giving me internal server error ?
In most of the cases, if the problem still exists after retrying, then raising the support ticket is the only solution.
Personalize support team should be able to help you, after you provide some details including ARN of Personalize dataset group.
It's common that Personalize is not very helpful with error messages and it's also nothing new that you can find a bug in the service itself. Thankfully the Personalize team usually fixes the issue quickly.
The timestamp column name must be TIMESTAMP and must of type long [1] in your interactions schema and CSV. It's also required. I suspect that since you're using TIMESTAMPS (plural) that Personalize is considering this an interaction metadata field/column and is complaining about a missing TIMESTAMP column.
[1] https://docs.aws.amazon.com/personalize/latest/dg/how-it-works-dataset-schema.html
Actually we need to extract details from the document like Invoice/delivery Challan etc. So I was going through aws Textract demo version where we can simply upload the PDF document and see, what all details it is extracting as key value pair, Table etc.
While doing above activity, I found that few specific keys like Invoice Number,PAN etc which are very important for us, sometimes getting extracted but sometimes they are not, though the document I am using is of quite high quality.
So my question is - Is there any way where we can specifically specify that what all keys, we are required to extract from the document?
If they are available in the document, aws should extract them else, it should keep those fields empty in the Response.
Thanks,
Kavita
I have integrated the MWS API for my store. The issue is I was not able to get list of all products which I have submitted from feeds and also available products in Amazon store in account.
I have tried all the api of MWS no any api giving all products.
In Listmatchingproducts api it needs query parameter but for product listing there should not be query parameter required.
So for all product listing which api will be used and how?
In order for you to retrieve all of your products without input parameters, you can use the Reports API to request an inventory report or active listings reports or any of the report types here: http://docs.developer.amazonservices.com/en_US/reports/Reports_ReportType.html#ReportTypeCategories__ListingsReports
You can call the Reports API just like the Products API, but there are extra steps involved. You first request the report using the RequestReport operation, then you'll get back a GeneratedReportId. Take that Id and call the GetReport operation and you'll get back the report once it's available. If you need more than a report, but need to work with the data in some other way, you can just write a routine in whatever language you're using to parse out the data in memory.
Have you seen the client libraries? They do most of the work already, just plug in your keys. https://developer.amazonservices.com/gp/mws/api.html/188-4747010-1589520?ie=UTF8&group=bde§ion=reports&version=latest
Basically there is no specific API to call the product list available in your store. But you can get your products using Reports API (ReportType enumeration)
http://docs.developer.amazonservices.com/en_US/reports/Reports_ReportType.html#ReportTypeCategories__ListingsReports
There is multiple steps involve in order to work with reports.Here is the steps that involve to get the product listing.
1-RequestReport
2-GetReportRequestList (includes the ReportId when done)
3-GetReport
Have you tried Scratchpad. its for UK marketplace.
https://mws.amazonservices.co.uk/scratchpad/index.html
I'm getting started with Amazon MWS and I can't seem to see any real information on the correct flow for listing an item as an existing ASIN. Let's say for example I am selling a "Vulli Sophie the Giraffe Teether". I do an initial lookup using "listMatchingProducts" and find that my item already exists with the ASIN "B000IDSLOG". What is the next stage in the process?. All the documentation talks about the fact that the product feed is intended to match our SKU to the Amazon ASIN but i've not seen any definitive information to suggest how this actually works - especially in the scenario where you already know the ASIN you wish to use.
Ideally i'm interested in seeing the correct flow for each scenario (existing product for search found/not found) in terms of what API calls should be made in what order.
Thanks
The process of listing an item on Amazon is actually very similar for existing ASINs and new ones.
Listing items can consist of these steps:
Call SubmitFeed() to send a _POST_PRODUCT_DATA_ feed
is mandatory in all cases. You can omit product details if you're adding your listing to an existing item. If you list new products, this feed must be successfully processed before sending any other feed for those same item(s), I'm not sure if the same is true for existing products.
Call SubmitFeed() to send a _POST_PRODUCT_RELATIONSHIP_DATA_ feed
This step can be skipped for existing products or products without variants or other parent/child relations
Call SubmitFeed() to send a _POST_PRODUCT_IMAGE_DATA_ feed
This step can be skipped for existing products. Amazon is currently in the process of making images mandatory, so for new products or products currently not showing an image, you really should submit at least one image
Call SubmitFeed() to send a _POST_PRODUCT_PRICING_DATA_ feed
is mandatory in all cases
Call SubmitFeed() to send a _POST_INVENTORY_AVAILABILITY_DATA_ feed
is mandatory in all cases
Call SubmitFeed() to send a _POST_PRODUCT_OVERRIDES_DATA_ feed
is optional, and only used for items that have special shipping rates applied (e.g. expedited products)
More information on feeds is available on the Amazon Developer Documentation website and in Selling on Amazon: Guide to XML
It seems in the case of adding a product with an existing ASIN you can actually send a very basic XML request such as this, making sure to include the ASIN:
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amznenvelope.xsd">
<Header>
<DocumentVersion>1.01</DocumentVersion>
<MerchantIdentifier>MERCHANT_IDENTIFIER</MerchantIdentifier>
</Header>
<MessageType>Product</MessageType>
<PurgeAndReplace>false</PurgeAndReplace>
<Message>
<MessageID>1</MessageID>
<OperationType>Update</OperationType>
<Product>
<SKU>UNIQUE-TO-ME-1234</SKU>
<StandardProductID>
<Type>ASIN</Type>
<Value>B000A0S46M</Value>
</StandardProductID>
<Condition>
<ConditionType>New</ConditionType>
</Condition>
</Product>
</Message>
</AmazonEnvelope>
Essentially though, from what i've read elsewhere it seems that Amazon will attempt to match a product to an existing ASIN according to the data within the _POST_PRODUCT_DATA_ feed even if an ASIN isn't provided. It will use elements such as title, manufacturer, brand, and other product specific information to compare that to their catalog and determine if it is an existing item or a new one to be added. If you do know it already has an ASIN though you can provide a very simple XML feed as shown above.
You can simply use flat file template from amazon to load your feeds to marketplace with your seller account credentials using marketplace web service.
Use 'inventory loader' file type template that will override the existing items or create new if doesn't exists.
You can define 'ASIN-Hint' fields/column in file for the items those already exists over marketplace as your case is.
Idea behind is that amazon matches the provided ASIN value with feed with the already existed product detail and synch information accordingly.
Try uploading your product without ASIN-Hint and see process report you will get a good idea then.
You may also refer http://prashantpandeytech.blogspot.in/2015/03/mws-amazon-marketplace-web-service-api.html for step wise implementation
I am currently working on a specification for a software component which will synchronize the product catalog of an ecommerce company with the Amazon Marketplace using Amazon MWS.
According to the MWS developer documentation, publishing products requires submitting up to 6 different feeds, which are processed asynchronously:
Product Feed: defines SKUs and contains descriptive data for the products
Inventory Feed: sets quantities/availability for each SKU
Price Feed: sets prices for SKUs
Image Feed: product images for each SKU
Relationship Feed: defines mappings between parent SKUs (e.g. a T-Shirt) and child SKUs (e.g. T-Shirt in a concrete size and color which is buyable)
Ovverride Feed:
My question concerns the following passage in the MWS documentation:
The Product feed is the first step in setting up your products on
Amazon. All subsequent catalog feeds are dependent upon the success of
this feed.
I am wondering what it means? There are at least two possibilities:
Do you have to wait until the Product feed is successfully processed before submitting subsequent feeds? This would mean that one had to request the processing state periodically until it is finished. This may take hours depending of the feed size and server load at Amazon. The process of synchronizing products would be more complex.
Can you send all the feeds immediately in one sequence and Amazon takes care that they are processed in a reasonable order? In this interpretation, the documentation would just tell the obvious, that the success of let's say image feed processing for a particular SKU depends on the success of inserting the SKU itself.
As I understand it for all other feeds other than the Product feed the products in question must already be on the catalogue, so your first possibility is the correct one.
However, this should only affect you on the very first run of the product feed or when you are adding a new product, as once the product is there you can then run the feeds in any order, unless you are using PurgeAndReplace of your entire catalogue each time which is not recommended.
The way I would plan it is this.
1) Run a Product Feed of the entire catalogue the very first time and wait for it to complete.
2) Run the other feeds in any order you like.
3) Changes to any of the products already on Amazon can now be done in any order. e.g you can run the price feed before the product feed if all you are doing is amending the description data etc
4) When you have to add a new product make sure you run the product feed first, then the other feeds.
If possible, I would create a separate process for adding new products. Also, I think it will help you if you only upload changes to products rather than the entire catalogue each time. It's a bit more work for you to determine what has changed but it will speed up the feed process and mean you're not always waiting for the product feed to complete.
Yes, Product Feed is the first primary feed.
You need to wait until product feed gets completed before sending out other feeds.
When You Send Product Feed, its status becomes:
1) _IN_PROGRESS_
2) SUBMITTED
3) DONE
4) COMPLETED
You must need to wait until status changes to " DONE " or "COMPLETED".
Thanks.