Glossary
Admin API
The Admin API is how apps read and change things in your Shopify store, including the stock levels a scanner updates.
You never touch it directly. Every app you install does, and what it is allowed to touch is worth knowing.
What an app has to ask for
Permissions are granted by scope at install, and shown on the install screen. A receiving app needs to read products and to write inventory. It does not need customers, and it does not need orders.
Read the list. An app asking for customer data to scan a delivery is asking for something it has no use for.
How stock is written
An update names an inventory item and a location, and sets or moves the quantity there. That pair is the address of every stock number in Shopify.
The rate limit
Shopify meters API calls. An app writing a 900-line count writes it in batches, which is why a big stocktake takes a minute to land rather than being instant.
An app that ignores the limit gets throttled and retries, and a badly written retry is how a count gets applied twice.
Where it goes wrong
Two apps write the same stock level from different sources. Neither is broken and the number is wrong all day. One system writes stock; everything else reads, or listens on a webhook.
Related terms
Inventory item
An inventory item is the countable half of a variant. Stock levels attach to it, one per location, not to the variant itself.
Webhook
A webhook is a message Shopify sends to an app the moment something happens in your store, so the app does not have to keep asking.
Metafield
A metafield is an extra field you add to a Shopify record to store something the built-in fields have no box for.