> For the complete documentation index, see [llms.txt](https://docs.hablla.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hablla.com/french/flux-dautomatisations/tous-les-composants/declencheurs-et-http/http.md).

# HTTP

### Vue d'ensemble

Le **Composant de requête HTTP** est un nœud d'action avancé conçu pour effectuer des intégrations structurées avec des systèmes externes (comme des CRM propriétaires, des ERP, des passerelles de paiement ou des plateformes logistiques). Sa fonction principale est de déclencher des appels synchrones vers des endpoints et webhooks tiers en utilisant l'architecture REST. Il permet d'envoyer des payloads personnalisés et de capturer les réponses (*statut de réponse et corps*) pour conditionner et ramifier le parcours de l'utilisateur au sein du chatbot en temps réel.

### Paramètres de configuration

La paramétrisation du composant offre un contrôle complet sur les couches du protocole HTTP :

* **Méthode :** Menu déroulant utilisé pour sélectionner le verbe HTTP de la requête selon l'opération souhaitée dans l'API cible. Les options incluent :
  * `GET`: Pour la lecture ou la consultation de données.<br>
  * `POST`: Pour la création de nouveaux enregistrements.<br>
  * `PUT` / `PATCH`: Pour la mise à jour des données existantes.<br>
  * `HEAD` / `OPTIONS` / `DELETE`: Pour les opérations structurelles ou la suppression de ressources.<br>
* **Authentification :** Menu pour charger des identifiants déjà enregistrés sur la plateforme (comme *jetons Bearer*, *authentification Basic* ou des clés API).<br>
* **URL (\* Champ obligatoire) :** L'adresse web ou l'endpoint cible du service (ex. : `https://api.sistema.com/v1/leads`).<br>
* **Envoyer des paramètres de requête (interrupteur) :** Lorsqu'il est activé, ouvre la section *Spécifier les paramètres de requête* avec l'option `En utilisant des champs` pour construire des paires clé-valeur qui seront ajoutées à l'URL sous forme de *chaînes de requête* (ex. : `?status=ativo`).<br>
* **Envoyer des en-têtes (interrupteur) :** Lorsqu'il est activé, ouvre la section *Spécifier les en-têtes* et le répéteur *Paramètres d'en-tête* pour injecter des propriétés personnalisées dans les métadonnées de la requête (comme `Content-Type` ou des jetons personnalisés).<br>
* **Envoyer le corps (interrupteur) :** Déverrouillé principalement pour les méthodes d'écriture (`POST`, `PUT`, `PATCH`). Active le champ *Type de contenu du corps* (comme `JSON` ou `form-data`) pour le remplissage de la charge utile principale.<br>
* **skipSslCertificateValidation (interrupteur) :** Lorsqu'il est activé, il demande au moteur d'automatisation d'ignorer les erreurs de certificats SSL invalides ou expirés sur le serveur cible.<br>
* **Délai d'attente de la requête :** Champ numérique pour déterminer la fenêtre d'attente maximale (*timeout*) en secondes avant que le système n'interrompe la tentative.<br>

### Concepteur visuel

L'interface du constructeur a été conçue selon une logique modulaire adaptative (*conception en accordéon*):

* **Expansion conditionnelle des menus :** Comme démontré dans `image_452fc2.png`, l'interface se déploie intelligemment. Lorsque les commutateurs sont activés (*commutateurs*), le panneau libère les boutons interactifs **+ Ajouter un paramètre**, permettant d'empiler les champs clé-valeur de manière organisée, en les masquant lorsqu'ils sont désactivés afin de garder l'écran épuré.<br>
* **Validation de la cible :** L'astérisque (`*`) dans le champ *URL* sert de verrou syntaxique dans l'éditeur. Le flux d'automatisation ne peut pas être publié si la route HTTP est vide.<br>

### Opérateurs spéciaux

Les propriétés logiques de ce composant gèrent les requêtes asynchrones et l'héritage de charges utiles JSON :

* **Interpolation de chaînes dans l'URL et le corps :** Tous les champs de texte du composant (URL, paramètres, en-têtes et corps) prennent nativement en charge l'utilisation de doubles accolades `{{...}}`. Cela permet de construire des appels dynamiques en injectant des données du contact collectées dans le flux (ex. : `https://api.com/user/{{$data?.id_person}}`).<br>
* **Injection de l'objet de réponse dans la portée :** Lorsqu'une requête aboutit, le moteur d'automatisation stocke la réponse dans l'objet local du contact (`$data`). La charge utile renvoyée est disponible pour les nœuds suivants via des sous-variables structurées :
  * `http.status`: Code numérique de retour (ex. : `200` pour un succès, `404` pour non trouvé).<br>
  * `http.body`: Le contenu renvoyé par le serveur partenaire (généralement structuré en JSON ou XML).<br>

### Exemples pratiques

Le tableau ci-dessous montre des scénarios traditionnels pour renseigner les propriétés du nœud afin de connecter le flux à des API externes :

| **Méthode sélectionnée** | **URL configurée**                         | **Clés activées**                                           | **Format de l'entrée**                                                                                                                                 | **Cas d'utilisation pratique**                                                                                                                          |
| ------------------------ | ------------------------------------------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `GET`                    | `https://api.exemplo.com/v1/cliente`       | Envoyer des paramètres de requête                           | <p><strong>Clé :</strong> <code>cpf</code><br><br><br><br><strong>Valeur :</strong> <code>{{$data?.cpf}}</code></p>                                    | Consulter la situation de paiement ou l'enregistrement d'un client dans une base de données interne à partir du CPF collecté dans le chatbot.           |
| `POST`                   | `https://api.gateway.com/v2/pix`           | <p>Envoyer des en-têtes<br><br><br><br>Envoyer le corps</p> | <p><strong>En-têtes :</strong> <code>Authorization</code><br><br><br><br><strong>Corps (JSON) :</strong> <code>{"valeur": {{$data?.total}}}</code></p> | Intégrer le chatbot à une API de paiements pour générer une clé PIX dynamique de facturation et renvoyer le code à copier-coller dans le chat.          |
| `PATCH`                  | `https://meucrm.com/api/leads/{{lead_id}}` | Envoyer le corps                                            | **Corps (JSON) :** `{"status": "En cours de prise en charge"}`                                                                                         | Mettre à jour automatiquement l'étape de l'entonnoir d'un lead dans le CRM d'entreprise de la société dès que le contact choisit de parler à un humain. |


---

# 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://docs.hablla.com/french/flux-dautomatisations/tous-les-composants/declencheurs-et-http/http.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.
