Les en-têtes HTTP sont des paires clé-valeur associées à chaque requête et réponse HTTP. Ils contiennent des informations sur la requête elle-même, distinctes du contenu envoyé : l’expéditeur, le format attendu des données et leur traitement. Dans la gestion des flux, les en-têtes permettent à une plateforme de s’authentifier auprès d’une API, de préciser qu’elle envoie ou attend du JSON plutôt que du XML, et de transmettre des instructions de mise en cache ou de compression, sans que ces informations n’encombrent le corps de la requête avec les données produit.
Pourquoi c'est important pour la gestion des aliments
Chaque connexion automatisée entre une plateforme de flux et un canal (Google Merchant Center, Meta Catalog, le propre ERP du détaillant) dépend du bon fonctionnement des en-têtes. Authorization Un en-tête contenant un jeton invalide ou expiré entraînera l'échec immédiat d'une soumission de flux par ailleurs parfaitement formatée, et un en-tête manquant ou incorrect Content-Type Un en-tête peut entraîner une mauvaise interprétation d'une charge utile JSON par un canal, la prenant pour du texte brut, ou inversement, corrompant ainsi silencieusement un envoi. C'est également dans les en-têtes que résident les mécanismes de limitation de débit et de nouvelle tentative : de nombreuses API renvoient des en-têtes comme Retry-After or X-RateLimit-Remaining Il est essentiel d'indiquer à une plateforme de flux le nombre de requêtes qu'elle peut encore effectuer avant d'être limitée, notamment lors de la synchronisation de dizaines de milliers de références avec un canal qui plafonne le nombre de requêtes par minute. Le débogage d'une synchronisation de flux ayant échoué commence souvent par l'inspection des en-têtes, car le corps d'une requête peut sembler parfaitement correct alors qu'un en-tête erroné est à l'origine du rejet.
Fonctionnement
Les en-têtes sont envoyés sous forme de lignes de texte brut en haut d'une requête ou d'une réponse HTTP, séparément de l'URL et du corps. Une requête API de flux typique pourrait inclure : Authorization: Bearer <token> pour prouver l'identité de l'appelant, Content-Type: application/json déclarer le format des données envoyées, et Accept: application/json pour spécifier le format attendu en retour. Contrairement à un paramètre de requête ou l'autre Paramètres d'URL Les en-têtes qui apparaissent directement dans la barre d'adresse sont invisibles dans l'URL elle-même, ce qui en fait l'endroit idéal pour les informations sensibles telles que les jetons d'authentification qui ne doivent pas figurer dans l'historique du navigateur ni dans les journaux du serveur. Certains en-têtes sont définis automatiquement par le client ou le serveur (comme Date or Content-Length), tandis que d'autres — notamment l'authentification et les en-têtes de suivi personnalisés — sont configurés explicitement par celui qui réalise l'intégration.
Exemple
<!-- Representative HTTP request headers sent when a feed platform
pushes a product update to a channel's API -->
<item>
<g:id>SKU-40217</g:id>
<title>Ceramic Plant Pot - 8 inch, Terracotta</title>
<g:price>18.50 USD</g:price>
<sync_request_headers>
Authorization: Bearer eyJhbGciOi...
Content-Type: application/json
Accept: application/json
</sync_request_headers>
</item>
Le sync_request_headers Le bloc ci-dessus ne constitue pas un véritable attribut de flux, mais il illustre les métadonnées d'en-tête qui accompagnent les données de cet élément chaque fois qu'il est envoyé à un canal via un appel API plutôt que par un téléchargement de fichier en masse.
Concepts associés
Les en-têtes fonctionnent en parallèle des paramètres de requête et d'URL , mais indépendamment de ceux-ci. La principale différence réside dans leur visibilité : les en-têtes restent en dehors de l'URL, ce qui explique pourquoi les jetons d'authentification y figurent plutôt qu'ajoutés à un lien. Ensemble, ces trois éléments définissent ce que l' API d'un canal reçoit réellement. Une erreur dans la configuration de l'un d'eux est l'une des causes les plus fréquentes d'échec silencieux de la synchronisation d'un flux.