# Microtienda y pedidos

> Herramientas del MCP para armar microtiendas con carrito desde el catálogo y administrar los pedidos que entran por ahí.

- kind: mcp-tool
- status: stable
- access: destructive
- last_verified: 2026-09-14
- url: https://www.tilopay.com/developers/agentes/mcp/microtienda

## Qué cubre [#que-cubre]

Con los productos del [catálogo](/developers/agentes/mcp/catalogo) el agente arma una
**microtienda con carrito**: una página pública con varios productos donde el cliente elige
cantidades y paga todo junto. Cada microtienda tiene su propio enlace.

La segunda mitad del grupo es la **gestión de pedidos**: se activa una vez (nombre de la tienda,
logo opcional y hora del recordatorio diario), y a partir de ahí el comercio puede ver el resumen,
listar pedidos por estado, ver los que están pagados sin entregar y marcarlos como entregados.

Los estados de un pedido son `pending` (sin pagar), `paid` (pagado sin entregar) y
`delivered` (entregado). Desactivar una microtienda o apagar la gestión de pedidos no borra los
productos del catálogo ni los pedidos ya registrados.

Estas herramientas no llaman al API de Tilopay: trabajan sobre los datos del propio servidor MCP,
salvo el cobro, que sale por el enlace de pago de cada producto.

## Herramientas [#herramientas]

### Crear una microtienda con carrito [#tilopay-store-create]

- `tilopay_store_create`
- Acceso: Escritura

Crea un enlace de microtienda para compartir con un cliente: muestra los productos del catálogo, el cliente arma un carrito y al finalizar paga desde la misma página con un enlace que incluye el detalle del carrito. Por defecto incluye todo el catálogo; se puede limitar a ciertos IDs de productos.

**Parámetros**

| Parámetro | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `title` | string | — | Título visible de la tienda |
| `item_ids` | array<string> | — | IDs de productos del catálogo a mostrar; si se omite, se muestra todo el catálogo |

**Devuelve**

`{ slug, url, items }`

slug = identificador de la microtienda; url = enlace público de la tienda con carrito; items = cuántos productos del catálogo quedaron incluidos.

### Listar microtiendas activas [#tilopay-store-list]

- `tilopay_store_list`
- Acceso: Sólo lectura

Lista las microtiendas activas del comercio con su enlace para compartir.

**Parámetros**

Sin parámetros.

**Devuelve**

`{ stores[] }`

stores = microtiendas activas con slug, título, enlace público y los ids de productos que incluye cada una.

### Desactivar una microtienda [#tilopay-store-delete]

- `tilopay_store_delete`
- Acceso: Sensible

Desactiva una microtienda por su slug: el enlace deja de abrir. Confirme con el comercio antes de usarla.

**Parámetros**

| Parámetro | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `slug` | string | sí | Slug de la tienda (el final de su enlace) |

**Devuelve**

`{ slug, active }`

Desactiva la microtienda: el enlace deja de mostrar productos. active queda en false; los productos del catálogo no se borran.

### Activar o configurar la gestión de pedidos [#tilopay-orders-setup]

- `tilopay_orders_setup`
- Acceso: Escritura

Activa el control de pedidos de la microtienda y guarda el nombre de la tienda, el logo y la hora del recordatorio diario de pedidos pagados sin entregar. Sirve también para cambiar cualquiera de esos datos después. El logo puede venir como enlace https de una imagen o como la imagen que el comercio acaba de enviar por WhatsApp (pase la referencia que aparece en el mensaje).

**Parámetros**

| Parámetro | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `store_name` | string | — | Nombre visible de la tienda |
| `logo` | string | — | Enlace https de la imagen del logo, o la referencia de la imagen enviada por WhatsApp |
| `reminder_time` | string | — | Hora local del recordatorio diario en formato HH:mm (ej. "18:00"); vacío lo desactiva |

**Devuelve**

`{ orders_enabled, store_name, has_logo, reminder_time }`

Deja la gestión de pedidos activa y devuelve la configuración resultante: nombre de la tienda que ven los clientes, si hay logo cargado y la hora del recordatorio diario de pedidos pendientes.

### Ver la configuración de la tienda y los pedidos [#tilopay-orders-settings]

- `tilopay_orders_settings`
- Acceso: Sólo lectura

Muestra si la gestión de pedidos está activa, el nombre de la tienda, si hay logo y la hora del recordatorio diario.

**Parámetros**

Sin parámetros.

**Devuelve**

`{ orders_enabled, store_name, has_logo, reminder_time }`

Configuración actual de la tienda y de los pedidos, sin cambiar nada.

### Resumen de pedidos [#tilopay-orders-status]

- `tilopay_orders_status`
- Acceso: Sólo lectura

Resumen de los pedidos de las microtiendas: cuántos están pendientes de pago, cuántos pagados sin entregar (con su monto) y cuántos se entregaron hoy.

**Parámetros**

Sin parámetros.

**Devuelve**

`{ pending, paid, delivered, ... }`

Resumen de pedidos: cuántos están pendientes de pago, pagados sin entregar y entregados, con los montos del período.

### Listar pedidos [#tilopay-orders-list]

- `tilopay_orders_list`
- Acceso: Sólo lectura

Lista los pedidos de las microtiendas con su código, cliente, total y detalle. Se puede filtrar por estado (pending = pendiente de pago, paid = pagado sin entregar, delivered = entregado) y por los últimos días.

**Parámetros**

| Parámetro | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `status` | string (pending | paid | delivered | all) | — | Estado del pedido; por defecto todos |
| `days` | integer | — | Solo pedidos de los últimos N días |
| `limit` | integer | — | — |

**Devuelve**

`{ orders[] }`

orders = pedidos con código, cliente, total, moneda, estado y fecha. Se puede filtrar por estado (pending, paid, delivered, all) y por los últimos días.

### Pedidos pagados sin entregar [#tilopay-orders-pending]

- `tilopay_orders_pending`
- Acceso: Sólo lectura

Lista los pedidos ya pagados que aún no se han entregado. Es la herramienta que usa el recordatorio diario.

**Parámetros**

Sin parámetros.

**Devuelve**

`{ pending, orders[] }`

pending = cuántos pedidos están pagados y sin entregar; orders = esos pedidos con código, cliente, total y moneda.

### Marcar un pedido como entregado [#tilopay-order-mark-delivered]

- `tilopay_order_mark_delivered`
- Acceso: Escritura

Marca uno o varios pedidos como entregados. Acepta el código del pedido (ej. "#A3F2", incluso varios en el mismo mensaje) o el nombre del cliente.

**Parámetros**

| Parámetro | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `code` | string | — | Código del pedido, ej. "#A3F2"; pueden venir varios |
| `client` | string | — | Nombre del cliente del pedido |

**Devuelve**

`{ delivered, missing }`

delivered = cuántos pedidos quedaron marcados como entregados; missing = los códigos que no se encontraron.

### Apagar la gestión de pedidos [#tilopay-orders-disable]

- `tilopay_orders_disable`
- Acceso: Sensible

Apaga el control de pedidos y cancela el recordatorio diario. Los pedidos ya registrados se conservan. Pida un sí explícito antes de usarla.

**Parámetros**

Sin parámetros.

**Devuelve**

`{ orders_enabled: false }`

Apaga la gestión de pedidos. Los pedidos ya registrados se conservan.
