Products
The brand's unit-by-unit inventory: find one item, follow its mint status, download its QR code and withdraw it from the catalog.
This screen lists the units registered by the brand, one row per physical item. You open it to find one unit, to see where it stands on its mint, its certificate and its passport, or to get its QR code. Clicking a row opens its detail page.

#What the screen shows
A table of 20 rows per page: ID, Name, Category, Brand, Model, Batch, Token, Certificate, Passport, Auth, Status, Created and QR. Each row carries a thumbnail of the product, or a dash when no image resolves. The Certificate badge is green when the certificate is active, red otherwise. The Passport badge shows v followed by the version number, only if the passport is published. Two other badges give the carrier (NFC, QR, NFC + QR) and the mint status.
The page size selector offers 10, 20, 50 and 100 rows, but that choice changes nothing here: the request goes out with parameters the entry point does not expect, and the list stays on the first 20 units.
Withdrawn units, archived as well as superseded, are hidden by default, in the list and in the search alike. On an empty list with no search running, the screen shows "No products yet" and the "Mint a product" button. A server error appears in a red banner.
#What you can do here
Switch between "All" and "To encode", this second button limiting the display to the mined status. Search in the "Search by name, token ID, brand..." field: the request goes out 300 milliseconds after your last keystroke and compares the term with the product name, the UID hash, the metadata URI and the token ID. A fully numeric term also looks for the exact identifier.
Filter by status, by authentication method and by brand. Sort on ID, Name, Brand, Model, Batch and Created; the Category column cannot be sorted. Download the QR code of a row, as a PNG requested at 600 pixels. Open the batch of a chipped unit to start encoding its tag.
"Delete" withdraws the unit from the catalog once its name is retyped: the server archives it and returns its new status, the row is not erased.
#What conditions access
A signed-in administrator account, otherwise the screen displays a table skeleton. The visible rows are limited to the brands the account has access to, a scope applied by the server. Encoding is only offered on a unit that belongs to a batch and carries a chip. Sorting does not apply as long as a search is running. The authentication method filter works in the browser, on the displayed page only, and compares the value as it is recorded: a unit whose method is written otherwise than nfc, qr or nfc+qr shows under none of the three options.
#What the screen refuses
A status outside the vocabulary is refused with 422, with the list of accepted values in the message. The page size is capped at 100 items.
An empty confirmation is refused with 400, code CONFIRMATION_REQUIRED, with the number of attached certificates and passports. A confirmation that does not match is refused with 400, code CONFIRMATION_MISMATCH, with "What you typed is not the product name. Nothing was changed.". The message never gives back the expected value, so that the confirmation keeps its role.
A unit that has no name, no serial number and no UID hash cannot be confirmed, and its button stays inactive. A unit already withdrawn under another reason is refused with 409. A unit without a brand is refused with 403.
Was this page helpful?
Your answer opens a pre-filled email in your mail app, addressed to contact@sealtrust.io. You read it over before sending it.