Aller au contenu principal

Trigger Polling

Le trigger Polling effectue des requêtes périodiques vers une API externe et déclenche un workflow avec les résultats.

Vue d'ensemble

Ce type de trigger est idéal pour :

  • Synchroniser des données depuis des APIs externes
  • Surveiller des changements dans des systèmes externes
  • Récupérer des données périodiquement
  • Intégrer avec des systèmes qui ne supportent pas les webhooks

Configuration

Options de base

Lors de la création d'un trigger Polling, vous devez configurer :

URL de l'API

L'URL de l'API à interroger :

  • Format : https://api.example.com/endpoint
  • Peut inclure des paramètres de requête
  • Supporte les variables Handlebars pour la dynamisation

Méthode HTTP

Sélectionnez la méthode HTTP à utiliser :

  • GET : Pour récupérer des données (le plus courant)
  • POST : Pour envoyer des données avec la requête

Mode

Définition du mode d'interrogation :

  • NEW : Pour récupérer seulement les nouveaux changements
  • ALL : Pour récupérer l'ensemble du retour API

Chemin

Façon d'extraire la data de la réponse. Si aucun chemin n'est à spécifier, laisser la valeur par défaut : $

Exemple : employees[department="Marketing"].name permet d'extraire les noms des employés du département marketing.

Intervalle (en secondes)

Durée entre chaque requête API.

Authentification

Configurez l'authentification pour l'API externe :

API Key
  • Ajoutez la clé API dans les headers ou les paramètres
  • Format : Authorization: Bearer {token} ou X-API-Key: {key}
Basic Auth
  • Nom d'utilisateur et mot de passe
  • Encodés en base64 automatiquement
OAuth
  • Configuration OAuth complète
  • Token refresh automatique

Headers personnalisés

Ajoutez des headers personnalisés si nécessaire :

  • Headers spécifiques à l'API
  • Variables Handlebars supportées

Body (pour POST)

Si vous utilisez POST, configurez le body de la requête :

  • Format JSON
  • Supporte les variables Handlebars

Gestion des données

Détection de changements

Le trigger peut détecter les nouveaux éléments :

  • Compare les résultats avec la dernière exécution
  • Déclenche le workflow uniquement pour les nouveaux éléments
  • Évite les doublons

Filtrage

Vous pouvez configurer des filtres :

  • Filtrer par date
  • Filtrer par statut
  • Filtrer par critères personnalisés

Données transmises

Lorsqu'un polling détecte de nouvelles données, le workflow reçoit :

{
"response": {
"status": 200,
"headers": {...},
"body": {
"items": [
{
"id": "123",
"name": "Item 1",
"status": "new"
}
]
}
},
"newItems": [
{
"id": "123",
"name": "Item 1"
}
],
"polledAt": "2024-01-15T10:30:00Z"
}

Exemple d'utilisation

Scénario : Synchronisation de commandes

  1. Créer le trigger :

    • Type : Polling
    • URL : https://api.example.com/orders?status=new
    • Méthode : GET
    • Intervalle : Toutes les 5 minutes (*/5 * * * *)
    • Authentification : API Key
  2. Créer le workflow associé :

    • Reçoit les nouvelles commandes
    • Traite chaque commande
    • Met à jour le statut dans l'API externe
  3. Déployer :

    • Déployez le trigger dans l'environnement de production
    • Le polling commence automatiquement

Bonnes pratiques

  • Fréquence : Ne polluez pas trop fréquemment pour éviter de surcharger l'API externe
  • Rate limiting : Respectez les limites de taux de l'API externe
  • Gestion d'erreurs : Gérez les erreurs (timeout, 500, etc.) dans le workflow
  • Idempotence : Assurez-vous que le traitement est idempotent
  • Monitoring : Surveillez les traces pour détecter les problèmes
  • Cache : Utilisez la détection de changements pour éviter les traitements inutiles

Optimisations

Pagination

Si l'API supporte la pagination :

  • Configurez le polling pour récupérer toutes les pages
  • Utilisez les paramètres de pagination dans l'URL

Incremental polling

Pour les grandes quantités de données :

  • Utilisez des filtres par date/heure
  • Polluez uniquement les données récentes
  • Exemple : ?created_after={lastPolledAt}

Prochaines étapes