Pour les développeurs

API et webhooks

Récupérez automatiquement transcriptions, résumés et tâches dans vos propres systèmes, via l’API REST ou un webhook. Aucun détour par des services américains : tout fonctionne sur notre infrastructure située dans l’UE.

Inclus à partir de l’offre Pro. L’accès à l’API est déjà activé pendant l’essai de 14 jours.

Connecté en 3 étapes

  1. Dans MeetingIQ, créez un jeton d’API sous Einstellungen → API & Webhooks (Paramètres → API et webhooks). Pour des raisons de sécurité, il n’est affiché qu’une seule fois.
  2. Interrogez l’API REST, ou saisissez une URL de webhook à laquelle nous envoyons chaque réunion terminée.
  3. C’est tout. Pour Make, Zapier ou n8n, il vous suffit de l’URL de webhook générée dans l’outil.

API REST

Tous les endpoints sont en lecture seule, renvoient du JSON et attendent le jeton dans l’en-têteAuthorization: Bearer miq_…Limite : 120 requêtes par minute et par jeton.

GET/api/v1/meetingsListe, filtrable par statut
GET/api/v1/meetings/{id}Résumé, points clés, tâches
GET/api/v1/meetings/{id}/transcriptTexte intégral + segments par intervenant

Exemple

curl -H "Authorization: Bearer miq_..." \
  "https://meetingiq.de/api/v1/meetings?status=completed&limit=10"

Réponse

{
  "data": {
    "id": "6165b3df-…", "title": "Jour Fixe Vertrieb", "status": "completed",
    "language": "de", "durationSec": 2984,
    "summaryShort": "…", "summary": "…",
    "keyPoints": ["…"], "decisions": ["…"],
    "participants": [{ "name": "Anna Beispiel", "email": "anna@firma.de" }],
    "tasks": [{ "title": "Angebot nachfassen", "assignee": { "name": "Anna" },
                "dueDate": null, "status": "open" }],
    "links": { "self": "…", "transcript": "…", "app": "…" }
  }
}

Webhooks

Dès qu’une réunion est entièrement traitée, nous envoyons le résultat complet à votre URL par POST, avec la même structure que l’API. Les envois qui échouent sont relancés automatiquement, et chaque envoi peut être consulté avec son statut dans l’interface.

POST https://your-domain.com/hook
X-MeetingIQ-Event:     meeting.completed
X-MeetingIQ-Delivery:  9f1c…            (ID de cet envoi)
X-MeetingIQ-Signature: sha256=…         (HMAC sur le corps brut)

{ "event": "meeting.completed", "timestamp": "…", "data": { …Meeting… } }

Vérifier la signature (Node.js)

const expected = "sha256=" + crypto
  .createHmac("sha256", SIGNING_SECRET)
  .update(rawBody)
  .digest("hex");

crypto.timingSafeEqual(
  Buffer.from(expected),
  Buffer.from(req.headers["x-meetingiq-signature"])
);

Make, Zapier et n8n

Vous n’avez besoin d’aucune intégration supplémentaire. Les trois acceptent un webhook entrant générique :

  • Make : créez un module « Custom Webhook » et copiez l’URL générée.
  • Zapier : « Webhooks by Zapier » → déclencheur « Catch Hook ».
  • n8n : nœud Webhook, utilisez l’URL de production.

Saisissez l’URL dans MeetingIQ sous Einstellungen → API & Webhooks (Paramètres → API et webhooks). Un clic sur « Testen » (Tester) déclenche aussitôt un envoi de test : vous pouvez ainsi configurer la correspondance des champs sans attendre la prochaine réunion.

Protection des données

Le traitement et le stockage ont lieu exclusivement dans l’UE. Les jetons ne sont stockés que sous forme d’empreinte (hash), peuvent être révoqués à tout moment, et chaque envoi de webhook est signé. Les accès via l’API sont traçables dans le journal d’audit. Pour en savoir plus, consultez notre centre de confidentialité et le contrat de sous-traitance (tous deux en allemand).

Des questions sur l’intégration ?

Dites-nous vers quel système les données doivent aller, et nous le configurerons une première fois avec vous.