# Developer notes

## Racine de l'API

L'API met à disposition un ensemble de ressources accessibles via une URL racine qui vous sera fournie par **VEASYBL**, accompagnée de l'API KEY nécessaire pour authentifier vos appels.

```bash
https://[retailer-endpoint]/v1/
```

`https://[retailer-endpoint]`  représente l'hôte de l'API.

`v1`  indique que vous utilisez la première version de l'API.\
Si vous tentez d'accéder à une autre version de l'API, une erreur 404 sera renvoyée, car il n'existe actuellement qu'une seule version de l'API.

## Méthodes HTTP disponibles

| Méthode | Détails                                                |
| ------- | ------------------------------------------------------ |
| GET     | Récupère une ressource ou une collection de ressources |
| POST    | Créer une nouvelle ressource                           |

## Content-type

**JSON** est le format pris en charge par l'API. Lors de la création de ressources via l'API, il est impératif d'indiquer explicitement que le contenu fourni est au format JSON, en définissant l'en-tête **Content-Type** sur `application/json`.

```bash
curl -X POST [retailer-endpoint]/v1/_event \
-H "Content-Type: application/json" \
-H "x-api-key: [your_api_key_goes_here]" \
-d '{ "visitor": "9e3b1e38-7d65-4b07-a245-f9262d2bcad6" }'
```

## Authentification :unlock:&#x20;

Pour des raisons de sécurité, l'accès à l'API nécessite une authentification. **VEASYBL** fournira une **API KEY** que vous devrez inclure dans l'en-tête **x-api-key** pour authentifier vos appels.

```bash
curl https://[retailer-endpoint]/v1/health \
-H "x-api-key: [your_api_key_goes_here]" \
-H "Content-Type: application/json" \
```

## Statuts HTTP

Voici toutes les réponses que vous pouvez obtenir lors des requêtes à l'API.

### Succès

#### 200 SUCCESS&#x20;

L'obtention d'une ressource ou d'une collection de ressources entraîne une réponse `200 OK`.

```bash
HTTP/1.1 200 OK
```

### Erreurs&#x20;

Il existe plusieurs types d'erreurs lors de la demande via l'API.

#### 400 ERROR&#x20;

L'envoi de données mal formées entraîne une réponse `400 Bad Request`.

```json
HTTP/1.1 400 Bad Request
```

#### 401 ERROR

Tenter d'accéder à l'API sans authentification entraîne une réponse `401 Unauthorized.`

```bash
HTTP/1.1 401 Unauthorized
```

#### 403 ERROR

Tenter d'accéder à l'API sans autorisation entraîne une réponse  `403 Forbidden`.

```bash
HTTP/1.1 403 Forbidden
```

#### 404 ERROR

Tenter d'accéder à une ressource inexistante entraîne une réponse  `404 Not Found.`

```bash
HTTP/1.1 404 Not Found
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.veasybl.io/api-integration/developer-notes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
