> 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 dans un cas d'utilisation server-to-server.

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

## URL de l'endpoint

L'endpoint collect 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` (obligatoire) : ID du site
* `token` (obligatoire) : clé source

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

## En-têtes

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

L'endpoint nécessite un `Content-Type` 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 de nommage des événements** ainsi que le **`propriété event.` payload de la méthode** dans nos [spécifications](/fr/developpeurs/tracking-and-integrations/tracking/about-events.md).

{% hint style="warning" %}
Le format du payload a évolué en nov. 2022. L'ancien format restera 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

L'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/developpeurs/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 requête <a href="#max-request-size" id="max-request-size"></a>

Il y a un maximum de `32KB` par requête API.

Le `batch` L'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'y a pas de vraie 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 de 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": "Page de recherche",
      "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 en 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.

Conjointement avec HTTPS, nous utilisons un système d'authentification basé sur un token API. Chaque source créée se voit attribuer un token unique qui reste identique pour toutes les requêtes API liées à cette source spécifique. Cette conception offre à la fois sécurité et praticité, en permettant aux clients de gérer plusieurs sources, chacune avec son 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 puissent être invalidés si nécessaire pour des raisons de sécurité ou d'exploitation. Notre approche de sécurité est adaptée aux besoins variés de nos clients. Nous nous concentrons sur la fourniture d'une expérience sécurisée, efficace et conviviale. Notre choix de HTTPS et de l'authentification basée sur un token s'aligne sur notre engagement à offrir une sécurité robuste tout en garantissant une intégration facile et une flexibilité opérationnelle pour nos clients. Cette approche est choisie plutôt que des systèmes plus complexes comme Mutual TLS (mTLS), OpenID Connect (OIDC) ou le filtrage IP.

## batch

Le `batch` La méthode batch vous permet d'envoyer une série de `propriété event.` requêtes dans un seul batch, ce qui permet d'économiser des requêtes sortantes.

Il y a un maximum de `500KB` par requête batch et `32KB` par appel.

L'endpoint collect 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 batch

Exemple de 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:

```
GET https://doc.commandersact.com/fr/fonctionnalites/sources/sources-catalog/server/http-tracking-api.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.
