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

# Erreurs et limites

> Comprenez les erreurs API courantes, les limites de pagination et le comportement de nouvelle tentative sécurisé.

Les API Plato renvoient des messages d'erreur JSON lorsque cela est possible.

## Forme d'erreur

Les points de terminaison REST renvoient généralement l'une de ces formes :

```json theme={null}
{
  "message": "No apiKey provided."
}
```

```json theme={null}
{
  "error": "Unauthorized API key."
}
```

Lorsqu'une requête REST échoue, journalisez le statut HTTP, le corps de la réponse et l'identifiant de la requête.

## Codes d'état courants

| Statut | Signification                                                                                                 |
| ------ | ------------------------------------------------------------------------------------------------------------- |
| `400`  | La demande n'est pas valide, il manque des champs obligatoires ou la validation a échoué.                     |
| `401`  | La clé API est manquante, expirée, non valide ou non autorisée pour l'opération.                              |
| `403`  | La clé API est valide mais son rôle ne dispose pas de l'autorisation requise.                                 |
| `404`  | L'enregistrement demandé n'existe pas dans l'espace de travail de la clé API.                                 |
| `429`  | L'itinéraire est à tarif limité. Ralentissez et réessayez plus tard.                                          |
| `500`  | Plato n'a pas pu terminer la demande. Réessayez plus tard ou contactez l'assistance si le problème se répète. |

## Limites de pagination

Différentes API exposent différents styles de pagination.

Les points de terminaison de la liste CMS utilisent :

```text theme={null}
limit: 1 to 100
offset: 0 or higher
```

Les points de terminaison du menu utilisent :

```text theme={null}
page: 1 or higher
limit: 1 to 100
```

Les opérations de liste Connect360 utilisent des curseurs :

```ts theme={null}
{
  limit: 50,
  cursor: "next_cursor"
}
```

## Limites de flux de commande

Le flux de commandes du restaurant renvoie jusqu'à 50 commandes par demande.

Les plages de dates peuvent aller jusqu'à 5 jours lorsque `date` et `endDate` sont fournies.

## Conseils pour réessayer

Réessayez uniquement lorsque l'échec est temporaire.

Réessayez :

* Délais d'attente du réseau.
* `429` après avoir attendu.
* `500` ou `503` après un court délai.

Ne réessayez pas tant que ce n'est pas résolu :

* Clé API invalide.
* Autorisation manquante.
* Champ inconnu.
* Champ obligatoire manquant.
* ID de relation invalide.

## Idempotence

La création de commandes d'agrégateur est idempotente avec `aggregator` et `externalOrderId`, et accepte également l'en-tête `Idempotency-Key`.

Les opérations d'écriture telles que la création de CMS, la soumission de formulaire et l'envoi de messages peuvent créer de nouveaux enregistrements à chaque fois qu'elles sont appelées. Rendez votre propre intégration idempotente lorsque des soumissions en double sont possibles.
