Amazon MWS Flat File Modify Listing - flat-file

I'm trying to find the documentation for how the flat file looks for modifying the quantity of a product on Amazon.
This is what we send at the moment but it would be good to see what the list of headings we can use.
SKU | Quantity
000 | 1
I'm guessing that this is correct,
SKU | Price | Quantity
000 | 9.99 | 1
Any links would be welcome.
Amazon's MWS site https://developer.amazonservices.com/

You can get to the full description of the flat file feed specifications to send the flat file in the correct format to the MWS by going to the following URL after you're logged into your sellercentral or mws account.
https://sellercentral.amazon.com/gp/help/help.html/ref=ag_13461_cont_help?ie=UTF8&itemID=13461&language=en_US

have a look at the scratchpad, this will bring back flat files so you can see how they look.
https://mws.amazonservices.co.uk/scratchpad/index.html - UK Version
https://mws.amazonservices.com/scratchpad/index.html - General (US) version

Related

List WooCommerce Product Feed to Amazon Marketplace

I am using WordPress woocommerce. And using "List WooCommerce Product Feed to Amazon Marketplace" plugin for amazon listing from website. But in Report section I am getting below error:
Feed Processing Summary:
Number of records processed 1
Number of records successful 0
original-record-number sku error-code error-type error-message
1 67715 8560 Error SKU 67715, Missing Attributes standard_product_id. SKU 67715 doesn't match any ASINs. Make sure that all standard product ids (such as UPC, ISBN, EAN, or JAN codes) are correct. To create a new ASIN, include the following attributes: standard_product_id. Feed ID: 0. For more troubleshooting help, see http://sellercentral.amazon.com/gp/errorcode/200692370
I have added GTIN in product and my GTIN # is: 677151310900
Kindly help me to solve this problem, also suggest if any better idea for listing in amazon.
Thanks in advance
Most probably, This kind of error occurs when any product is uploaded with different products information for any standard product ids like for your case having GTIN 677151310900 might be already listed by another seller with some other attributes values due to which they got failed to map those details with your products SKU information. In that case, they were asking to send only limited value such as you can just modify the products description, price, title and quantity rather than creating same products with others your custom data in Amazon catalog.
Thanks!

Exporting Specific Order Details in WooCommerce TXT format

i've been struggling what im going to start to make this function
im looking some plugins that can customize the Export Orders Data, and im using WooCommerce Customer/Order XML Export Suite Extension, And my Company they want to generate it in TXT file not XML file because they need to import the orders data from online woocommerce to local on FoxPro System to update the Stocks in their warehouse inventory.
the format of export should be like this
Example 1
Date Quantity Customer Name Cost Assigned Employee
07/12/17 5 John Doe 5000 MIRIAM
No. Location Product Name
000001 USA iPhone S9 Plus
Example 2
Varation Price Quantity
PC 110 10
PC 200 5
BX 500 3
Thank you.
I know nothing about WooCommerce, but a little web searching tells me that it can Export its data in either XML or CSV (one version of TXT) format.
See: DRAG & DROP WOOCOMMERCE XML & CSV EXPORTS
Perhaps the CSV exported data will be enough to meet your needs.
But if not, I don't know if you have the ability to modify your Foxpro/Visual Foxpro application. If so, you can easily create a utility within your FP/VFP application to either read & import the XML data or to import CSV data.
Once you better understand what options you have, let us know and we can most likely advise you better.
Good Luck

Optimize complex scenario in Cucumber

I have been working on an automation project where I have to write cucumber test for search filter. Search filter works dynamically where parameters are nested - next parameter are populated based on previous parameter e.g. On selecting "Subscribers" next parameters in dropdown are "Name", "City", "Network". Likewise, on selecting "Service Desk", parameters in subsequent dropdown are "Status", "Ticket no.", "Assignee". I am using Scenario Outline as below:
Scenario Outline: As a user, I can search records
Given I am on search page
When I search on "<category>" and "<nestedfilter>"
Then I see records having "<category>" category
Examples:
|category |nestedfilter|
|Subscribers |Name |
|Subscribers |City |
|Subscribers |Network |
|Service Desk|Status |
|Service Desk|Ticket no. |
|Service Desk|Assignee |
The filter could be more complex as there could be more nested filters based on previous nested filters.
All I need to know if there could be a more efficient way to handle this problem? For example passing data table to step_definition for which I am not too sure.
Thanks
If you really need the order of your items to be preserved, use a data table instead of a scenario outline.
A scenario outline is a shorthand notation for multiple scenarios. The execution of each scenario is not guaranteed. Or at least it would be a mistake to assume a specific execution order. The order of the items in a data table will not change if you use a List as argument and therefore a lot safer in your case.
A common mistake with Cucumber is to use Scenario Outline and example tables to do some sort of semi-exhaustive testing. This tends to hide lots of interesting things about the functionality being developed.
I would start writing single features for the searches you are working with and explore what those searches are and why they are important. So if we start with your first one we get ...
Note: all of the following assumes a background step Given I am searching
When I search on subscribers and name
Then I should see records for subscribers
and with the second one
When I search on subscribers and city
Then I should see records for subscribers
Now it becomes clear that there is a serious flaw in these scenarios, as both scenarios are looking for the same result.
So what you are actually testing is that
The subscribers search has name and city filters
A subscriber search should return subscriber results
Now you can refactor and get
When I do a subscriber search
Then I should see city, name, network filters
When I do a subscriber search
Then I should only see subscriber results
note: This is already much more efficient as you have reduced the number of scenarios from 3 to 2, and reduced the number of searches you have to do from 3 to 1.
Now I have no idea if this is what you want to do, but this is what your current scenario is doing. However because you are using an Outline and Example tables you can't see this.
The fact that you have a drop-down and nested filters is an implementation detail, which describes how the user is trying to achieve what they want to achieve.
If you think of what you're trying to do as examples of how the system behaves, rather than tests, it might be easier. You're not looking for something exhaustive. You also want your scenarios to be specific, so that you're illustrating them with realistic data and concrete examples. If you would commonly have some typical data available, that's a perfect thing to set up using Background.
So for instance, I might have scenarios like:
Background:
Given I have subscribers
| Name | City | Network | Status | etc.
| Bob | Rome | ABC | Alive | ...
| Sam | Berlin | ABC | Dead | ...
| Sue | Berlin | DEF | Dead | ...
| Ann | Berlin | DEF | Alive | ...
| Jon | London | DEF | Dead | ...
Scenario: First level search
Given I'm on the search page
When I search for Subscribers who are in Rome
Then I should see Bob
But not Sue or Jon.
Scenario: Second level search
Given I'm on the search page
When I search for Subscribers in Berlin on the ABC network
Then I should see Sam
But not Sue or Ann
etc.
The full-system scenarios should be just enough to understand what's going on. Don't use BDD for regression. It can help with that, but scenarios will rapidly become slow and unmaintainable if you try to cover every case. Delegate to integration and unit tests where appropriate (see "the testing pyramid").

Rackspace FIles Folder 'Alias/Redirect'

I am trying to come up with a 'versioned' data system. The different groups of data I have will be updated at different intervals and are quite large (MAP TIFFS) so I'd like to avoid duplicating content as much as possible, we're talking around the 50gb mark. Say for example I have the two following categories of Maps: Country Maps & City Maps. Country Maps get updated quarterly and City maps get updated bi-annually. Over a period of 6 Months The folder structure I end up with is this:
RACKSPACE CONTAINER
|
|-JAN2014
| |
| |-Cities
| |-Countries
|
|-APR2014
| |
| |-[Cities] (Not a real folder, an alias/redirect to the Jan 2014 version)
| |-Countries
|
|-JUL2014
| |
| |-Cities
| |-Countries
|
|
My App is given the current data version for that time period (i.e JAN2014, APR2014 or JUL2014) and will use it to form the url to fetch the map file i.e blah.rackcdn.com/JAN2014/Cities/Map.file) I would like to be able to point an alias/redirect of blah.rackcdn.com/APR2014/Cities/Map.file (which doesn't exists because the older cities map data is still valid) to the old folder, Hopefully that makes sense, is there any way to accomplish this? Currently I'm using Cyberduck ftp to upload my files / directory structure to rackspace.
If I am unable to achieve this with Rackspace, is this able to be done with any other file hosting services (i.e. Google Cloud storage)?
Cheers
It is possible to simulate symlinks on Rackspace Cloud Files. See this blog post on how to do this using the Cloud Files REST API: http://developer.rackspace.com/blog/simulate-symLinks-on-cloud-files.html.

ASP.Net / MySQL : Translating content into several languages

I have an ASP.Net website which uses a MySQL database for the back end. The website is an English e-commerce system, and we are looking at the possibility of translating it into about five other languages (French, Spanish etc). We will be getting human translators to perform the translation - we've looked at automated services but these aren't good enough.
The static text on the site (e.g. headings, buttons etc) can easily be served up in multiple languages via .Net's built in localization features (resx files etc).
The thing that I'm not so sure about it how best to store and retrieve the multi-language content in the database. For example, there is a products table that includes these fields...
productId (int)
categoryId (int)
title (varchar)
summary (varchar)
description (text)
features (text)
The title, summary, description and features text would need to be available in all the different languages.
Here are the two options that I've come up with...
Create additional field for each language
For example we could have titleEn, titleFr, titleEs etc for all the languages, and repeat this for all text columns. We would then adapt our code to use the appropriate field depending on the language selected. This feels a bit hacky, and also would lead to some very large tables. Also, if we wanted to add additional languages in the future it would be time consuming to add even more columns.
Use a lookup table
We could create a new table with the following format...
textId | languageId | content
-------------------------------
10 | EN | Car
10 | FR | Voiture
10 | ES | Coche
11 | EN | Bike
11 | FR | VĂ©lo
We'd then adapt our products table to reference the appropriate textId for the title, summary, description and features instead of having the text stored in the product table. This seems much more elegant, but I can't think of a simple way of getting this data out of the database and onto the page without using complex SQL statements. Of course adding new languages in the future would be very simple compared to the previous option.
I'd be very grateful for any suggestions about the best way to achieve this! Is there any "best practice" guidance out there? Has anyone done this before?
In your case, I would recommend using two tables:
Product
-------------------------------
ProductID | Price | Stock
-------------------------------
10 | 10 | 15
ProductLoc
-----------------------------------------------
ProductID | Lang | Name | Description
-----------------------------------------------
10 | EN | Bike | Excellent Bike
10 | ES | Bicicleta | Excelente bici
This way you can use:
SELECT * FROM
Product LEFT JOIN ProductLoc ON Product.ProductID = ProductLoc.ProductID
AND ProductLoc.Lang = #CurrentLang
(Left join just in case there is no record for the current lang in the ProductLoc table)
It's not good idea just to add new columns to existing table. It will be really hard to add a new language in the feature. The lookup table is much more better but I think you can have problem with performance because number of translated records.
I think best solution is to have a shared table:
products: id, categoryid,
and same tables for every language
products_en, products_de: product_id (fk), title, price, description, ...
You will just select from the shared one and join table with your language. The advantage is that you can localize even the price, category, ...

Resources