> For the complete documentation index, see [llms.txt](https://docs.mindee.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mindee.com/v2/fr/integrations/webhooks.md).

# Résultats des webhooks

{% hint style="info" %}
Cette page suppose que vous savez configurer un serveur Web dans le langage de votre choix.
{% endhint %}

## Aperçu

Les webhooks permettent à Mindee d’envoyer directement un résultat d’inférence à votre serveur Web.

Ils offrent les temps de réponse les plus rapides et sont les plus flexibles.

C’est la méthode recommandée pour un usage en production, en particulier en cas de forte utilisation.\
\
Les webhooks sont particulièrement adaptés au traitement d’un grand nombre de fichiers sur une courte période.\
Par exemple, plusieurs lots de factures à la fin du mois.

Vous devrez disposer de votre propre serveur web et d’une URL à laquelle Mindee peut envoyer `POST` des requêtes.

L’URL doit être accessible publiquement et sécurisée (TLS).

### Diagramme de séquence

```mermaid
sequenceDiagram
    participant clientsrv as Mon serveur Web
    participant client as Mon client
    participant enqueue as .../enqueue
    participant srv as Serveur Mindee
    client->>enqueue: POST file
    enqueue->>client: HTTP 202
    client-->>client: enregistrer l’ID du job
    enqueue->>+srv: Démarrer le traitement
    srv->>srv: Traiter le fichier
    srv->>-clientsrv: POST des résultats
    clientsrv->>clientsrv: traiter le résultat JSON
```

### Remarques

Une fois qu'une requête a été envoyée, il n'est pas possible d'arrêter ou d'annuler le traitement.

## Configuration de la plateforme

Un point de terminaison de webhook est une configuration qui permet à Mindee d’effectuer un POST vers une URL donnée, et à vous de la spécifier lors du téléversement d’un fichier.

Les points de terminaison de webhook sont configurés par modèle. Cela vous permet de configurer un point de terminaison spécifique sur votre serveur pour chaque modèle que vous avez dans votre organisation Mindee.

Nous **vous recommandons vivement** d’utiliser une URL distincte pour chaque modèle, afin de faciliter la désérialisation de la charge utile d’inférence. Nous ne pourrons pas fournir d’assistance si vous envoyez tous les modèles vers la même URL.

### Créer un point de terminaison

Dans la plateforme Mindee, accédez à votre modèle en cliquant dessus depuis la page « Mes modèles ».

Une fois sur la page du modèle, il y aura un lien « <i class="fa-webhook">:webhook:</i> Webhooks » dans le menu de gauche, cliquez dessus.

Dans la page Webhooks, il y aura un bouton « Ajouter un webhook », cliquez dessus :

<figure><img src="/files/6b6baae6cddc41129b68721f5a552e6a29143061" alt="adding a webhook endpoint"><figcaption></figcaption></figure>

Cela ouvre une boîte de dialogue vous permettant de saisir le nom du webhook et l’URL de votre serveur Web.

Choisissez le nom qui vous convient.

Vous pouvez créer autant de points de terminaison de webhook que nécessaire.\
C’est utile, par exemple, si vous souhaitez envoyer vers différents environnements de votre système (c.-à-d. dev, staging, prod). Cela permet également des tests locaux faciles.

Une fois les informations requises saisies, le point de terminaison apparaîtra dans la liste des points de terminaison de webhook.

Il existe un bouton « Copier l’ID » qui vous permettra d’utiliser réellement le webhook dans vos appels d’API.

Vous pouvez également utiliser le « secret de signature » pour [valider les charges utiles à l’aide de HMAC](/v2/fr/integrations/client-libraries-sdk/process-the-response.md#load-from-webhook):

<figure><img src="/files/dbc821b7822c645486ea347f974c9bf691c2f0ab" alt="copying the signing secret key for a webhook"><figcaption></figcaption></figure>

### Supprimer un point de terminaison

Dans votre liste de points de terminaison de webhook, cliquez simplement sur l’icône de corbeille « <i class="fa-trash-can">:trash-can:</i> » pour supprimer un point de terminaison.

Toute tentative future d’utilisation d’un webhook supprimé entraînera une erreur HTTP.

## Spécifier lors du téléversement d’un fichier

Lors de la mise en file d’attente d’un fichier ou d’une URL, spécifiez simplement l’ID du ou des points de terminaison de webhook que vous souhaitez utiliser.

L’ID du point de terminaison est un UUID v4, et peut être obtenu en cliquant sur le bouton « Copier l’ID » dans votre liste de points de terminaison de webhook.

Les résultats d’inférence seront envoyés à chaque point de terminaison de la liste fournie.

En général, il vous suffit de spécifier le paramètre des IDs de webhook.

Pour plus d'informations, consultez : [Envoyer un fichier ou une URL](/v2/fr/integrations/client-libraries-sdk/send-a-file-or-url.md#send-with-webhook).

## Tests locaux

Pour tester votre intégration localement, il existe plusieurs solutions open source comme [rathole](https://github.com/rathole-org/rathole), [frp](https://github.com/fatedier/frp), ou [localtunnel](https://www.npmjs.com/package/localtunnel).

Il existe également des produits propriétaires comme [ngrok](https://ngrok.com/use-cases/webhook-testing).

## Chargement d’une inférence

Sur votre serveur Web, vous devrez disposer d’un gestionnaire pour l’URL que vous avez configurée dans le point de terminaison du webhook.

Mindee effectuera un POST des résultats d’inférence vers cette URL.

Le traitement du résultat consiste ensuite à charger la charge utile JSON envoyée depuis le serveur Web.

La charge utile est identique à un résultat de sondage, et son traitement s’effectue exactement de la même manière.

Plus de détails ici : [Traitement des réponses](/v2/fr/integrations/client-libraries-sdk/process-the-response.md)

Nous **vous recommandons vivement** en enregistrant toutes les charges utiles reçues sur le disque ou dans une base de données avant de tenter de charger l’inférence. Nous ne pourrons pas fournir d’assistance si vous n’êtes pas en mesure de récupérer les charges utiles après les avoir reçues.

## Foire aux questions

### Puis-je récupérer les données s’il y a eu une erreur avec le webhook ?

Oui, sous certaines conditions.

Si votre serveur renvoie une erreur lorsque nous effectuons le POST du webhook, l’inférence sera disponible sur le serveur pendant un certain temps.\
La durée exacte de stockage des données dépend des paramètres de stockage du modèle [Paramètres de stockage](/v2/fr/models/data-processing-policies.md#storage-policy), mais la **durée** minimale de stockage est de 1 heure.

Vous pouvez effectuer une requête GET sur l’ID du job pour récupérer les données tant que l’inférence est sur le serveur. L’ID du job est toujours renvoyé lorsqu’un document est envoyé avec succès ; il est important de stocker cet ID lors de l’utilisation des webhooks pour ce type de scénario.

### Comment puis-je configurer différents environnements comme les tests, la préproduction, la production ?

Vous pouvez créer autant de points de terminaison de webhook que nécessaire : créez-en un pour chaque environnement.

Dans votre code, ajoutez une variable d’environnement comme `MINDEE_V2_WEBHOOK_ID` et définissez-la en fonction du point de terminaison correspondant.

Lors de l’envoi d’un fichier pour inférence, [spécifiez l’ID du webhook](/v2/fr/integrations/client-libraries-sdk/send-a-file-or-url.md#webhook-configuration) à l’aide de la variable d’environnement.

### J’ai besoin de filtrer les requêtes entrantes, avez-vous une IP statique ?

Notre serveur webhook sortant (entrant pour vous) dispose bien d’une adresse IP statique.

Les clients Entreprise peuvent nous contacter pour obtenir la plage d’IP.


---

# 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://docs.mindee.com/v2/fr/integrations/webhooks.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.
