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

# Interacción conversacional

> Experiencia de compra guiada por el agente de IA directamente en la conversación.

Con el **Conversacional** el agente de IA describe productos, gestiona el carrito y guía la compra directamente en el chat, sin necesidad de abrir webviews externas. Ideal para canales que no son WhatsApp o cuentas que no están verificadas por Meta.

## Requisitos

Para mostrar productos necesitas tenerlos cargados en Jelou Shop:

<CardGroup cols={2}>
  <Card title="Shopify" icon="store" href="/guides/integraciones/e-commerce/shopify">
    Sincroniza desde Shopify
  </Card>

  <Card title="VTEX" icon="store" href="/guides/integraciones/e-commerce/vtex">
    Sincroniza desde VTEX
  </Card>

  <Card title="WooCommerce" icon="store" href="/guides/integraciones/e-commerce/woocommerce">
    Sincroniza desde WooCommerce
  </Card>

  <Card title="API" icon="code" href="/guides/integraciones/e-commerce/api">
    Carga productos directamente por API
  </Card>
</CardGroup>

## Ventajas

* Funciona en cualquier canal (WhatsApp, web, Facebook, Instagram, etc.) sin requerir verificación de Meta.
* El agente describe los productos y gestiona el carrito dentro de la conversación.
* No depende de webviews ni enlaces externos.
* No requiere abrir enlaces externos; toda la información del catálogo se entrega directamente en el chat.
* Puedes buscar productos, ver detalles, agregar al carrito y completar la compra sin salir del chat.

## Flujo de compra

<Steps>
  <Step title="Buscar productos">
    El usuario solicita un producto y el agente busca en el catálogo.
  </Step>

  <Step title="Ver detalles">
    El agente describe el producto con precio, stock y características.
  </Step>

  <Step title="Agregar al carrito">
    El usuario indica qué productos quiere y el agente los agrega al carrito.
  </Step>

  <Step title="Completar compra">
    El agente obtiene el resumen del carrito y dirige al usuario al flujo de pago.
  </Step>
</Steps>

## Instalación

<Steps>
  <Step title="Crear un flujo">
    Crea un nuevo flujo para el flujo de e-commerce. Si es tu primera vez, consulta la guía [Tu primer workflow](/guides/getting-started/tu-primer-workflow).
  </Step>

  <Step title="Configurar el nodo AI Agent">
    Conecta el flujo con un [nodo AI Agent](/guides/agentes-ia). En la configuración del nodo, importa el MCP **Jelou Shop** desde el [Marketplace de integraciones](/guides/integraciones/integraciones) para habilitar las herramientas de e-commerce.

    <Frame>
      <img src="https://mintcdn.com/jelouai/HiydMYZzhF4lkFia/assets/images/integraciones/e-commerce/jelou-shop-mcp.png?fit=max&auto=format&n=HiydMYZzhF4lkFia&q=85&s=4a43d0ec3c60b01926b33a6e9b7d9944" alt="Importar MCP Jelou Shop desde el nodo AI Agent" width="548" height="286" data-path="assets/images/integraciones/e-commerce/jelou-shop-mcp.png" />
    </Frame>

    <Tip>
      Si conectaste tu tienda desde Shopify o WooCommerce, el MCP de Jelou Shop se incluye automáticamente con la integración. Solo necesitas importarlo manualmente si cargaste productos por API.
    </Tip>

    Luego configura el siguiente prompt:

    <Accordion title="Ver prompt">
      ```
      ## 🎯 Rol
      Eres un agente de eCommerce amable y visual (usa iconos). Guías al usuario en su experiencia de compra hasta que solicite: asesor humano, salir o pagar.

      ## 🧰 Herramientas
      - Buscar productos, categorías, promociones → **search_products**
      - Agregar producto al carrito → **upsert_product_to_cart**
      - Eliminar producto del carrito → **remove_product_from_cart**
      - Ver detalle de un producto → **get_product_detail**
      - Vaciar carrito → **clean_cart**
      - Pago / Checkout → **get_and_clear_cart** (si el carrito está vacío, informa y ofrece buscar productos)

      ## 📏 Reglas
      - Nunca inventes precios, promociones o beneficios.
      - Nunca muestres errores técnicos ni nombres de herramientas al usuario.
      - Usa herramientas en lugar de asumir información.

      ## Pedido exitoso
      Si recibes un mensaje indicando "Tu pedido ha sido realizado con éxito" con:
        Texto: ✅ ¡Pedido confirmado!\n💰 Total a pagar: $xx
        Botones: 💳 Ir al pago, 🔍 Agregar más, 🛒 Ver mi carrito

      ## 🧩 Finalización
      - Asesor humano → end_function: { "flujo": "asesor" }
      - Salir → end_function: { "flujo": "salir" }
      - Pago → Ejecuta **get_and_clear_cart**. Si exitoso → end_function: { "flujo": "pago", "total": [total], "cart": [detalle] }

      Siempre ejecuta end_function con: { "output_schema": "<json>" }
      ```
    </Accordion>

    Configura las siguientes herramientas:

    | Herramienta                   | Descripción                                  | Pausar |
    | ----------------------------- | -------------------------------------------- | ------ |
    | Buscar productos              | Buscar productos en el catálogo              |        |
    | Detalle de producto           | Obtener información detallada de un producto |        |
    | Ver carrito                   | Obtener el contenido actual del carrito      |        |
    | Agregar/actualizar en carrito | Agregar un producto o actualizar su cantidad |        |
    | Eliminar del carrito          | Eliminar un producto específico del carrito  |        |
    | Vaciar carrito                | Eliminar todos los productos del carrito     |        |
    | Obtener y vaciar carrito      | Obtener el carrito y vaciarlo (checkout)     |        |

    <Tip>
      Estas herramientas aceptan parámetros opcionales:

      * **search\_products**: `category`, `branchCode`, `per_page` (1-20, defecto 5), `search_mode` (`semantic`|`ilike`).
      * **remove\_product\_from\_cart**: `variation_id` para productos con variantes.
      * **get\_and\_clear\_cart**: `debit_stock` para descontar inventario. Devuelve `cart_id` para restaurar el carrito después.
      * **get\_and\_clear\_cart**: `use_external_checkout` para que el pago se complete en la tienda original en lugar del flujo de pago de Jelou. Solo disponible si conectaste tu tienda con [Shopify](/guides/integraciones/e-commerce/shopify) o [WooCommerce](/guides/integraciones/e-commerce/woocommerce). La respuesta incluye `checkout_url` con el enlace al checkout de la tienda.
      * Varias herramientas aceptan `cart_id` para restaurar un carrito de una compra previa.
    </Tip>
  </Step>

  <Step title="Acceder a la información del carrito">
    Puedes obtener los datos del carrito en cualquier momento usando:

    ```javascript theme={null}
    const cartData = $memory.getJson("cartData");
    ```

    El objeto `cartData` contiene la siguiente estructura:

    ```json theme={null}
    {
      "data": [
        { "product_name": "Cocina Murcia 5 Quemadores", "sku": "whcwr0rttl", "quantity": 1, "price": "908.00", "discount_value": 908, "tax_rate": 15 },
        { "product_name": "Camiseta celeste", "sku": "vj6ybab6e1", "quantity": 2, "price": "35.00", "discount_value": 70, "tax_rate": 15 }
      ],
      "total": 978,
      "subTotal": 850.43,
      "tax": 127.57,
      "tax_value": 0.15,
      "tax_breakdown": [
        { "rate": 15, "label": "IVA 15%", "amount": 127.57 }
      ]
    }
    ```

    | Campo             | Descripción                                        |
    | ----------------- | -------------------------------------------------- |
    | `data`            | Array con los productos del carrito                |
    | `data[].tax_rate` | Tasa de impuesto aplicada al producto (porcentaje) |
    | `total`           | Total del carrito (con impuestos)                  |
    | `subTotal`        | Subtotal del carrito (sin impuestos)               |
    | `tax`             | Monto de impuestos                                 |
    | `tax_value`       | Tasa de impuesto de la tienda                      |
    | `tax_breakdown`   | Desglose de impuestos agrupado por tasa            |
  </Step>
</Steps>
