Scrydon

Réponse

Renvoyer une réponse structurée aux appels API

Le bloc Réponse est la dernière étape de votre workflow qui formate et retourne des données à quiconque a appelé votre workflow. C'est comme l'instruction « return » de l'ensemble de votre workflow — il regroupe les résultats et les renvoie.

Configuration du bloc Réponse

Les blocs Réponse sont des blocs terminaux — ils mettent fin à l'exécution du workflow et ne peuvent pas se connecter à d'autres blocs.

Quand utiliser des blocs Réponse

Points de terminaison API : Lorsque votre workflow est appelé via une API, les blocs Réponse formatent les données de retour Webhooks : Renvoyez une confirmation ou des données au système appelant Tests : Visualisez les résultats formatés lors du test de votre workflow Export de données : Structurez les données pour des systèmes externes ou des rapports

Deux façons de construire des réponses

Mode Constructeur (recommandé)

Interface visuelle pour construire la structure de réponse :

  • Glisser-déposer des champs
  • Référencer facilement les variables du workflow
  • Aperçu visuel de la structure de réponse

Mode Éditeur (avancé)

Écrire du JSON directement :

  • Contrôle total sur le format de réponse
  • Prise en charge des structures imbriquées complexes
  • Utilisation de la syntaxe <variable.name> pour les valeurs dynamiques

Options de configuration

Données de réponse

Les données de réponse constituent le contenu principal qui sera renvoyé à l'appelant de l'API. Elles doivent être formatées en JSON et peuvent inclure :

  • Des valeurs statiques
  • Des références dynamiques aux variables du workflow via la syntaxe <variable.name>
  • Des objets et tableaux imbriqués
  • Toute structure JSON valide

Code de statut

Définissez le code de statut HTTP de la réponse. Les codes de statut courants incluent :

  • 200 : OK — Réponse de succès standard
  • 201 : Créé — Ressource créée avec succès
  • 204 : Pas de contenu — Succès sans corps de réponse
  • 400 : Requête incorrecte — Paramètres de requête invalides
  • 401 : Non autorisé — Authentification requise
  • 404 : Non trouvé — La ressource n'existe pas
  • 422 : Entité non traitable — Erreurs de validation
  • 500 : Erreur interne du serveur — Erreur côté serveur
  • 502 : Passerelle incorrecte — Erreur de service externe
  • 503 : Service indisponible — Service temporairement indisponible

Le code de statut par défaut est 200 si non spécifié.

En-têtes de réponse

Configurez des en-têtes HTTP supplémentaires à inclure dans la réponse.

Les en-têtes sont configurés sous forme de paires clé-valeur :

CléValeur
Content-Typeapplication/json
Cache-Controlno-cache
X-API-Version1.0

Entrées et sorties

  • data (JSON, optionnel) : Les données JSON à envoyer dans le corps de la réponse

  • status (nombre, optionnel) : Code de statut HTTP (par défaut : 200)

  • headers (JSON, optionnel) : En-têtes de réponse supplémentaires

  • data : Les données du corps de la réponse
  • status : Code de statut HTTP
  • headers : En-têtes de réponse

Références de variables

Utilisez la syntaxe <variable.name> pour insérer dynamiquement des variables du workflow dans votre réponse :

{
  "user": {
    "id": "<variable.userId>",
    "name": "<variable.userName>",
    "email": "<variable.userEmail>"
  },
  "query": "<variable.searchQuery>",
  "results": "<variable.searchResults>",
  "totalFound": "<variable.resultCount>",
  "processingTime": "<variable.executionTime>ms"
}

Les noms de variables sont sensibles à la casse et doivent correspondre exactement aux variables disponibles dans votre workflow.

Exemple d'utilisation

Voici un exemple de configuration d'un bloc Réponse pour une API de recherche d'utilisateurs :

data: |
  {
    "success": true,
    "data": {
      "users": "<variable.searchResults>",
      "pagination": {
        "page": "<variable.currentPage>",
        "limit": "<variable.pageSize>",
        "total": "<variable.totalUsers>"
      }
    },
    "query": {
      "searchTerm": "<variable.searchTerm>",
      "filters": "<variable.appliedFilters>"
    },
    "timestamp": "<variable.timestamp>"
  }
status: 200
headers:
  - key: X-Total-Count
    value: <variable.totalUsers>
  - key: Cache-Control
    value: public, max-age=300

Bonnes pratiques

  • Utilisez des codes de statut significatifs : choisissez des codes de statut HTTP appropriés qui reflètent fidèlement le résultat du workflow
  • Structurez vos réponses de manière cohérente : maintenez une structure JSON cohérente sur tous vos points de terminaison API pour une meilleure expérience développeur
  • Incluez les métadonnées pertinentes : ajoutez des horodatages et des informations de version pour faciliter le débogage et la supervision
  • Gérez les erreurs avec élégance : utilisez la logique conditionnelle dans votre workflow pour définir des réponses d'erreur appropriées avec des messages descriptifs
  • Validez les références de variables : assurez-vous que toutes les variables référencées existent et contiennent les types de données attendus avant l'exécution du bloc Réponse
Sur cette page

Sur cette page