Juegos de mesa Zacatrus: busca y compra, stock en tiendas, reserva de mesa, eventos y tu cuenta.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Reserva mesa en la ludoteca de una tienda de Zacatrus para el cliente. Busca antes las franjas libres con ludoteca_slots. Pídele al cliente que confirme tienda, día y franjas, y pregúntale SIEMPRE su teléfono de contacto para esta reserva (no lo supongas ni lo reutilices de otra). Zacatrus le envía por correo la confirmación con el QR. Necesita que el cliente haya iniciado sesión.
Día en formato AAAA-MM-DD.
Teléfono de contacto que el cliente te da para esta reserva.
Hora de inicio de cada franja, HH:MM, tal como sale en "from" de ludoteca_slots (p. ej. ["17:00", "19:00"]).
Tienda: código (M, P, V, B…) o nombre (Valencia, Chamberí…), como en ludoteca_slots.
Mesas por franja (por defecto 1).
Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Reserva mesa en la ludoteca de una tienda de Zacatrus para el cliente. Busca antes las franjas libres con ludoteca_slots. Pídele al cliente que confirme tienda, día y franjas, y pregúntale SIEMPRE su teléfono de contacto para esta reserva (no lo supongas ni lo reutilices de otra). Zacatrus le envía por correo la confirmación con el QR. Necesita que el cliente haya iniciado sesión.
| Argument | Type | Description |
|---|---|---|
| date* | string | Día en formato AAAA-MM-DD. |
| phone* | string | Teléfono de contacto que el cliente te da para esta reserva. |
| slots* | array | Hora de inicio de cada franja, HH:MM, tal como sale en "from" de ludoteca_slots (p. ej. ["17:00", "19:00"]). |
| store* | string | Tienda: código (M, P, V, B…) o nombre (Valencia, Chamberí…), como en ludoteca_slots. |
| tables | integer | Mesas por franja (por defecto 1). |
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
{
"type": "object",
"required": [
"store",
"date",
"slots",
"phone"
],
"properties": {
"date": {
"type": "string",
"description": "Día en formato AAAA-MM-DD."
},
"phone": {
"type": "string",
"description": "Teléfono de contacto que el cliente te da para esta reserva."
},
"slots": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 4,
"minItems": 1,
"description": "Hora de inicio de cada franja, HH:MM, tal como sale en \"from\" de ludoteca_slots (p. ej. [\"17:00\", \"19:00\"])."
},
"store": {
"type": "string",
"description": "Tienda: código (M, P, V, B…) o nombre (Valencia, Chamberí…), como en ludoteca_slots."
},
"tables": {
"type": "integer",
"maximum": 4,
"minimum": 1,
"description": "Mesas por franja (por defecto 1)."
},
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
}
},
"additionalProperties": false
}Cancela una reserva de mesa en la ludoteca del cliente (solo las suyas, y solo las que aún no han pasado). Obtén el booking_id con my_bookings y pídele confirmación al cliente antes de cancelar. Zacatrus le envía el correo de cancelación. Necesita que el cliente haya iniciado sesión.
| Argument | Type | Description |
|---|---|---|
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
| booking_id* | integer | booking_id de la reserva, de my_bookings. |
{
"type": "object",
"required": [
"booking_id"
],
"properties": {
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
},
"booking_id": {
"type": "integer",
"minimum": 1,
"description": "booking_id de la reserva, de my_bookings."
}
},
"additionalProperties": false
}Lo que hace falta para preparar un pedido con prepare_order: las direcciones guardadas del cliente (solo un id y una etiqueta corta: ciudad y código postal), las tiendas donde puede recogerlo, las formas de envío y lo que usó en su último pedido si sigue valiendo. Una dirección nueva solo se añade desde la web. Es solo lectura. Necesita que el cliente haya iniciado sesión.
| Argument | Type | Description |
|---|---|---|
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
{
"type": "object",
"properties": {
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
}
},
"additionalProperties": false
}Qué incluyen Zaca+ Club (socios con descuentos, prioridad en la ludoteca y promociones anticipadas) y Zaca+ Box (suscripción a cajas sorpresa de juegos), con precios y enlaces para suscribirse. El contenido de la caja del mes solo aparece cuando ya está desvelado; antes no se puede contar.
| Argument | Type | Description |
|---|---|---|
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
{
"type": "object",
"properties": {
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
}
},
"additionalProperties": false
}Ranking de juegos según la comunidad de Zacatrus: los más deseados (marcados como "lo quiero") o los favoritos de sus clientes. Solo datos agregados: número de clientes por juego, nunca quién. Sirve para recomendar "lo que más gusta" o "lo que más se desea".
| Argument | Type | Description |
|---|---|---|
| limit | integer | Cuántos juegos (por defecto 10). |
| metric | string | wanted = los más deseados (por defecto); favorite = los más marcados como favoritos. |
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Cuántos juegos (por defecto 10)."
},
"metric": {
"enum": [
"wanted",
"favorite"
],
"type": "string",
"description": "wanted = los más deseados (por defecto); favorite = los más marcados como favoritos."
},
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
}
},
"additionalProperties": false
}Ficha completa (texto, precio, disponibilidad, enlace) de un resultado de search, a partir de su id. Equivale a get_game.
| Argument | Type | Description |
|---|---|---|
| id* | string | El id que devolvió search. |
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "El id que devolvió search."
},
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
}
},
"additionalProperties": false
}Comentarios que clientes de Zacatrus han dejado como públicos sobre un juego, tal como están en la web, y cuántos clientes lo desean o lo tienen como favorito. Salen sin nombre ni perfil. Pueden ser pocos o ninguno: si no hay, no lo inventes.
| Argument | Type | Description |
|---|---|---|
| sku* | string | SKU del juego (campo sku de search_games) o URL de su ficha. |
| limit | integer | Cuántos comentarios (por defecto 10). |
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
{
"type": "object",
"required": [
"sku"
],
"properties": {
"sku": {
"type": "string",
"description": "SKU del juego (campo sku de search_games) o URL de su ficha."
},
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Cuántos comentarios (por defecto 10)."
},
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
}
},
"additionalProperties": false
}Ficha completa de un juego de Zacatrus: descripción, precio (y precio sin oferta si lo hay), disponibilidad en la web (in_stock, out_of_stock o preorder; en preventa, la fecha prevista), jugadores, edad, duración, temáticas, autores y editorial. Identifícalo con el sku que devuelve search_games, o con la URL de la ficha.
| Argument | Type | Description |
|---|---|---|
| sku* | string | SKU del juego (el campo sku de search_games), o la URL de su ficha en zacatrus.es / zacatrus.fr. |
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
{
"type": "object",
"required": [
"sku"
],
"properties": {
"sku": {
"type": "string",
"description": "SKU del juego (el campo sku de search_games), o la URL de su ficha en zacatrus.es / zacatrus.fr."
},
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
}
},
"additionalProperties": false
}Próximos eventos publicados en la web de Zacatrus (ligas, torneos, encuentros) en las tiendas físicas: tienda, fecha y hora, duración, plazas libres y descripción. Los eventos que se repiten (cada semana o cada 15 días) salen con su próxima fecha. La inscripción se hace en la web con la cuenta (enlace en url).
| Argument | Type | Description |
|---|---|---|
| days | integer | Mirar los próximos N días (por defecto 30). |
| limit | integer | Máximo de eventos (por defecto 15). |
| store | string | Solo una tienda: código (M, P, V…) o nombre (Valencia, Chamberí…). |
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"maximum": 180,
"minimum": 1,
"description": "Mirar los próximos N días (por defecto 30)."
},
"limit": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Máximo de eventos (por defecto 15)."
},
"store": {
"type": "string",
"description": "Solo una tienda: código (M, P, V…) o nombre (Valencia, Chamberí…)."
},
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
}
},
"additionalProperties": false
}Tiendas físicas de Zacatrus con dirección, horario declarado (el mismo que se muestra al elegir recogida en tienda), próximos días de cierre y si tienen ludoteca (mesas para jugar en la tienda). El horario es el declarado en la web: no garantiza que la tienda esté abierta en este momento.
| Argument | Type | Description |
|---|---|---|
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
{
"type": "object",
"properties": {
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
}
},
"additionalProperties": false
}Franjas con mesa libre en la ludoteca de las tiendas de Zacatrus (mesas para jugar en la tienda con los juegos de la ludoteca) por tienda y día. Sin reservar nada: para reservar hay que entrar en la web con la cuenta (enlace en url). Los clientes sin Zaca+ Club solo pueden reservar con pocos días de antelación; más allá el día sale como club_only.
| Argument | Type | Description |
|---|---|---|
| date | string | Día en formato AAAA-MM-DD. Por defecto, hoy. |
| days | integer | Cuántos días seguidos mirar desde date (por defecto 1). |
| store | string | Tienda: código (M, P, V, B…) o nombre (Valencia, Chamberí…). Sin indicarla se miran todas las que tienen ludoteca. |
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
{
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Día en formato AAAA-MM-DD. Por defecto, hoy."
},
"days": {
"type": "integer",
"maximum": 7,
"minimum": 1,
"description": "Cuántos días seguidos mirar desde date (por defecto 1)."
},
"store": {
"type": "string",
"description": "Tienda: código (M, P, V, B…) o nombre (Valencia, Chamberí…). Sin indicarla se miran todas las que tienen ludoteca."
},
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
}
},
"additionalProperties": false
}Añade un juego a la colección del cliente marcándolo como «lo tengo» (owned) o «lo quiero» (wanted). Solo añade la marca: no quita ninguna ni cambia nada más de la cuenta. Pídele confirmación al cliente antes de marcar. Identifica el juego con el sku de search_games o la URL de su ficha. Necesita que el cliente haya iniciado sesión.
| Argument | Type | Description |
|---|---|---|
| sku* | string | SKU del juego (campo sku de search_games), o la URL de su ficha. |
| mark* | string | owned = lo tengo, wanted = lo quiero. |
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
{
"type": "object",
"required": [
"sku",
"mark"
],
"properties": {
"sku": {
"type": "string",
"description": "SKU del juego (campo sku de search_games), o la URL de su ficha."
},
"mark": {
"enum": [
"owned",
"wanted"
],
"type": "string",
"description": "owned = lo tengo, wanted = lo quiero."
},
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
}
},
"additionalProperties": false
}Comprueba qué cuenta de Zacatrus tiene conectada el cliente a este asistente (solo el nombre de pila) y desde cuándo. Úsala para saludar al cliente o para comprobar que la conexión funciona. Necesita que el cliente haya iniciado sesión.
| Argument | Type | Description |
|---|---|---|
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
{
"type": "object",
"properties": {
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
}
},
"additionalProperties": false
}Las reservas de mesa en la ludoteca que el cliente tiene a partir de hoy: tienda, día, franjas y mesas, con el booking_id que pide cancel_booking. Necesita que el cliente haya iniciado sesión.
| Argument | Type | Description |
|---|---|---|
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
{
"type": "object",
"properties": {
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
}
},
"additionalProperties": false
}Si el cliente está suscrito a Zaca+ Box: qué modalidades tiene activas (Familiar, Para 2, Outlet…) y, de cada una, la próxima caja (nombre, fecha de envío y precio máximo). Los juegos de la caja solo salen cuando ya están desvelados, igual que en «Tu cuenta > BOX»; antes se dice desde qué día. Solo lectura: no da de alta ni de baja ni cambia la modalidad (eso lo hace el cliente en su cuenta, enlace manage_url). Necesita que el cliente haya iniciado sesión.
| Argument | Type | Description |
|---|---|---|
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
{
"type": "object",
"properties": {
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
}
},
"additionalProperties": false
}Si el cliente es socio de Zaca+ Club: plan, desde cuándo, hasta cuándo está pagado y si se renueva solo (próxima renovación). Solo lectura: no da de alta ni de baja ni cambia la renovación (eso lo hace el cliente en su cuenta, enlace manage_url). Necesita que el cliente haya iniciado sesión.
| Argument | Type | Description |
|---|---|---|
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
{
"type": "object",
"properties": {
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
}
},
"additionalProperties": false
}La colección del cliente en Zacatrus: los juegos que tiene (owned) y los que quiere (wanted), cada uno con su ficha resumida. Úsala para recomendar a partir de lo que ya tiene («tengo estos, ¿qué me llevo para 6?») y para no recomendarle lo que ya posee. Necesita que el cliente haya iniciado sesión.
| Argument | Type | Description |
|---|---|---|
| list | string | owned = los que tiene, wanted = los que quiere. Sin indicar: ambas listas. |
| limit | integer | Máximo de juegos (por defecto 30). |
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
{
"type": "object",
"properties": {
"list": {
"enum": [
"owned",
"wanted"
],
"type": "string",
"description": "owned = los que tiene, wanted = los que quiere. Sin indicar: ambas listas."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Máximo de juegos (por defecto 30)."
},
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
}
},
"additionalProperties": false
}El saldo de fichas del cliente (el programa de puntos de Zacatrus) y su equivalente en euros, el mismo que ve en «Tu cuenta». Solo lectura. Necesita que el cliente haya iniciado sesión.
| Argument | Type | Description |
|---|---|---|
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
{
"type": "object",
"properties": {
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
}
},
"additionalProperties": false
}Los últimos pedidos del cliente en Zacatrus: número, fecha, estado, juegos, total y seguimiento del envío (transportista y número de seguimiento) cuando ya ha salido. Con "order" (el número de pedido) devuelve solo ese. Es solo lectura: no muestra direcciones ni datos de pago. Necesita que el cliente haya iniciado sesión.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Cuántos pedidos (por defecto 5). |
| order | string | Número de pedido (campo order de un resultado anterior). Sin indicar: los últimos. |
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Cuántos pedidos (por defecto 5)."
},
"order": {
"type": "string",
"description": "Número de pedido (campo order de un resultado anterior). Sin indicar: los últimos."
},
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
}
},
"additionalProperties": false
}Prepara un pedido de Zacatrus para el cliente: productos y cantidades, dirección guardada o tienda de recogida, y forma de envío. Devuelve el resumen (líneas con su precio, envío, total, destino, caducidad) y el enlace para confirmarlo y pagarlo en la web. Con punto de recogida Nacexshop (shipping_method droppoint_droppoint, con address_id) el cliente elige el punto en el mapa de la web al confirmar: aquí no se elige. ENSÉÑALE SIEMPRE al cliente el resumen y el enlace, y dile claramente que el pedido NO está hecho hasta que lo confirme y pague en zacatrus.es: aquí no se cobra nada. Antes de llamar, consulta checkout_options y confirma con el cliente qué quiere y a dónde. Usa los sku de search_games, get_game o store_stock (para un juego con varias versiones, el sku de la versión). Solo productos con stock en la web, con los precios del cliente (tarifa de Club si la tiene); nada de preventas, tarjetas regalo ni suscripciones. Manda una idempotency_key aleatoria nueva por cada pedido distinto: si repites la llamada con la misma clave, recibes el mismo pedido preparado, no otro. Necesita que el cliente haya iniciado sesión.
| Argument | Type | Description |
|---|---|---|
| items* | array | Productos del pedido. |
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
| address_id | integer | Dirección guardada a la que enviar (address_id de checkout_options). No con pickup_store. |
| pickup_store | string | Tienda donde recogerlo: código o nombre (pickup_stores de checkout_options). No con address_id. |
| idempotency_key* |
Dice si un pedido preparado con prepare_order sigue pendiente de que el cliente lo confirme en la web, ha caducado, lo canceló o ya es un pedido (y su número). Identifícalo por prepared_id o por la idempotency_key que usaste. Es solo lectura. Necesita que el cliente haya iniciado sesión.
| Argument | Type | Description |
|---|---|---|
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
| prepared_id | integer | prepared_id que devolvió prepare_order. |
| idempotency_key | string | O la idempotency_key con la que lo preparaste. |
{
"type": "object",
"properties": {
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
},
"prepared_id": {
"type": "integer",
"minimum": 1,
"description": "prepared_id que devolvió prepare_order."
},
"idempotency_key": {
"type": "string",
"description": "O la idempotency_key con la que lo preparaste."
}
},
"additionalProperties": false
}Búsqueda de texto libre en el catálogo de Zacatrus (juegos de mesa). Devuelve id, título y enlace; usa fetch con el id para ver la ficha. Equivale a search_games sin filtros, pensada para clientes que solo conocen search y fetch.
| Argument | Type | Description |
|---|---|---|
| query* | string | Qué buscar, en lenguaje natural. Ej: "juegos cooperativos para 4", "catan". |
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Qué buscar, en lenguaje natural. Ej: \"juegos cooperativos para 4\", \"catan\"."
},
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
}
},
"additionalProperties": false
}Busca en el catálogo de Zacatrus (juegos de mesa, rol, cartas y accesorios) con el mismo buscador que la web. Se puede combinar texto libre con filtros: número de jugadores, edad, duración, temática y precio. Devuelve precio, disponibilidad web (in_stock, out_of_stock o preorder), jugadores, edad, duración y el enlace a la ficha. Si no hay resultados, prueba con menos filtros antes de decir que no lo tenemos.
| Argument | Type | Description |
|---|---|---|
| age | integer | Edad del jugador más pequeño. Solo devuelve juegos cuya edad mínima sea esa o menor. |
| sort | string | Orden. Por defecto relevance. |
| limit | integer | Cuántos resultados (por defecto 10). |
| query | string | Texto libre: nombre del juego, estilo, mecánica… Ej: "cooperativo", "catan", "juego de cartas rápido". |
| theme | string | Temática. Ej: fantasía, ciencia ficción, mitología, terror, piratas, medieval, animales, misterio, trenes, vikingos, zombies. |
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
| players | integer | Número de personas que van a jugar. Solo devuelve juegos que se pueden jugar con ese número exacto. |
Unidades de un juego en cada tienda física de Zacatrus (in_stock, low_stock o out_of_stock) y disponibilidad en la web. Úsalo cuando alguien quiera comprar en tienda o recoger hoy. Las unidades llegan hasta 10 y pueden cambiar en minutos; para una reserva segura, que confirme con la tienda.
| Argument | Type | Description |
|---|---|---|
| sku* | string | SKU del juego (campo sku de search_games) o URL de su ficha. |
| store | string | Opcional: solo una tienda. Código (M, P, S, V, B, I, A) o nombre (Valencia, Chamberí…). Ver list_stores. |
| country | string | Tienda web: "es" = zacatrus.es (por defecto), "fr" = zacatrus.fr. Define idioma, precios y enlaces. |
{
"type": "object",
"required": [
"sku"
],
"properties": {
"sku": {
"type": "string",
"description": "SKU del juego (campo sku de search_games) o URL de su ficha."
},
"store": {
"type": "string",
"description": "Opcional: solo una tienda. Código (M, P, S, V, B, I, A) o nombre (Valencia, Chamberí…). Ver list_stores."
},
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
}
},
"additionalProperties": false
}| string |
| Clave aleatoria tuya, nueva para cada pedido distinto. Repetirla devuelve el mismo pedido preparado. |
| shipping_method | string | Código de la forma de envío (shipping_methods de checkout_options). Sin indicar: la del último pedido si vale, o la más barata a domicilio. Nacexshop (droppoint_droppoint) y «En un Trus!» solo si se piden. |
{
"type": "object",
"required": [
"items",
"idempotency_key"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"sku"
],
"properties": {
"qty": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Unidades (por defecto 1)."
},
"sku": {
"type": "string",
"description": "SKU del producto (de search_games, get_game o store_stock)."
}
},
"additionalProperties": false
},
"maxItems": 10,
"minItems": 1,
"description": "Productos del pedido."
},
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
},
"address_id": {
"type": "integer",
"description": "Dirección guardada a la que enviar (address_id de checkout_options). No con pickup_store."
},
"pickup_store": {
"type": "string",
"description": "Tienda donde recogerlo: código o nombre (pickup_stores de checkout_options). No con address_id."
},
"idempotency_key": {
"type": "string",
"maxLength": 64,
"minLength": 8,
"description": "Clave aleatoria tuya, nueva para cada pedido distinto. Repetirla devuelve el mismo pedido preparado."
},
"shipping_method": {
"type": "string",
"description": "Código de la forma de envío (shipping_methods de checkout_options). Sin indicar: la del último pedido si vale, o la más barata a domicilio. Nacexshop (droppoint_droppoint) y «En un Trus!» solo si se piden."
}
},
"additionalProperties": false
}| price_max | number | Precio máximo en euros. |
| price_min | number | Precio mínimo en euros. |
| max_minutes | integer | Duración máxima de la partida, en minutos (duración típica: si el juego indica un rango, su punto medio). Ej: 30 para "algo rápido". |
| min_minutes | integer | Duración mínima de la partida, en minutos (duración típica: si el juego indica un rango, su punto medio). |
| in_stock_only | boolean | true para dejar fuera lo agotado en la web. |
{
"type": "object",
"properties": {
"age": {
"type": "integer",
"maximum": 99,
"minimum": 0,
"description": "Edad del jugador más pequeño. Solo devuelve juegos cuya edad mínima sea esa o menor."
},
"sort": {
"enum": [
"relevance",
"price_asc",
"price_desc"
],
"type": "string",
"description": "Orden. Por defecto relevance."
},
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Cuántos resultados (por defecto 10)."
},
"query": {
"type": "string",
"description": "Texto libre: nombre del juego, estilo, mecánica… Ej: \"cooperativo\", \"catan\", \"juego de cartas rápido\"."
},
"theme": {
"type": "string",
"description": "Temática. Ej: fantasía, ciencia ficción, mitología, terror, piratas, medieval, animales, misterio, trenes, vikingos, zombies."
},
"country": {
"enum": [
"es",
"fr"
],
"type": "string",
"description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
},
"players": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Número de personas que van a jugar. Solo devuelve juegos que se pueden jugar con ese número exacto."
},
"price_max": {
"type": "number",
"minimum": 0,
"description": "Precio máximo en euros."
},
"price_min": {
"type": "number",
"minimum": 0,
"description": "Precio mínimo en euros."
},
"max_minutes": {
"type": "integer",
"maximum": 600,
"minimum": 1,
"description": "Duración máxima de la partida, en minutos (duración típica: si el juego indica un rango, su punto medio). Ej: 30 para \"algo rápido\"."
},
"min_minutes": {
"type": "integer",
"maximum": 600,
"minimum": 1,
"description": "Duración mínima de la partida, en minutos (duración típica: si el juego indica un rango, su punto medio)."
},
"in_stock_only": {
"type": "boolean",
"description": "true para dejar fuera lo agotado en la web."
}
},
"additionalProperties": false
}