GetUniquePackageLabels doesn't use CartonId from _POST_FBA_INBOUND_CARTON_CONTENTS_ - amazon-mws

I am using Amazon's MWS Feeds API to submit carton data using the SubmitFeed call for _POST_FBA_INBOUND_CARTON_CONTENTS_. There are no errors or warnings and all subsequent calls in my InboundShipment to Amazon work just fine. I can even get the labels using the GetUniquePackageLabels call, where I also send the same CartonIds in. It works just like it should except it uses for CartonId integers starting at 1, even though I provide a CartonId like 10053017. It should be on the shipping label, but instead I see under the barcode text like FBA140CDHXKXU000001, which is the ShipmentId followed by a a single character like 'U' then followed by a 6-digit CartonId (000001). Is it possible to get the CartonIds to come back in the label? The docs suggest it should work that way, but the only FBA images I've discovered have the 00001 type pattern.

Amazon retains your submitted CartonId(s) but does not use them in the labels. All cartons are numbered starting 1 and the format is U.
For example, a shipment (ShipmentID = FBA13H23WS7C) of 2 cartons would generate labels with this text:
FBA13H23WS7CU0000001
FBA13H23WS7CU0000002
When you request unique labels, you do have to pass your CartonId, otherwise it fails.

Related

SSRS default values

Ordinarily, this is a very simple thing. My issue is I can't seem to get multiple values, so I'm guessing it's a format issue? In my report, here are the default values:
When I preview the report in VS, it shows up exactly as it should, and obviously, I have the multi-select setup correctly:
NOTE: The values of 2 and 3 are the ID's in the query. This is done to utilize the indexing on these values as opposed to just pulling up a big list of strings, so it's finding the ID but actually displaying the "description" in the drop-down.
After the report has been deployed, I discovered that within the options of the report (click report, go to Manage, then navigate to Parameters) this is where there seems to be the hang up. I can select just 2 or just 3 and there's no problem, it will use either of them as the default. I've tried various formats to use 2 AND 3 but have had no luck and get the error The value provided for the report parameter 'Model' is not valid for its type. (rsReportParameterTypeMismatch). I'm not sure why the default values selection in my first screenshot doesn't take care of this, but for whatever reason, the last screenshot appears to override this functionality. Any idea as to how I might get my 2 values?
I figured it out. Pressing enter to go to the next line, no comma or other separator will get this to work.

Extract Product field for display on Test Case Search page

I am extending Kiwi TCMS for my team and trying to display the Product on the Search Test Cases page. The Product is tied to the Category field and I am not sure how to extract that field within the testcases/static/js/seach.js file.
I have traced it back to jsonrpc.js but am missing something, not sure what it is I am not seeing.
I added the Product field in the search.html file and the data is moved 1 column to the left since the array does not contain the Product field. I have tried "product" and "product_id" in the columns[] section of search.js.
Thanks
I have traced it back to jsonrpc.js but am missing something, not sure what it is I am not seeing.
JSON RPC is a communications protocol. The spec is very simple, you can find it at https://www.jsonrpc.org/specification. The jsonRPC function in Kiwi TCMS is a wrapper for that.
FK relationship between models are represented with a field called ..._id. For example Category has a field product_id. At the same time the Product model has a reverse relationship to Category - this is something that the underlying web framework adds automatically. The field is called Product.category.
Checkout how to make queries here:
https://kiwitcms.readthedocs.io/en/latest/modules/tcms.rpc.api.html#module-tcms.rpc.api
If you have test_case.category_id then you can send another API request to Product.filter method filtering on the category field with the respective value.
Inside the browser console you can do something like:
jsonRPC('Product.filter', {category: 1630}, console.log)
and see the results you get.
I added the Product field in the search.html file and the data is moved 1 column to the left since the array does not contain the Product field. I have tried "product" and "product_id" in the columns[] section of search.js.
You will have to modify the entire page (which includes search, the callback, the HTML template and the function rendering the returned data) for this to work.
It sounds like either
you need more information shown in the search table: there isn't much space available, OTOH there is a filter per Product so if you teach users to filter by product everything they see will be related to that product so they won't need additional column for that information
you need a more flexible mechanism for extension - it is mostly doable and possible to design pages in Kiwi TCMS to be arbitrarily extensible, however we haven't thought in this direction and we need more information about the intended use-case to figure out the underlying architecture.
you can design an entirely separate search page, using the upstream code as your base. Then bundle that into a plugin and just install your plugin into Kiwi TCMS. That actually sounds like the best option in this case and you will have full control over that page, see https://kiwitcms.readthedocs.io/en/latest/plugins/index.html.

How to get the number (length) of slot values for Alexa skill

I am trying to generate a random response for my Alexa Skill. I have set it up as:
Intent = myIntent
Slot = mySlot
Slot Type = mySlotType
Slot Values = {A,B,C,D} //the ids are unique numbers 1 - 4
when the user says a word such as A it uses this to create a response. Now I want to add a case for 'random'.
So Slot Values = {random,A,B,C,D}. //ID for random is 0
When the user says random, I want to randomly choose from the other Slot Values and use this to create a response.
Can Slot Value ID be used to return the Slot Value value?
Anybody know a good way to do this? I am a novice so excuse any obvious oversights.
This might be a workaround for your problem. You can get the JSON structure of your interaction model and use it as a constant in your lambda index.js file. I usually use this official tool for generating backend code for my skill
:
https://s3.amazonaws.com/webappvui/skillcode/v2/index.html.
When you'll generate the code through this tool, you'll see that the code generated also has the whole interaction model used as constant. Since you will have the whole JSON schema of the interaction model at your disposal, you can perform any action on it.
Note: If you don't know where to get JSON schema of your interaction model, scroll down on the build tab of your skill on the developer console, you'll find a menu of JSON editor on the left navigation. It will give you the JSON schema of your interaction model.
You can use mySlot as optional value in the intent description. For example you can add few utterances without slot inside them. And on the backend side you can check is the slot filled. If it is not filled you can generate random answer.

Send checkbox to range from single checkbox incrementally in Google Sheets

I have a Google Sheet with a large number of applications with multiple responses. The person going through them would like all of the information for each application formatted neatly and to give them a way to go through each application and mark whether to accept or reject the entry.
I have set up and formatted a sheet that displays all of the info from a single application with all of the answers being displayed by =Indirect() referencing a hidden value. A simple next button attached to a script increases that value by 1 to bring up the next application.
I need a way to send the Accept/Reject value back to the first sheets raw data, but it seems like checkboxes only work with formulas when they are receiving a value. Because the same cell is being used when parsing through applications, I have no way of referencing that checkbox in the raw data.
I think I need to have a script check the indirect value to know which application is currently being used and then send TRUE to the correct cell, then have it be reset back to unchecked (potentially as part of the 'Next' button)?
Hopefully I explained this well enough and thanks for any help~

I need to create an array for "Forms" to be called randomly

I have 4 forms (beside the main form) that I would like to store in an array and called randomly. The forms contain web pages with YouTube video clips that autoplay. When I use them individually in the code they work as expected. I am having trouble getting them to play from an array.
Consider the following approaches:
If the four forms are identical except for the specific YouTube URL, consider consolidating them to a single form. You can send the URL to the new form via the constructor. An array of strings is much easier to create.
You could generate a random integer (between 1 and 4). Use as Select myRandomInteger statement with a Case to initialize and show the form for that integer value (index).
Finally, if you post the non working code, perhaps someone will have a more specific solution for you.

Resources