> ## Documentation Index
> Fetch the complete documentation index at: https://help.cloudtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Paso Solicitud HTTP

> Configura el intercambio de datos en el CFD para lograr un enrutamiento de llamadas más inteligente y basado en datos.

<Note>
  El paso **Solicitud HTTP** te permite conectar tus flujos de llamadas de CloudTalk con sistemas y API externos. En esta guía aprenderás a configurar y usar el paso Solicitud HTTP para enviar solicitudes, gestionar respuestas e integrar datos externos directamente en tus flujos de llamadas.
</Note>

**Nivel de usuario:** Admin

***

<h2 id="h_535647b013">
  Uso del paso Solicitud HTTP
</h2>

El paso **Solicitud HTTP** te permite ampliar tus flujos de llamadas más allá de CloudTalk conectándolos con sistemas y API externos. Hace posible el intercambio de datos, la automatización y la toma de decisiones en tiempo real durante una llamada.

Tanto si enriqueces los datos de la llamada, como si actualizas registros externos o personalizas la experiencia de los clientes, el paso Solicitud HTTP te da la flexibilidad necesaria para crear flujos de trabajo más inteligentes y mejor conectados.

<h3 id="h_0e85528647">
  Añadir una Solicitud HTTP a tu flujo de llamadas
</h3>

1. En el **Dashboard**, haz clic en **Números**.

2. En la pestaña **Mis números**, busca el número que quieras configurar.

3. Haz clic en **+ Configurar** (o en el nombre del flujo, si ya existe uno) en la columna **Flujo de llamadas**.

4. En el lienzo, haz clic en el botón **`+`** en el punto donde quieras el paso.

5. En la biblioteca de pasos, dentro de **Automatización**, selecciona **Solicitud HTTP**.

<h3 id="h_0104eecf35">
  Configurar solicitudes HTTP
</h3>

6\. Haz clic en el paso Solicitud HTTP del lienzo para abrir su panel de configuración. Están disponibles los siguientes elementos:

<h4 id="h_a1bf5cf058">
  Endpoint
</h4>

El endpoint define la URL a la que se llamará. La comunicación requiere HTTPS.

<h4 id="h_7725891ee3">
  Método
</h4>

El método de la solicitud HTTP, es decir, el tipo de acción que se pide realizar al receptor del endpoint. Opciones disponibles: **GET**, **POST**, **PUT**, **PATCH**, **DELETE**.

<h4 id="h_d768b9c724">
  Encabezados de la solicitud (opcional)
</h4>

Los encabezados de la solicitud aportan metainformación sobre ella, como el formato del cuerpo de la solicitud o las credenciales de autorización.

Haz clic en **Agregar nuevo** para definir encabezados adicionales. El tipo de encabezados depende de la API externa a la que te conectes.

<h4 id="h_fea696e64e">
  Cuerpo de la solicitud
</h4>

El cuerpo de la solicitud es la carga de datos que se envía con ella. Haz clic en **Agregar nuevo** para definir pares clave-valor como atributos de datos. También puedes hacer clic en **Agregar campo personalizado de contacto** para insertar datos del contacto directamente.

El cuerpo de la solicitud se envía en formato JSON (por ejemplo: `{"key1":"value1", "key2":"value2"}`).

Además de valores constantes, puedes usar las siguientes variables dinámicas:

**Atributos de la llamada:**

| **Variable** | **Descripción** |
| - | - |
| `#{{call.external_number}}` | Número del llamante en formato E.164 (p. ej., +10005555555) |
| `#{{call.waiting_time}}` | Tiempo en segundos entre el inicio de la llamada y la respuesta del agente |
| `#{{call.uuid}}` | Identificador único de la llamada |
| `#{{call.agent_id}}` | ID del agente (solo en una rama contestada; en caso contrario devuelve null) |
| `#{{call.agent_email}}` | Correo electrónico del agente (solo en una rama contestada; en caso contrario devuelve null) |

**Atributos del contacto:**

| **Variable** | **Descripción** |
| - | - |
| `#{{contact.name}}` | Nombre del contacto |
| `#{{contact.id}}` | ID del contacto |
| `#{{contact.title}}` | Cargo del contacto |
| `#{{contact.company}}` | Empresa del contacto |
| `#{{contact.industry}}` | Sector del contacto |
| `#{{contact.address}}` | Dirección del contacto |
| `#{{contact.city}}` | Ciudad del contacto |
| `#{{contact.zip}}` | Código postal del contacto |
| `#{{contact.state}}` | Provincia del contacto |
| `#{{contact.type}}` | Devuelve "contact" o "lead" |
| `#{{contact.tags}}` | Devuelve un array con las etiquetas asignadas (p. ej., `["Vip", "CampaignA"]`) |
| `#{{contact.custom_fields["field_name"]}}` | Valor de un campo personalizado (p. ej., `#{{contact.custom_fields["MRR"]}}`) |
| `#{{contact.emails}}` | Devuelve un array con los correos electrónicos del contacto |
| `#{{contact.emails[0]}}` | Devuelve el primer correo electrónico del array |

**Recopilar entrada:**

| **Variable** | **Descripción** |
| - | - |
| `#{{input[step_id].value}}` | Valor introducido por el llamante durante un paso Recopilar entrada. Sustituye *step\_id* por el ID del paso Recopilar entrada (p. ej., `#{{input[389008].value}}`). |

<Warning>
  **Consejo:** Guarda el flujo antes de hacer referencia a un ID de paso. Antes de guardar, los pasos tienen IDs negativos temporales que pueden no funcionar correctamente. Después de guardar, el ID del paso pasa a ser un número positivo permanente.
</Warning>

<Tip>
  **Nota:** Recopilar entrada puede devolver un valor vacío si el llamante no introdujo nada. Durante la creación inicial, puedes usar el ID temporal; se sustituirá una vez guardado el flujo.
</Tip>

<h3 id="h_7e82174a72">
  Opciones de anidamiento
</h3>

Si un endpoint externo requiere objetos anidados, usa la notación de puntos en el campo Clave: `key.subkey`.

Por ejemplo:

* `customer.firstname` = John

* `customer.lastname` = Doe

Da como resultado: `{ "customer": { "firstname": "John", "lastname": "Doe" }}`

<Frame>
  <img src="https://mintcdn.com/cloudtalk/Ayep-6hjQnBpSGZo/images/help-center/articles/6883940/077a7c92f065-screenshot-2026-08-18-at-11-39-01.png?fit=max&auto=format&n=Ayep-6hjQnBpSGZo&q=85&s=a748961395ac547915cf1ddd2a33dda6" alt="" width="1895" height="1331" data-path="images/help-center/articles/6883940/077a7c92f065-screenshot-2026-08-18-at-11-39-01.png" />
</Frame>

***

<h3 id="h_5e7c90d4d4">
  Analizar respuesta
</h3>

La casilla **Analizar respuesta** define cómo gestiona CloudTalk los datos recibidos del sistema externo.

* **Si está desactivada**

  El flujo de llamadas continúa inmediatamente después de enviar la solicitud, sin esperar una respuesta. Resulta útil para solicitudes de tipo "enviar y olvidar", en las que no se necesitan los datos de la respuesta.

- **Si está activada**

  El flujo de llamadas espera a la respuesta HTTP antes de continuar. Los datos devueltos quedan entonces disponibles para usarlos en pasos posteriores.

<h3 id="h_4ded083405">
  Retener datos después de la llamada
</h3>

Marca **Retener datos después de la llamada** para que los datos de la respuesta HTTP sigan disponibles una vez finalizada la llamada. Esto resulta útil si necesitas los datos para el procesamiento posterior a la llamada o para informes.

***

<h2 id="h_d637dad6fb">
  Usar la respuesta en pasos posteriores
</h2>

Cuando Analizar respuesta está activado, el cuerpo de la respuesta se puede usar en un [Divisor de condición](/es/articles/5763009-caller-based-routing-with-conditions) para enrutar las llamadas según los datos devueltos.

En la configuración del Divisor de condición:

1\. Selecciona **Respuesta HTTP** en el menú desplegable **Propiedad**. Se mostrará la URL del endpoint del paso Solicitud HTTP (p. ej., "Respuesta HTTP - [https://api.example.com/customer](https://api.example.com/customer)") para que sepas a qué solicitud hace referencia.

2\. Introduce la **ruta JSON** hasta la propiedad de la respuesta usando la notación de puntos.

**Ejemplo:** Si la respuesta tiene este aspecto:

```json theme={"system"}
{
  "status": "success",
  "error": {
    "code": 200,
    "message": "OK"
  }
}
```

* Para hacer referencia a la propiedad de nivel superior *status*, usa: `status`

* Para hacer referencia a la propiedad anidada *error code*, usa: `error.code`

* Para propiedades indexadas (listas o arrays), usa la notación de puntos con el número de índice: `status.0` para el primer elemento, `status.1` para el segundo, y así sucesivamente.

3\. Define la condición deseada (**Operando** y **Valor**) según lo que necesites que coincida.

<Frame>
  <img src="https://mintcdn.com/cloudtalk/Ayep-6hjQnBpSGZo/images/help-center/articles/6883940/6fbeb2f5bd19-screenshot-2026-08-18-at-11-50-32.png?fit=max&auto=format&n=Ayep-6hjQnBpSGZo&q=85&s=79e6c5ab41bef0bd969cd97635c47ad9" alt="" width="1552" height="1323" data-path="images/help-center/articles/6883940/6fbeb2f5bd19-screenshot-2026-08-18-at-11-50-32.png" />
</Frame>

Con esta configuración, cada vez que una llamada llega al paso Solicitud HTTP se envía una solicitud al sistema externo. Los datos de la respuesta determinan después la siguiente ruta de la llamada, lo que permite gestionar cada llamada de forma dinámica con la información más actualizada.

***

*¿Necesitas ayuda o tienes alguna pregunta?* Escríbenos a través de nuestro [Portal de atención al cliente](https://support.cloudtalk.io/hc/en-us/requests/new?ticket_form_id=26305535257884) — estamos aquí para ayudarte.


## Related topics

- [Paso Recoger entrada del llamador](/es/articles/5878950-collect-input-from-caller-step.md)
- [Usar tu integración de Salesforce en las solicitudes HTTP del flujo de llamadas](/es/articles/16941452-using-your-salesforce-integration-in-call-flow-http-requests.md)
- [Encuesta post-llamada](/es/articles/8200861-post-call-survey.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.