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

# Introduction

> Premiers pas avec l'API Client de la UniUni Platform

L'API Client de la UniUni Platform vous permet de créer des expéditions, d'acheter des étiquettes, de gérer des lots, de suivre des livraisons et de recevoir des notifications par webhook de manière programmatique.

## Environnements

Nous offrons des environnements **sandbox** et **production**. Testez votre intégration dans le sandbox avant de passer en production.

| Environnement | URL de base                                   |
| ------------- | --------------------------------------------- |
| Sandbox       | `https://api-sandbox.ship.uniuni.com/client/` |
| Production    | `https://api.ship.uniuni.com/prod/client/`    |

Toutes les requêtes sont en HTTPS uniquement.

## Authentification

Chaque requête doit inclure votre **jeton d'accès API** dans l'en-tête `Authorization` :

```
Authorization: Bearer <VOTRE_JETON_D_ACCES>
```

Consultez [Créer un jeton d'accès](/fr/api/create-access-token) pour les instructions détaillées sur la génération et la gestion de vos jetons.

## Format des requêtes et des réponses

* Toutes les requêtes et réponses utilisent le format **JSON**.
* Utilisez `Content-Type: application/json; charset=utf-8` pour les corps de requêtes POST.
* Toutes les clés d'objets sont en **camelCase**.
* Le code HTTP de réponse est toujours `200` avec un contenu valide. Les contenus invalides retournent un code HTTP `422`.

Chaque réponse suit cette structure :

```json theme={null}
{
  "message": "Shipment created successfully",
  "code": 0,
  "data": { ... }
}
```

| Champ     | Type           | Description                                                    |
| --------- | -------------- | -------------------------------------------------------------- |
| `message` | string         | Informations supplémentaires sur le statut de la requête       |
| `code`    | integer        | Code de statut (`0` indique un succès)                         |
| `data`    | object \| null | Contenu de la réponse. Retourne `null` si `code` n'est pas `0` |

## Pagination

Les points de terminaison de collection prennent en charge la pagination via des paramètres de requête :

| Paramètre  | Par défaut | Max | Description        |
| ---------- | ---------- | --- | ------------------ |
| `page`     | 1          | —   | Numéro de page     |
| `pageSize` | 10         | 500 | Résultats par page |

## Tests en sandbox

Vous pouvez tester votre intégration librement en utilisant l'URL de base du sandbox. Aucun frais ne sera facturé. Les données du sandbox sont isolées et peuvent être réinitialisées sans affecter la production.

Pour ajouter des crédits de test dans le sandbox, utilisez le numéro de carte de crédit de test **4242 4242 4242 4242** avec n'importe quelle date d'expiration et n'importe quel CVC.

## Gestion des erreurs

### 422 Contenu non traitable

Retourné lorsque des paramètres requis sont manquants ou ont un type incorrect :

```json theme={null}
{
  "message": "Invalid payload [...]",
  "errorCode": "PayloadValidationError",
  "statusCode": 422,
  "meta": {
    "issues": [
      {
        "code": "invalid_type",
        "expected": "number",
        "received": "nan",
        "path": ["page"],
        "message": "Expected number, received nan"
      }
    ],
    "name": "ZodError"
  }
}
```

### Erreurs d'authentification

```json theme={null}
{
  "message": "Invalid or revoked access token",
  "code": 1009,
  "data": null
}
```

```json theme={null}
{
  "message": "Missing access token",
  "code": 1009,
  "data": null
}
```

### Codes d'erreur

| Code   | Raison                                  |
| ------ | --------------------------------------- |
| `0`    | Succès                                  |
| `1002` | Requête invalide                        |
| `1006` | Erreur de base de données               |
| `1009` | Erreur générale                         |
| `1014` | Ressource introuvable (étiquettes/lots) |
| `1031` | Échec de la recherche de suivi          |
