Interconnecter 2 documents Grist via Webhook sur l'api Grist

Bonjour,

Je me permets de vous contacter concernant le fonctionnement des webhooks et leur compatibilité avec l’API d’ajout de records.

Après tests, j’ai constaté le comportement suivant :

  • Le webhook Grist envoie un tableau JSON de lignes (array), chaque ligne étant un objet contenant directement les colonnes, par exemple :
    [{ id: ..., ColA: ..., ColB: ... }, ...]

  • L’API POST /api/docs/{docId}/tables/{tableId}/records attend quant à elle un objet contenant une clé records, avec une structure de ce type :
    {"records": [{"fields": { ... }}]}

En conséquence, il n’est pas possible de configurer un webhook pour pointer directement vers l’endpoint /tables/Table2/records, puisque le format du payload n’est pas compatible et nécessite une transformation intermédiaire.

Ma question est la suivante :
Existe-t-il une manière native (paramétrage, option, format alternatif, etc.) permettant au webhook d’envoyer un payload compatible avec l’endpoint POST /records, ou bien est-il nécessaire de passer systématiquement par un service intermédiaire pour transformer la structure ?

Merci d’avance pour votre retour et vos éclaircissements.

Cordialement,

Hi Antoine,

You can make the /records endpoint more accepting by adding an undocumented flag ?flat=1. Then it will accept the format you want. However, ids will not be respected.

Wonderful ! thanks a lot