ForHosting KIT · Outils pour développeurs

Transformer un payload de webhook

L'adresse e-mail située dans data.customer.email passe sous correo et le montant 8500 sous importe, tandis qu'un chemin inexistant est simplement omis : décrivez la forme qu'attend le système destinataire et obtenez le message reconstruit sur mesure. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.

Vous collez un événement d’exemple, vous définissez la correspondance entre champs d’entrée et de sortie, et la transformation s’applique — entièrement dans votre navigateur.

Pourquoi deux systèmes s'accordent rarement sur la forme

Deux systèmes qui se disent intégrés s'accordent rarement sur les noms, l'imbrication ou même le format des dates. Un prestataire de paiement envoie le montant en centimes sous forme d'entier, alors que votre facturation l'attend en texte décimal imbriqué trois niveaux plus bas. Un CRM émet un événement de nouveau prospect sous forme d'objet plat, alors que votre outil marketing veut une liste de contacts même quand il n'y en a qu'un. Ce ne sont pas des bogues : ce sont deux équipes qui prennent séparément des décisions différentes et raisonnables, et ce décalage est exactement ce qui casse des intégrations qui semblaient fonctionner en démonstration. Cet outil se place entre les deux et reconstruit ce que l'un envoie dans la structure qu'attend l'autre, sans que l'un ou l'autre modifie son propre code.

Une correspondance plutôt que du code écrit à la main

La forme cible se décrit par une correspondance. Chaque nom du résultat pointe vers le chemin à points où se trouve sa valeur dans le message reçu : dans l'exemple, correo pointe vers data.customer.email et importe vers data.amount, si bien que le montant 8500 se retrouve sous importe. Un chemin inexistant, comme data.no.existe, est omis au lieu d'être rempli par une valeur inventée. Garder cette correspondance hors de votre application compte : les transformations écrites à la main sont oubliées et cassent sans bruit quand la source change un nom des mois plus tard, alors qu'une correspondance séparée peut être relue et vérifiée à part. Un service comptant des dizaines de partenaires peut garder une correspondance par partenaire et en intégrer un nouveau sans toucher au code partagé.

Deux systèmes qui ne parlent pas la même langue

Entre les deux, il faut une traduction. Plutôt que d’écrire un petit service intermédiaire pour renommer trois clés, vous définissez la correspondance ici et vérifiez le résultat sur un événement réel. Ce qui prenait un déploiement se règle en quelques minutes.

Renommer, aplatir, filtrer

Les opérations courantes sont couvertes : renommer une clé, remonter un champ enfoui dans un objet imbriqué vers la racine, supprimer les champs superflus, imposer une valeur constante. Vous composez ainsi la structure exacte attendue par le système cible, à partir de la charge utile brute reçue, sans toucher au service émetteur que vous ne contrôlez pas toujours et dont vous ne pouvez pas modifier le format.

Tout se passe dans votre navigateur

La transformation s’exécute intégralement sur votre appareil. Le contenu de vos événements — qui contient souvent des identifiants, des montants ou des e-mails de clients — n’est ni transmis, ni enregistré, ni journalisé sur nos serveurs. Vous testez une correspondance sur des données réelles en toute discrétion, fermez l’onglet, et il n’en reste rien.

C’est gratuit, sans limite et sans inscription.

Tester une correspondance avant de la coder

Avant d’implémenter la transformation dans son code, l’équipe de Studio Lumen SAS la met au point ici sur des exemples réels, puis reprend la logique validée.

Mes données sont-elles envoyées sur vos serveurs ?

Non. Dans le navigateur, la transformation s’exécute entièrement sur votre appareil. Le contenu de vos événements n’est ni transmis, ni enregistré, ni journalisé.

Quelles transformations sont possibles ?

Renommer des champs, aplatir des objets imbriqués, filtrer ou supprimer des clés, imposer des valeurs constantes. De quoi composer la structure exacte attendue par le système qui reçoit l’événement.

Est-ce vraiment gratuit ?

Dans le navigateur, oui : sans limite et sans inscription, puisque tout se calcule sur votre appareil.

Puis-je l’intégrer à mon flux automatisé ?

D’autres canaux suivront. La mise au point, elle, reste gratuite sur la page.

Faut-il créer un compte ?

Non. L’outil s’utilise directement dans le navigateur, sans inscription.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/dev/webhook-transform

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/dev/webhook-transform \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"payload":{"user":{"name":"Ada"}},"mapping":{"nombre":"user.name"}}'
{
  "payload": {
    "user": {
      "name": "Ada"
    }
  },
  "mapping": {
    "nombre": "user.name"
  }
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.webhook_transform",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Cet outil réécrit la charge utile JSON d’un webhook pour l’adapter au système qui la reçoit : renommer des champs, aplatir une structure imbriquée, ne garder que l’essentiel.

Deux systèmes qui ne parlent pas la même langue

Un service émet un webhook avec ses propres noms de champs ; celui qui le reçoit en attend d’autres.

Du test manuel à l’automatisation

Ici, sur la page, la mise au point de la correspondance est gratuite et illimitée. Une fois la transformation figée, l’API l’applique à chaque événement, en direct dans votre flux, facturée $0.002 par requête en dollars US. Vous restez maître de la logique ; l’API ne fait qu’exécuter, sans surprise, ce que vous avez validé à la main sur des exemples concrets.

Brancher un paiement sur votre CRM

Un webhook de paiement arrive avec vingt champs ; votre CRM en attend cinq, sous d’autres noms. Nadia définit la correspondance, la teste sur un vrai événement, et le pont fonctionne sans écrire de service dédié.

Nettoyer un payload trop verbeux

Un fournisseur envoie une charge utile énorme dont Thomas ne veut que trois champs. Il filtre le superflu et ne transmet à son système que l’essentiel, plus léger et plus clair.

Gère-t-il les structures JSON imbriquées ?

Oui. Vous pouvez remonter un champ situé profondément dans un objet vers la racine, ou au contraire regrouper des champs, pour passer d’une forme à une autre sans perdre de données.

Consulter la documentation complète du KIT →