Webhooks et API · Forfaits payants

Chaque facture traitée, envoyée vers vos propres systèmes.

Tailride envoie un webhook JSON signé dès qu’une facture est traitée ou modifiée — fournisseur, montants, TVA, lignes et lien vers le PDF. Recherchez vos factures via une API REST, ou connectez Zapier et Make sans écrire de code.

Qu’est-ce que le webhook de factures Tailride ?

Un webhook est une requête HTTP POST que Tailride envoie à l’URL de votre choix. Il existe deux événements : invoice.processed quand une nouvelle facture a été lue, et invoice.updated quand quelqu’un la modifie, y joint un document ou la marque comme payée. Chaque requête est signée en HMAC-SHA256, renvoyée si votre serveur est indisponible et consignée dans le journal d’activité de la facture : votre ERP, votre entrepôt de données ou votre circuit d’approbation reçoit les mêmes données que celles de votre tableau de bord.

Ce que reçoit votre endpoint

La vraie requête, en-têtes compris

Voici une livraison invoice.processed telle que Tailride l’envoie. invoice.updated contient la même facture, plus la liste de ce qui a changé.

Paramètres → Webhooks
Synchro ERPhttps://erp.example.com/hooks/tailride
Actif
Événement
Facture traitée invoice.processed
Secret de signature
whsec_••••••••••••3f9aCopier le secret de signatureRégénérer le secret de signature
En-têtes personnalisés
Authorization: Bearer ••••••
Vérifier la signature (Node.js)
import crypto from "node:crypto";

export function isFromTailride(req, rawBody, secret) {
  const ts = req.headers["x-tailride-timestamp"];
  const sig = req.headers["x-tailride-signature"]?.replace("v1=", "") ?? "";
  if (Math.abs(Date.now() / 1000 - Number(ts)) > 300) return false;
  const expected = crypto.createHmac("sha256", secret)
    .update(`${ts}.${rawBody}`).digest("hex");
  return sig.length === expected.length &&
    crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(expected));
}
Rechercher des factures via l’API REST
curl "https://tailride.so/api/v1/invoices?search=northwind&limit=20" \
  -H "X-Api-Key: trapi_…"
Requête
POST /hooks/tailride HTTP/1.1
Content-Type: application/json
User-Agent: Tailride-Webhooks/1.0
X-Tailride-Event: invoice.processed
X-Tailride-Timestamp: 1792574400
X-Tailride-Signature: v1=5f2c8e…b41d

{
  "event": "invoice.processed",
  "timestamp": "2026-10-21T09:20:00.000Z",
  "data": {
    "invoice": {
      "id": "6716f0c2e4b09a35d8f11a42",
      "from": "billing@northwind.example",
      "invoiceId": "INV-4471",
      "invoiceDate": "2026-10-20T00:00:00.000Z",
      "documentType": "invoice",
      "amount": 1249,
      "currency": "EUR",
      "payment": { "status": "unpaid" },
      "vendor": { "name": "Northwind Supplies GmbH", "countryCode": "DE", "taxId": "DE811234567" },
      "items": [
        { "description": "Office chairs", "quantity": 2, "unitPrice": 524.79,
          "taxRate": 19, "taxAmount": 199.42, "subtotal": 1049.58, "total": 1249 }
      ],
      "tags": ["office"],
      "attachment": { "url": "https://…/INV-4471.pdf", "expiresAt": "2026-10-22T09:20:00.000Z" }
    }
  }
}

Comment ça marche

Cinq minutes dans les Paramètres, puis chaque facture arrive toute seule.

01Ajoutez un endpoint

Dans Paramètres → Webhooks, saisissez un nom et une URL, choisissez l’événement et ajoutez si besoin jusqu’à cinq en-têtes personnalisés — par exemple une clé API qu’attend votre endpoint.

02Copiez le secret de signature

Chaque webhook a son propre secret whsec_. Servez-vous-en pour vérifier l’en-tête X-Tailride-Signature. Régénérez-le quand vous voulez ; l’ancien cesse aussitôt de fonctionner.

03Recevez les factures

Quand une facture est traitée ou modifiée, Tailride envoie en POST un JSON contenant la facture complète. Répondez avec n’importe quel statut 2xx dans les 10 secondes.

04Automatisez le reste

Écrivez les données dans votre ERP, une base de données ou un circuit d’approbation — ou laissez les applications Tailride pour Zapier et Make s’en charger, sans code.

Prêt pour la production

Requêtes signées

HMAC-SHA256 calculé sur l’horodatage et le corps brut, envoyé sous la forme X-Tailride-Signature: v1=…, avec l’horodatage dans X-Tailride-Timestamp pour que vous puissiez rejeter les requêtes anciennes ou rejouées.

Des nouvelles tentatives bien pensées

Jusqu’à trois tentatives, avec un délai d’expiration de 10 secondes. Les erreurs réseau, les délais dépassés et les réponses 408, 429 et 5xx sont retentés ; les autres réponses 4xx valent refus. Utilisez data.invoice.id pour ignorer un doublon.

La facture complète

Fournisseur et numéro de TVA, numéro et dates de facture, montant, devise, statut de paiement, détails d’abonnement, tags et chaque ligne avec son taux de taxe — plus des liens de téléchargement pour le PDF et les documents justificatifs.

Les modifications, pas seulement les nouvelles factures

invoice.updated se déclenche lors des modifications, de l’ajout ou du retrait de documents justificatifs et des changements de statut de paiement, avec l’ancienne et la nouvelle valeur de chaque champ modifié.

Verrouillé

Les adresses privées et internes sont bloquées, les redirections ne sont jamais suivies, et le secret de signature comme les valeurs des en-têtes personnalisés sont stockés chiffrés.

Visible sur chaque facture

Chaque livraison — et chaque échec — apparaît dans le journal d’activité de la facture : vous voyez ce qui a été envoyé, où et quand.

Ce que les équipes en font

  • Envoyer chaque facture traitée vers un ERP ou un outil interne qui n’a pas d’intégration Tailride native.
  • Charger les données des factures et de leurs lignes dans un entrepôt de données pour suivre les dépenses.
  • Lancer une approbation dans Slack ou Microsoft Teams via Zapier ou Make quand arrive une facture au-delà d’un montant défini.
  • Mettre à jour un CRM ou un outil de gestion de projet dès qu’une facture est marquée comme payée.

Questions fréquentes

À quels événements puis-je m’abonner ?

invoice.processed se déclenche quand un nouveau document a été lu et reconnu comme une facture. invoice.updated se déclenche quand une facture traitée change ensuite : champs modifiés, documents justificatifs joints ou retirés, nouveau statut de paiement. Chaque webhook s’abonne à un seul événement : ajoutez un second webhook pour recevoir les deux.

Comment vérifier qu’une requête vient bien de Tailride ?

Calculez le HMAC-SHA256 de la valeur de X-Tailride-Timestamp, suivie d’un point et du corps brut de la requête, avec le secret whsec_ du webhook. Comparez le résultat hexadécimal à la valeur qui suit v1= dans X-Tailride-Signature, et rejetez les requêtes dont l’horodatage date de plus de quelques minutes.

Que se passe-t-il si mon endpoint est indisponible ?

Tailride fait jusqu’à trois tentatives, à quelques secondes d’intervalle. Les erreurs réseau, les délais dépassés et les réponses 408, 429 ou 5xx sont retentés ; toute autre réponse 4xx est traitée comme un refus. Si toutes les tentatives échouent, l’échec apparaît dans le journal d’activité de la facture — utilisez l’API pour récupérer ce qui vous a échappé.

Que permet l’API REST ?

Avec une clé API trapi_, vous pouvez lire le compte (GET /api/v1/me), rechercher et parcourir les factures traitées — jusqu’à 100 par page — avec GET /api/v1/invoices, et abonner Zapier ou Make aux événements de factures. L’URL de base est https://tailride.so/api/v1 ; envoyez la clé dans X-Api-Key ou comme jeton Bearer.

Existe-t-il une application Zapier ou Make ?

Oui. L’application Zapier est publique : déclencheurs New Invoice et Updated Invoice, et une recherche Find Invoice. L’application Make — surveiller les factures nouvelles ou modifiées, rechercher des factures, effectuer un appel API — est disponible sur invitation ; demandez le lien au support.

Quels forfaits incluent les webhooks et l’API ?

Tous les forfaits payants, pour les comptes entreprise. Le propriétaire du compte les gère dans Paramètres → Webhooks : jusqu’à 10 webhooks et 10 clés API, plus les webhooks que Zapier et Make créent pour vous.

Combien de temps les liens vers les fichiers restent-ils valides ?

Les liens de téléchargement d’un webhook fonctionnent pendant 24 heures ; ceux renvoyés par l’API, pendant une heure. Enregistrez le fichier de votre côté si vous devez le conserver.

Envoyez vos factures là où vous travaillez

Webhooks, clés API et application Zapier sont inclus dans tous les forfaits payants.

Tailride
Webhooks de factures et API REST — chaque facture traitée dans vos outils | Tailride