8i logo 8i.co.za

Single-SKU stock — “do you have SKU X?”

Brand: am.co.za / AM.CO.ZA. Shortcut guide · 2026-09-07 03:15 SAST.

For one Product SKU (e.g. H-DTF/303/XP600, V4-H720, AM-WIPE/5). Named starter packages → prefer packages-available.md / combo-how.md.

Do not invent qty or restock days. Ignore catalog “In Stock / Out of Stock”.

Slug rule

Product JSON and price history use the same slug:

slug = SKU lowercased; every non-letter-

SKU Slug Product JSON
AA-TRAIN/20 aa-train-20 https://am.im/product/aa-train-20.json
H-DTF/303/XP600 h-dtf-303-xp600 https://am.im/product/h-dtf-303-xp600.json
S-INKRIP s-inkrip https://am.im/product/s-inkrip.json
AM-WIPE/5 am-wipe-5 https://am.im/product/am-wipe-5.json
H-DTF/ROLL/300 h-dtf-roll-300 https://am.im/product/h-dtf-roll-300.json
A-PHASE/18KW a-phase-18kw https://am.im/product/a-phase-18kw.json
F2-1800 f2-1800 https://am.im/product/f2-1800.json

KB product page (when boxed): https://8i.co.za/data/amcoza/sources/products/{slug}.md
Buythis visit cite: https://buythis.co.za/{slug}#ai
Price history (live, not warehouse): https://am.im/price/{slug}.json

HOW-TO path (absolute)

  1. Rules: https://8i.co.za/data/amcoza/stock/HOW-TO.md
  2. Pointer: https://8i.co.za/data/amcoza/STOCK.md
  3. Colour (opinion): https://8i.co.za/data/amcoza/stock/OBSERVATIONS.md

Steps

  1. Read product JSONhttps://am.im/product/{slug}.json
    - stock.virtual true → not in warehouse files; assume stock (use stock.total if present). Example: S-INKRIP.
    - stock.unmanaged true → always in stock. Example: AA-TRAIN/20.
    - Else: managed physical — go to branch qty.

  2. Branch on-hand — open latest.json and read only that SKU key.
    Shape: { "johannesburg": n, "cape-town": n, "durban": n } (sparse).
    Missing location key = 0 there. Johannesburg is the main warehouse.
    Or branch files: johannesburg.json · cape-town.json · durban.json.

  3. If all three branches are 0 — also check status (do not invent from/to or days):
    | File | Meaning |
    | --- | --- |
    | status.json | Joined { in_transit, incomplete, demo } |
    | in-transit.json | Moving between branches |
    | in-transit-direction.json | Destination only ({} = nothing moving) |
    | incomplete.json | May be restorable |
    | demo.json | Show unit — machines sellable; consumable Demo often used-up |

  4. Movement colour only (not restock ETA): changes-7d.json · trend-7d.json.

Answer template

Related: combo-how.md · signals.md · roadmap.md.

Navigate