{"ok":true,"site":{"host":"jocafri.es","url":"https://jocafri.es/","type":"live","category":"Commerce","desc":"Spanish online store supplying kitchenware, machinery and spare parts for professional hospitality businesses, with shipping across Spain.","tools":[{"name":"searchProducts","kind":"answer","impl":"imperative","description":"Busca en el catálogo de la tienda por palabra clave con filtros opcionales de categoría y precio. Devuelve productos coincidentes con id, nombre, precio, moneda, disponibilidad y URL del producto.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search keywords or phrase","maxLength":200},"category":{"type":"integer","description":"Category id to filter by","minimum":1},"minPrice":{"type":"number","description":"Minimum price (in store currency)","minimum":0},"maxPrice":{"type":"number","description":"Maximum price (in store currency)","minimum":0},"inStockOnly":{"type":"boolean","description":"Return only in-stock products","default":false},"limit":{"type":"integer","description":"Max number of results (capped server-side)","default":12,"minimum":1,"maximum":50}},"required":["query"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"getProductDetails","kind":"answer","impl":"imperative","description":"Obtiene los detalles completos de un producto: combinaciones/variantes con stock y precio, atributos, características e imágenes.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"productId":{"type":"integer","description":"Product id","minimum":1}},"required":["productId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"checkAvailability","kind":"answer","impl":"imperative","description":"Comprueba la disponibilidad de stock actual y la entrega estimada de un producto o combinación específica.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"productId":{"type":"integer","minimum":1},"combinationId":{"type":"integer","description":"Optional combination/variant id","minimum":1}},"required":["productId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"getCategories","kind":"answer","impl":"imperative","description":"Obtiene el árbol de categorías (o un subárbol) para navegación. Devuelve id, nombre, profundidad e hijos de cada nodo.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"parentId":{"type":"integer","description":"Root of the subtree. Defaults to store root.","minimum":1},"depth":{"type":"integer","description":"Maximum depth to traverse","default":2,"minimum":1,"maximum":5}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"getStoreInfo","kind":"answer","impl":"imperative","description":"Obtiene metadatos de la tienda: nombre, idiomas y monedas soportadas, países de envío, resumen de política de devoluciones, nombres de métodos de pago aceptados (sin credenciales) e información de contacto pública.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"getShippingOptions","kind":"answer","impl":"imperative","description":"Obtiene los transportistas disponibles, costes y tiempos de entrega estimados para el carrito actual o un destino.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"countryIso":{"type":"string","description":"ISO 3166-1 alpha-2 country code","maxLength":2},"zipCode":{"type":"string","description":"Postal code","maxLength":16}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"getCart","kind":"answer","impl":"imperative","description":"Obtiene el carrito de compra actual: artículos, subtotal, envío y total. Solo lectura.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"addToCart","kind":"act","impl":"imperative","description":"Añade un producto (y variante opcional) al carrito de compra actual. NO completa ninguna compra. El navegador pedirá confirmación al usuario.","inputSchema":{"type":"object","properties":{"productId":{"type":"integer","minimum":1},"combinationId":{"type":"integer","description":"Optional variant id","minimum":1},"quantity":{"type":"integer","default":1,"minimum":1,"maximum":999}},"required":["productId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"updateCartItem","kind":"act","impl":"imperative","description":"Establece la cantidad de una línea existente en el carrito. Usa quantity=0 para eliminarla (o llama a removeFromCart).","inputSchema":{"type":"object","properties":{"productId":{"type":"integer","minimum":1},"combinationId":{"type":"integer","minimum":1},"quantity":{"type":"integer","minimum":0,"maximum":999}},"required":["productId","quantity"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"removeFromCart","kind":"act","impl":"imperative","description":"Elimina una línea específica del carrito.","inputSchema":{"type":"object","properties":{"productId":{"type":"integer","minimum":1},"combinationId":{"type":"integer","minimum":1}},"required":["productId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"applyCoupon","kind":"act","impl":"imperative","description":"Aplica un código de descuento/cupón al carrito. Devuelve si fue aceptado junto con los nuevos totales.","inputSchema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":64}},"required":["code"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"initiateCheckout","kind":"transact","impl":"imperative","description":"Prepara el checkout y devuelve la URL segura de pago para que el usuario humano la revise y complete el pago. NUNCA procesa el pago.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"searchProducts","kind":"answer","impl":"declarative","description":"Search the store catalog by keyword and show matching products.","inputSchema":{"type":"object","properties":{"s":{"type":"string"}}},"__source":"spec","__declarative":true}],"apiSurface":"spec","favicon":"/favicons/jocafri.es.png","toolCount":13}}