> For the complete documentation index, see [llms.txt](https://doc.commandersact.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.commandersact.com/fr/fonctionnalites/sources/sources-catalog/web/containers/best-practices/apis/onsite-api.md).

# API onsite

## Premiers pas

L'API onsite est utilisée pour interagir avec les fonctionnalités de Commanders Act avec JavaScript.

## Comment l'utiliser

L'API onsite se compose d'une seule fonction, `cact()`, avec la signature stricte suivante :

```javascript
cact(command, [options,] [callback])
```

| Argument   | Descriptions                                                                                                     | Obligatoire |
| ---------- | ---------------------------------------------------------------------------------------------------------------- | ----------- |
| `command`  | Un identifiant sous forme de chaîne utilisé pour sélectionner la méthode souhaitée.                              | Obligatoire |
| `options`  | Un objet JavaScript qui inclut les données transmises à la méthode.                                              | Facultatif  |
| `callback` | Une fonction de rappel JavaScript utilisée pour recevoir des informations ou des événements depuis l'API onsite. | Facultatif  |

L'API onsite est incluse dans chaque conteneur et bannière de confidentialité.

## Envoyer un événement

Pour envoyer des données d'événement à la plateforme serverside Commanders Act, utilisez cette commande :

```javascript
cact('<event_name>', {<event_params>});
```

Exemple : pour envoyer un événement d'achat :

```javascript
cact('purchase', { 
  id:'1234',
  currency: 'EUR',
  //...
});
```

## Obtenir des informations

Pour obtenir différentes valeurs de Commanders Act, utilisez cette commande :

```javascript
cact(get command, [callback])
```

Exemple : pour obtenir le consentement de TrustCommander, vous pouvez appeler l' `consent.get` API comme ceci :

```javascript
cact('consent.get', function(result) {
    if (result.consent.status === "all-on") {
        
        // Consentement disponible pour toutes les catégories.
        
    }
});
```

{% hint style="warning" %}
Les méthodes de l'API onsite sont appelées de manière asynchrone. Au cas où, par exemple, vous auriez besoin d'informations synchrones dans le `<head>` du document, il est recommandé de mettre en cache et de récupérer le résultat de l'API dans `localStorage`.
{% endhint %}

## Gestion des erreurs

Vous pouvez gérer les erreurs via la propriété error dans l'objet de rappel.\
Exemple :

```javascript
cact('consent.get', function(result) {

    if (result.error) {
    
        // Gérer l'erreur
    
    }
    else if (result.consent.status === "all-on") {
        
        // Consentement disponible pour toutes les catégories.
        
    }
});
```

## Stub API (facultatif)

Pour une utilisation avancée, nous fournissons également un API stub qui peut être ajouté lorsque vous devez interagir avec l'API avant que les conteneurs ou les bannières ne soient chargés.\
Ce stub est déjà inclus dans les conteneurs et les bannières de confidentialité, vous n'avez donc pas besoin de l'ajouter dans la plupart des cas d'utilisation.\
Le stub est utilisé pour mettre en tampon toutes les méthodes dans un tableau JavaScript jusqu'à ce que le JavaScript de Commanders Act soit chargé et prêt à traiter les méthodes. Cela permet par exemple d'utiliser l'API onsite avant que le JavaScript de TrustCommander ne soit chargé.

```javascript
window.caReady = window.caReady || []; 
window.cact = function() { window.caReady.push(arguments); };
```

`window.caReady` est un tableau JavaScript qui met en buffer les interactions avec l'API. `window.cact` est une fonction JavaScript utilisée pour interagir avec l'API onsite.

{% hint style="success" %}
Si vous travaillez au sein d'une grande équipe et n'êtes pas sûr que le stub ait déjà été installé, il est tout à fait acceptable d'installer le stub JavaScript plusieurs fois.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://doc.commandersact.com/fr/fonctionnalites/sources/sources-catalog/web/containers/best-practices/apis/onsite-api.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
