---
title: Respuesta
---

import { Callout } from 'fumadocs-ui/components/callout'
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
import { Image } from '@/components/ui/image'

El bloque de Respuesta formatea y envía respuestas HTTP estructuradas de vuelta a los llamadores de la API. Úsalo para devolver resultados del flujo de trabajo con códigos de estado y encabezados adecuados.

<div className="flex justify-center">
  <Image
    src="/static/blocks/response.png"
    alt="Configuración del bloque de respuesta"
    width={500}
    height={400}
    className="my-6"
  />
</div>

<Callout type="info">
  Los bloques de Respuesta son bloques terminales - finalizan la ejecución del flujo de trabajo y no pueden conectarse a otros bloques.
</Callout>

## Opciones de configuración

### Datos de respuesta

Los datos de respuesta son el contenido principal que se enviará de vuelta al llamador de la API. Deben estar formateados como JSON y pueden incluir:

- Valores estáticos
- Referencias dinámicas a variables del flujo de trabajo usando la sintaxis `<variable.name>`
- Objetos y arrays anidados
- Cualquier estructura JSON válida

### Código de estado

Establece el código de estado HTTP para la respuesta (por defecto es 200):

**Éxito (2xx):**
- **200**: OK - Respuesta de éxito estándar
- **201**: Creado - Recurso creado exitosamente
- **204**: Sin contenido - Éxito sin cuerpo de respuesta

**Error del cliente (4xx):**
- **400**: Solicitud incorrecta - Parámetros de solicitud inválidos
- **401**: No autorizado - Se requiere autenticación
- **404**: No encontrado - El recurso no existe
- **422**: Entidad no procesable - Errores de validación

**Error del servidor (5xx):**
- **500**: Error interno del servidor - Error del lado del servidor
- **502**: Puerta de enlace incorrecta - Error de servicio externo
- **503**: Servicio no disponible - Servicio temporalmente caído

### Encabezados de respuesta

Configura encabezados HTTP adicionales para incluir en la respuesta.

Los encabezados se configuran como pares clave-valor:

| Clave | Valor |
|-----|-------|
| Content-Type | application/json |
| Cache-Control | no-cache |
| X-API-Version | 1.0 |

## Ejemplos de casos de uso

**Respuesta de punto final de API** - Devuelve datos estructurados desde una API de búsqueda

```
Agent (Search) → Function (Format & Paginate) → Response (200, JSON)
```

**Confirmación de webhook** - Confirma la recepción y procesamiento del webhook

```
Webhook Trigger → Function (Process) → Response (200, Confirmation)
```

**Manejo de respuestas de error** - Devuelve respuestas de error apropiadas

```
Condition (Error Detected) → Router → Response (400/500, Error Details)
```

## Salidas

Los bloques de respuesta son terminales - finalizan la ejecución del flujo de trabajo y envían la respuesta HTTP al solicitante de la API. No hay salidas disponibles para bloques posteriores.

## Referencias de variables

Usa la sintaxis `<variable.name>` para insertar dinámicamente variables del flujo de trabajo en tu respuesta:

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

<Callout type="warning">
  Los nombres de variables distinguen entre mayúsculas y minúsculas y deben coincidir exactamente con las variables disponibles en tu flujo de trabajo.
</Callout>

## Mejores prácticas

- **Usa códigos de estado significativos**: Elige códigos de estado HTTP apropiados que reflejen con precisión el resultado del flujo de trabajo
- **Estructura tus respuestas de manera consistente**: Mantén una estructura JSON consistente en todos tus puntos finales de API para una mejor experiencia del desarrollador
- **Incluye metadatos relevantes**: Añade marcas de tiempo e información de versión para ayudar con la depuración y el monitoreo
- **Maneja los errores con elegancia**: Usa lógica condicional en tu flujo de trabajo para establecer respuestas de error apropiadas con mensajes descriptivos
- **Valida las referencias de variables**: Asegúrate de que todas las variables referenciadas existan y contengan los tipos de datos esperados antes de que se ejecute el bloque de Respuesta
