> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gridbeds.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Testare: mock și sandbox

> Construiește azi pe un mock generat din contract și verifică-ți integrarea pe sandbox când se deschide.

<Warning>
  **Preview: nimic nu este servit încă.** Sandbox-ul nu este deschis: se deschide odată cu prima cheie de test. Până atunci, un mock generat din contract răspunde la fiecare operație.
</Warning>

## Construiește pe un mock

Un server mock generat din contract, documentul OpenAPI din care sunt generate paginile de la **Referință**, răspunde la fiecare operație înainte ca ea să fie servită. Cu [Prism](https://github.com/stoplightio/prism):

```sh theme={null}
npx @stoplight/prism-cli mock --dynamic distribution-v1.yaml
```

Fixează o versiune exactă 5.x a Prism (`@stoplight/prism-cli@5.x.y`). Cu `--dynamic`, Prism își generează răspunsurile din schemele contractului în loc să repete un singur exemplu. Fișierul contractului este `distribution-v1.yaml`; scrie la [support@gridbeds.com](mailto:support@gridbeds.com) dacă nu îl ai încă. Din același document se pot genera biblioteci client.

## Sandbox-ul

Sandbox-ul este `https://staging-api.gridbeds.com/api/v1/distribution` și se folosește cu o cheie `gbd_test_` ([Autentificare](/ro/distribution-api/authentication)). Se deschide odată cu prima cheie de test, emisă de echipa Gridbeds.

După ce se deschide, `prism proxy` verifică răspunsurile sandbox-ului față de contract în timp ce clientul tău vorbește cu el:

```sh theme={null}
npx @stoplight/prism-cli proxy distribution-v1.yaml https://staging-api.gridbeds.com/api/v1/distribution
```

## Ce să încerci

* O primă citire completă a fiecărei liste, apoi o a doua citire cu `updated_since` care aduce doar ce s-a schimbat, ca în [Sincronizare](/ro/distribution-api/synchronisation).
* Un tombstone, pentru fiecare dintre `withdrawn` și `deleted`, la fiecare resursă, și o valoare de enumerare pe care codul tău nu o cunoaște.
* Un `410` pentru un `updated_since` mai vechi de 35 de zile, care trebuie să pornească o resincronizare.
* O notificare livrată de două ori, în altă ordine, cu o versiune mai mică decât cea pe care o ai și cu o semnătură greșită sau un timestamp expirat ([Webhook-uri](/ro/distribution-api/webhooks)).
* Un `429` cu `Retry-After` ([Erori și limite](/ro/distribution-api/errors-and-limits)).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.