> Source: https://fiscal.link/integrators/docs/sandbox
> O casă de marcat simulată care răspunde ca aplicația FiscalLink. Chei de test fsk_test_, scenarii de eroare, fără tipărire și fără facturare.

Sandbox

# Testează fără casă de marcat.

O casă de marcat simulată care răspunde exact ca aplicația FiscalLink, cu aceleași cereri și răspunsuri ca în producție. Nu tipărește nimic și nu facturează nimic.

## Ce este

-   Clienți, case și produse de test, ținute în baza organizației tale. Nu mișcă bani, nu atinge nicio casă, nu apare în facturare și nu lasă intrări în jurnalul de audit.
-   În dashboard ai o consolă de test, istoricul simulat și simularea erorilor.
-   Răspunsurile au forma mărcii simulate: ca în producție, doar Tremol întoarce numărul bonului și totalurile.

## Ce îți trebuie

-   Sandboxul e parte din organizația de integrator.
-   Dreptul „sandbox” în echipă.
-   O cheie sandbox: Setări → Chei API → Comenzi → Cheie nouă → Sandbox. Începe cu `fsk_test_`. O cheie live e refuzată pe rutele `/sandbox`, iar o cheie sandbox oriunde altundeva.

## Case de test

Casele de test le creezi în ecranul Sandbox; nu se administrează cu o cheie. O serie de test e `FLSIM` urmat de cifre, dacă nu scrii tu una. O serie care nu e a unei case de test de-ale tale răspunde `404`. Pentru fiecare casă de test alegi marca, operatorul și parola (implicit 1 și `0000`), articolele și o întârziere a răspunsului de 0–30 de secunde.

## Scenarii

| Scenariu | Descriere |
| --- | --- |
| `Ok` | Toate comenzile reușesc. |
| `OutOfPaper` | Comenzile, în afară de citirea cotelor TVA, rămân `Pending`, cu același ID, până schimbi scenariul. |
| `ZReportRequired` | Bonurile sunt refuzate cu eroarea casei „raport Z necesar”. |
| `PrinterNotConnected` | Toate comenzile eșuează cu `424`. |
| `Offline` | Comenzile sunt `Processing` 60 de secunde, apoi `TimedOut`. |

## Rute

Cheie: sandbox (`fsk_test_…`)

`…` = `/api/tenants/{tenantId}/integrator/sandbox`.

| sameAs | Metodă · rută |
| --- | --- |
| `print-fiscal-receipt` | `POST …/cash-registers/{serialNumber}/commands/print-fiscal-receipt` |
| `print-non-fiscal-receipt` | `POST …/cash-registers/{serialNumber}/commands/print-non-fiscal-receipt` |
| `print-report-z` | `POST …/cash-registers/{serialNumber}/commands/print-report-z` |
| `print-report-x` | `POST …/cash-registers/{serialNumber}/commands/print-report-x` |
| `read-vat-rates` | `POST …/cash-registers/{serialNumber}/commands/read-vat-rates` |
| `get-command` | `GET …/cash-registers/{serialNumber}/commands/{commandId}` |
| `list-register-commands` | `GET …/cash-registers/{serialNumber}/commands` |
| `list-commands` | `GET …/commands` |

```bash
curl -X POST "https://cloud-api.fiscallink.ro/api/tenants/{tenantId}/integrator/sandbox/cash-registers/FLSIM0001/commands/print-report-z" \
  -H "X-Api-Key: fsk_test_..."
```

## Diferențe față de producție

-   **Fără hârtie:** în sandbox comanda își păstrează ID-ul și rămâne `Pending`; pe o casă live, bonul se reîncearcă la 60 de secunde cu un ID nou.
-   **Filtrul \`status\`:** rutele sandbox citesc doar prima valoare `status`.
-   **Fără bani și fără case:** nimic din sandbox nu ajunge în facturare sau pe o casă reală.
