Lewati ke konten

Kode error

error.code adalah kunci yang stabil; error.message boleh ditampilkan ke pengguna.

Hasil sales/sync dan orders/sync memberi status per operationId.

status Arti Tindakan
synced / recorded Tersimpan Hapus dari outbox
recorded_with_review Tersimpan, menu berubah saat transaksi Segarkan menu
replayed / duplicate Sudah pernah tersimpan Anggap selesai
conflict (IDEMPOTENCY_CONFLICT) ID dipakai isi berbeda Status gagal; buang atau coba transaksi baru
rejected Ditolak validasi; lihat code Status gagal; tampilkan pesan
error (WRITE_FAILED) Gagal menulis sementara Tetap antre

Kode rejected: TOTAL_MISMATCH, PAYMENT_MISMATCH, PAYMENT_INVALID, DISCOUNT_REASON_REQUIRED, DISCOUNT_EXCEEDS_SUBTOTAL, STAFF_REQUIRED, TABLE_REQUIRED, ORDER_TYPE_INVALID, VALIDATION.

Kode HTTP Arti
UNAUTHORIZED 401 Token tidak ada/salah/dicabut. Perangkat: layar pairing
STAFF_SESSION_INVALID 401 Sesi PIN kedaluwarsa: login ulang
FORBIDDEN 403 Peran tidak cukup
NOT_FOUND 404 Tidak ada atau milik tenant lain
NO_PRODUCT_FOUND 404 Lookup tidak menemukan produk (bukan error sistem)
CONFLICT 409 Duplikat (email, label meja, dll.)
INVALID_TRANSITION 409 Transisi status dapur/terima tidak sah
ALREADY_PAID, ORDER_VOIDED 409 Aksi bayar tidak berlaku
SHIFT_OPEN, SHIFT_CLOSED 409 Aturan shift
STOCK_NOT_TRACKED 409 Penyesuaian pada produk tanpa pelacakan
VALIDATION, INVALID_BODY 422 Input tidak valid
ITEM_UNAVAILABLE, MODIFIER_INVALID 422 Self-order: menu berubah
PAYLOAD_TOO_LARGE 413 Foto > 5 MB, audio > 1 MB, sync > 50
UNSUPPORTED_MEDIA 415 Format foto/audio tidak didukung
LOCKED, RATE_LIMITED 429 Terlalu banyak percobaan
UNAVAILABLE, VOICE_UNAVAILABLE 503 Fitur belum aktif (mis. suara)

ApiError di @smash-pos/core memetakan status ke kind: auth, conflict, validation, network, server, unknown.