Sim

Schéma YAML du bloc de réponse

Référence de configuration YAML pour les blocs de réponse

Définition du schéma

type: object
required:
  - type
  - name
properties:
  type:
    type: string
    enum: [response]
    description: Block type identifier
  name:
    type: string
    description: Display name for this response block
  inputs:
    type: object
    properties:
      dataMode:
        type: string
        enum: [structured, json]
        description: Mode for defining response data structure
        default: structured
      builderData:
        type: object
        description: Structured response data (when dataMode is 'structured')
      data:
        type: object
        description: JSON response data (when dataMode is 'json')
      status:
        type: number
        description: HTTP status code
        default: 200
        minimum: 100
        maximum: 599
      headers:
        type: array
        description: Response headers as table entries
        items:
          type: object
          properties:
            id:
              type: string
              description: Unique identifier for the header entry
            key:
              type: string
              description: Header name
            value:
              type: string
              description: Header value
            cells:
              type: object
              description: Cell display values for the table interface
              properties:
                Key:
                  type: string
                  description: Display value for the key column
                Value:
                  type: string
                  description: Display value for the value column

Configuration de connexion

Les blocs de réponse sont des blocs terminaux (sans connexions sortantes) et définissent la sortie finale :

# No connections object needed - Response blocks are always terminal

Exemples

Réponse simple

simple-response:
  type: response
  name: "Simple Response"
  inputs:
    data:
      message: "Hello World"
      timestamp: <function.timestamp>
    status: 200

Réponse de succÚs

success-response:
  type: response
  name: "Success Response"
  inputs:
    data:
      success: true
      user:
        id: <agent.user_id>
        name: <agent.user_name>
        email: <agent.user_email>
      created_at: <function.timestamp>
    status: 201
    headers:
      - key: "Location"
        value: "/api/users/<agent.user_id>"
      - key: "X-Created-By"
        value: "workflow-engine"

RĂ©ponse avec format complet d'en-tĂȘte de tableau

Lorsque les en-tĂȘtes sont créés via l'interface utilisateur du tableau, le YAML inclut des mĂ©tadonnĂ©es supplĂ©mentaires :

api-response:
  type: response
  name: "API Response"
  inputs:
    data:
      message: "Request processed successfully"
      id: <agent.request_id>
    status: 200
    headers:
      - id: header-1-uuid-here
        key: "Content-Type"
        value: "application/json"
        cells:
          Key: "Content-Type"
          Value: "application/json"
      - id: header-2-uuid-here
        key: "Cache-Control"
        value: "no-cache"
        cells:
          Key: "Cache-Control"
          Value: "no-cache"
      - id: header-3-uuid-here
        key: "X-API-Version"
        value: "2.1"
        cells:
          Key: "X-API-Version"
          Value: "2.1"

Réponse d'erreur

error-response:
  type: response
  name: "Error Response"
  inputs:
    data:
      error: true
      message: <agent.error_message>
      code: "VALIDATION_FAILED"
      details: <function.validation_errors>
    status: 400
    headers:
      - key: "X-Error-Code"
        value: "VALIDATION_FAILED"

Réponse paginée

paginated-response:
  type: response
  name: "Paginated Response"
  inputs:
    data:
      data: <agent.results>
      pagination:
        page: <start.page>
        per_page: <start.per_page>
        total: <function.total_count>
        total_pages: <function.total_pages>
    status: 200
    headers:
      - key: "X-Total-Count"
        value: <function.total_count>
      - key: "Cache-Control"
        value: "public, max-age=300"
      - key: "Content-Type"
        value: "application/json"

Formats de paramĂštres de tableau

Le bloc de rĂ©ponse prend en charge deux formats pour les en-tĂȘtes :

Format simplifié (YAML manuel)

Lors de l'écriture manuelle du YAML, vous pouvez utiliser le format simplifié :

headers:
  - key: "Content-Type"
    value: "application/json"
  - key: "Cache-Control"
    value: "no-cache"

Format de tableau complet (généré par l'interface utilisateur)

Lorsque les en-tĂȘtes sont créés via l'interface utilisateur du tableau, le YAML inclut des mĂ©tadonnĂ©es supplĂ©mentaires :

headers:
  - id: unique-identifier-here
    key: "Content-Type"
    value: "application/json"
    cells:
      Key: "Content-Type"
      Value: "application/json"

Différences clés :

  • id : Identifiant unique pour suivre la ligne du tableau
  • cells : Valeurs d'affichage utilisĂ©es par l'interface utilisateur du tableau
  • Les deux formats sont fonctionnellement Ă©quivalents pour l'exĂ©cution du workflow
  • Le format complet prĂ©serve l'Ă©tat de l'interface utilisateur lors de l'importation/exportation des workflows

Important : Mettez toujours entre guillemets les noms d'en-tĂȘtes et les valeurs qui contiennent des caractĂšres spĂ©ciaux :

headers:
  - id: content-type-uuid
    cells:
      Key: "Content-Type"
      Value: "application/json"
  - id: cache-control-uuid
    cells:
      Key: "Cache-Control" 
      Value: "no-cache"
Schéma YAML du bloc de réponse