← Developers

Quickstart — il primo 200 OK in 5 minuti

Spec riferita a api v1

Il percorso onesto più veloce attraverso la piattaforma. Tutto ciò che segue è copia-incolla contro un edge locale (docker compose up sullo stack edge) che esegue il manifest production-line di esempio. Cinque minuti, un lotto, il ciclo di vita governato completo.

0. Cosa serve

1. Ottieni una sessione (30s)

export K=http://localhost:8291
TOKEN=$(curl -s $K/api/v1/auth/login -H 'content-type: application/json' \
  -d '{"tenantId":"<tenant-uuid>","deviceCode":"IPC-01","pin":"1234"}' | jq -r .token)
echo $TOKEN   # il TTL di default è in `expiresInHours` — un 409 PIN_AMBIGUOUS
              # significa che il PIN è condiviso: ri-invia con "operatorId"

2. Verifica un lotto in recezione (60s)

curl -X POST $K/api/v1/actions/VERIFY_LOT \
  -H "Authorization: Bearer $TOKEN" -H 'content-type: application/json' \
  -H "X-Idempotency-Key: $(uuidgen)" \
  -d '{"payload":{"lot_id":"LOT-QUICK-01","peso_dichiarato":100.0,
        "peso_misurato":100.3}}' | jq .

3. Accettalo — il constraint engine verifica il peso (60s)

curl -X POST $K/api/v1/actions/ACCEPT_LOT \
  -H "Authorization: Bearer $TOKEN" -H "X-Idempotency-Key: $(uuidgen)" \
  -d '{"payload":{"lot_id":"LOT-QUICK-01","peso_dichiarato":100.0,
        "peso_misurato":100.3}}' | jq .
# Δpeso 0.3% ≤ 0.5% → committato. Prova peso_misurato:101 →
# rifiuto 422-style: la regola `peso_coerente` fallisce chiusa, niente commit.

4. Collauda un pezzo (60s)

curl -X POST $K/api/v1/actions/START_MEASURE \
  -H "Authorization: Bearer $TOKEN" -H "X-Idempotency-Key: $(uuidgen)" \
  -d '{"payload":{"piece_id":"PZ-001"}}'

curl -X POST $K/api/v1/actions/QC_PASS \
  -H "Authorization: Bearer $TOKEN" -H "X-Idempotency-Key: $(uuidgen)" \
  -d '{"payload":{"piece_id":"PZ-001","misura":0.018}}' | jq .
# misura 0.018 ≤ 0.02 → CONFORME. Con 0.026 il constraint `tolleranza_collaudo`
# rifiuta: nessun commit, il tentativo resta nella catena di audit.

5. Verifica la catena di audit (60s)

# Lato edge — ri-valida la hash chain su ciò che hai appena committato
curl -s $K/api/v1/audit/verify -H "Authorization: Bearer $TOKEN" | jq .

# Lato cloud — dopo il flush dell'outbox, il portale tenant espone la stessa catena
curl -s "https://cp.axiom-trace.eu/api/v1/tenant/audit/verify" \
  -H "Authorization: Bearer $PORTAL_TOKEN" | jq .

Fatto. Hai esercitato l’intero contratto: sessione → trigger → RBAC → constraint → FSM → data-link → audit → outbox. Se un 4xx ti ha sorpreso, Il Contratto spiega le regole e Eventi inbound decodifica ogni codice di errore.

Per approfondire: Esempi end-to-end · API Reference · API Playground

Vuoi provisionare un nodo edge fisico? È un altro percorso — l’installer zero-touch trasforma una macchina Linux in un nodo firmato e sincronizzato con un comando e un token di claim bt_*.