> 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/server/http-tracking-api.md).

# source API de tracking HTTP

L'API HTTP Tracking est utilisée pour suivre **événements** depuis n'importe quel site web, application ou serveur. Les données sont collectées par nos serveurs, puis traitées et acheminées vers toute destination configurée. Elle est souvent utilisée pour un cas d'utilisation serveur à serveur.

Pour gérer les utilisateurs, consultez plutôt le [User API](https://doc.commandersact.com/features/sources/sources-catalog/import-crm-users/api-users), et pour les produits, la [API produit](/fr/fonctionnalites/sources/sources-catalog/import-conversions/api-conversions-and-product-catalog.md).

## URL du endpoint

Le endpoint de collecte de l'API est disponible à l'URL suivante :

```
https://collect.commander1.com/events?tc_s={siteId}&token={sourceKey}
```

Méthode HTTP : `POST`

## Paramètres

* `tc_s` (requis) : ID du site
* `token` (requis) : clé source

{% hint style="info" %}
La clé source est affichée dans les paramètres de n'importe quel [source](/fr/fonctionnalites/sources/overview.md).
{% endhint %}

## En-têtes

### Type de contenu <a href="#content-type" id="content-type"></a>

Le endpoint nécessite un `Content-Type` en-tête défini sur `application/json`:

```
Content-Type: application/json
```

## Payload

Les propriétés de l'événement doivent être fournies dans le corps de la requête au format JSON.

Voir les détails sur **les bonnes pratiques pour nommer les événements** ainsi que le **`événement` payload de la méthode** dans notre [spécifications](/fr/developers/tracking-and-integrations/tracking/about-events.md).

{% hint style="warning" %}
Le format du payload a évolué en novembre 2022. L'ancien format sera encore pris en charge pendant un an. [Plus d’informations ici](/fr/fonctionnalites/sources/sources-catalog/server/http-tracking-api/http-tracking-api1_0.md).
{% endhint %}

{% hint style="info" %}
Les horodatages doivent être en millisecondes (ms).
{% endhint %}

{% hint style="info" %}
`consistent_anonymous_id` correspond à un identifiant unique pour un utilisateur, utilisé sur la plateforme CAX pour identifier un utilisateur. C'est l'équivalent du cookie CAID sur une source Web.
{% endhint %}

## Erreurs

Le endpoint renvoie une réponse HTTP 200 à toutes les requêtes API. Ainsi, le débogage doit être effectué via l'interface de la plateforme ou notre [API de configuration](/fr/developers/config-api.md) (inspecteur d'événements ou API de livraison d'événements).

À titre d'exception, un code HTTP 400 est renvoyé si la requête est trop volumineuse ou si le JSON du payload est invalide.

## Taille maximale de la requête <a href="#max-request-size" id="max-request-size"></a>

La taille maximale est de `32KB` par requête API.

Le `batch` Le endpoint API accepte un maximum de `500KB` par requête, avec une limite de `32KB` par événement dans le batch.

## Limite de débit

Il n’existe pas de véritable limite de débit au-delà de laquelle le système rejettera vos données. Mais si vous devez importer à un rythme supérieur à **500 requêtes par seconde**, veuillez [nous contacter](mailto:support@commandersact.com) au préalable.

## Exemple

Exemple d'une requête API :

```
POST https://collect.commander1.com/events?tc_s=29&token=7183b9d4-1031-11ee-be56-0242ac120002
```

```json
{
  "event_name": "search",
  "search_term": "t-shirts",
  "user": {
    "id": "12345",
    "consistent_anonymous_id": "67892",
    "email": "toto@domain.fr",
    "consent_categories": [
      "1",
      "3"
    ]
  },
  "context": {
    "event_id": "202110130000000000",
    "page": {
      "title": "Search page",
      "url": "https://shop.com/search?q=...",
      "lang": "en",
      "referrer": "https://www.google.fr",
      "viewport": {
        "width": 320,
        "height": 568
      }
    },
    "device": {
      "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36",
      "ip": "102.3.4.56",
      "lang": "fr",
      "cookie": "_fbp=123; _fbc=456; _ga=789",
      "timezone": "Europe/Paris"
    },
    "event_timestamp": "1639044446636"
  }
}
```

## Spécification OpenAPI

Télécharger la spécification OpenAPI :

{% file src="/files/d7ebe01b0903476b152dddd043d8a9393952b6c7" %}

## Sécurité et authentification

Notre API fonctionne via HTTPS, un standard de communication sécurisée sur Internet. Ce protocole garantit que les données sont chiffrées et transmises de manière sécurisée.

En combinaison avec HTTPS, nous utilisons un système d'authentification basé sur un token d'API. Chaque source créée se voit attribuer un token unique qui reste constant sur toutes les requêtes API pour cette source spécifique. Cette conception offre à la fois sécurité et simplicité, permettant aux clients de gérer plusieurs sources, chacune avec son propre token dédié. La possibilité pour les clients de créer, gérer et désactiver des sources à volonté via notre interface ajoute un niveau de contrôle supplémentaire, garantissant que les tokens peuvent être révoqués si nécessaire pour des raisons de sécurité ou d'exploitation. Notre approche de sécurité est adaptée aux besoins divers de nos clients. Nous nous concentrons sur la fourniture d'une expérience sûre, efficace et conviviale. Notre choix de HTTPS et de l'authentification basée sur un token s'inscrit dans notre engagement à offrir une sécurité robuste tout en garantissant une facilité d'intégration et une flexibilité opérationnelle pour nos clients. Cette approche est privilégiée par rapport à des systèmes plus complexes comme Mutual TLS (mTLS), OpenID Connect (OIDC) ou le filtrage IP.

## batch

Le `batch` la méthode vous permet d'envoyer une série de `événement` requêtes en un seul batch, ce qui réduit les requêtes sortantes.

La taille maximale est de `500KB` par requête batch et `32KB` par appel.

Le endpoint de collecte de l'API batch est disponible à l'URL suivante :

<pre><code><strong>https://collect.commander1.com/events/batch?tc_s={siteId}&#x26;token={sourceKey}
</strong></code></pre>

### Exemple de batch

Exemple d'une requête API :

```
POST https://collect.commander1.com/events/batch?tc_s=29&token=7183b9d4-1031-11ee-be56-0242ac120002
```

<pre class="language-json"><code class="lang-json"><strong>{
</strong>  "batch": [
      {
        "event_name": "add_payment_info",
        "payment_method": "card",
        "revenue": 16.00,
        "value": 22.53,
        "currency": "EUR",
        "user": {
            "id": "12345",
            "consistent_anonymous_id": "67892",
            "consent_categories": [1,3]
        },
        "context": {
          "event_id": "202210310000000000",
          "page": {},
          "device": {}
        },
        "event_timestamp": "1639044446636"
<strong>      },
</strong>      {
        "event_name": "generate_lead",
        "method": "LinkedIn",
        "user": {
            "consistent_anonymous_id": "5689865"
            "consent_categories": [1,2,3]
        },
        "context": {
          "event_id": "202210180000000000",
          "page": {},
          "device": {}
        },
        "event_timestamp": "1639094446633"
      }
  ]
}
</code></pre>


---

# 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/server/http-tracking-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.
