Tillhub MCP by usefulapi

Read Tillhub products, stock, transactions, customers and retail reports from your AI assistant.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
90%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~6,642Tokens (definiciones de herramientas)
~2.0 KBTamaño de respuesta típico
Impacto significativo en la atención (5.19% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "tillhub": {
      "url": "https://tillhub.usefulapi.io/mcp"
    }
  }
}

Puntos de conexión remotos

https://tillhub.usefulapi.io/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (27)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢tillhub_get_account

The Tillhub user behind the API key: role, scopes, account id and name (no credentials). GET /api/v0/me.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_list_products(type, product_group, tag, barcode, custom_id, ...)

List products (articles, variants, vouchers) with name, number, barcode, prices, taxes and product group. Filter by type, group, tag, barcode or custom id (barcode and custom_id are fast exact lookups and ignore the other filters). Page with next_query. GET /api/v1/products/{account}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "type": {
      "description": "Product type.",
      "type": "string",
      "enum": [
        "product",
        "voucher",
        "linked",
        "variant",
        "linked_product",
        "variant_product",
        "composed_product"
      ]
    },
    "product_group": {
      "description": "Product group id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$"
    },
    "tag": {
      "description": "Tag name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "barcode": {
      "description": "Exact barcode (ignores the other filters).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "custom_id": {
      "description": "Exact product number / custom id (ignores the other filters).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "active": {
      "description": "Only active (true) or inactive (false) products.",
      "type": "boolean"
    },
    "sellable": {
      "description": "Only products suitable for sale (true) or not (false).",
      "type": "boolean"
    },
    "deleted": {
      "description": "true = deleted products only; default non-deleted.",
      "type": "boolean"
    },
    "updated_since": {
      "type": "string",
      "description": "Only products updated at or after this time. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."
    },
    "limit": {
      "description": "Items per page, 1-100 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_search_products(query, sellable, limit, offset)

Fuzzy search products by name and description (max 20 hits per page, with relevance score). GET /api/v2/products/{account}/search.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Search text; partial words are matched."
    },
    "sellable": {
      "description": "Only sellable products.",
      "type": "boolean"
    },
    "limit": {
      "description": "Hits per page, 1-20.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 20
    },
    "offset": {
      "description": "Result offset for paging search results.",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_get_product(product_id, branch)

One product by id, optionally with the stock and prices of one branch. GET /api/v1/products/{account}/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$",
      "description": "Tillhub product id (uuid)."
    },
    "branch": {
      "description": "Branch id for branch-specific stock data.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$"
    }
  },
  "required": [
    "product_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_list_product_groups(active, deleted, next_query)

List product groups (categories) with id and name. GET /api/v0/product_groups/{account}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "active": {
      "description": "Only active (true) or inactive (false) groups.",
      "type": "boolean"
    },
    "deleted": {
      "description": "true = deleted groups only.",
      "type": "boolean"
    },
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_list_tags(query, deleted, next_query)

List product tags. GET /api/v1/tags/{account}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Text search on the tag name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "deleted": {
      "description": "true = deleted tags only.",
      "type": "boolean"
    },
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_list_transactions(date_start, date_end, branch, register, staff, ...)

List sales and other register transactions (type, date, branch, register, staff, customer, amounts, payments, cart items). Always pass a date range for busy shops. Page with next_query. GET /api/v1/transactions/{account}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "date_start": {
      "type": "string",
      "description": "Only transactions on or after this time. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."
    },
    "date_end": {
      "type": "string",
      "description": "Only transactions before this time. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."
    },
    "branch": {
      "description": "Branch id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$"
    },
    "register": {
      "description": "Register id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$"
    },
    "staff": {
      "description": "Cashier staff id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$"
    },
    "customer": {
      "description": "Customer id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$"
    },
    "type": {
      "description": "Transaction type, for example sale, sale_cancel, expense, deposit.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "receipt_number": {
      "description": "Receipt number (custom id).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "limit": {
      "description": "Items per page, 1-100 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_get_transaction(transaction_id)

One transaction by id with its full cart, payments and taxes. GET /api/v1/transactions/{account}/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "transaction_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$",
      "description": "Tillhub transaction id (uuid)."
    }
  },
  "required": [
    "transaction_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_transactions_report(date_start, date_end, branch, register, staff, ...)

Detailed transactions report for a period, filterable by branch, register, staff, customer, type and currency. GET /api/v3/analytics/{account}/reports/transactions/overview.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "date_start": {
      "type": "string",
      "description": "Only transactions on or after this time. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."
    },
    "date_end": {
      "type": "string",
      "description": "Only transactions before this time. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."
    },
    "branch": {
      "description": "Branch id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$"
    },
    "register": {
      "description": "Register id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$"
    },
    "staff": {
      "description": "Cashier staff id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$"
    },
    "customer": {
      "description": "Customer id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$"
    },
    "type": {
      "description": "Transaction type, for example sale, sale_cancel, expense, deposit.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "currency": {
      "description": "Currency ISO code, e.g. EUR.",
      "type": "string",
      "pattern": "^[A-Za-z]{3}$"
    },
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_list_receipts(limit, next_query)

List receipts (printed or digital) of the account. Page with next_query. GET /api/v1/receipts/{account}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Items per page, 1-100 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_revenue_sum(start, end, branch_number, next_query)

Total revenue between two points in time, optionally for one branch number. GET /api/v0/analytics/{account}/aggregates/revenues/sum.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "start": {
      "type": "string",
      "description": "Start of the period. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."
    },
    "end": {
      "type": "string",
      "description": "End of the period. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."
    },
    "branch_number": {
      "description": "Branch number (not the id).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "required": [
    "start",
    "end"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_sales_aggregate(start, end, precision, branch_number, next_query)

Sales and revenue aggregated per hour or per day between two points in time. GET /api/v0/analytics/{account}/aggregates/sales.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "start": {
      "type": "string",
      "description": "Start of the period. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."
    },
    "end": {
      "type": "string",
      "description": "End of the period. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."
    },
    "precision": {
      "description": "Interval size (default day).",
      "type": "string",
      "enum": [
        "hour",
        "day"
      ]
    },
    "branch_number": {
      "description": "Branch number (not the id).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "required": [
    "start",
    "end"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_top_products(start, end, branch_number, next_query)

Best-selling products in a period, optionally for one branch number. GET /api/v0/analytics/{account}/reports/products/top.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "start": {
      "type": "string",
      "description": "Start of the period (inclusive). ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."
    },
    "end": {
      "type": "string",
      "description": "End of the period (exclusive). ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."
    },
    "branch_number": {
      "description": "Branch number (not the id).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_list_balances(branch, register, staff, query, limit, ...)

List cash-register closings (balances / Z-reports) with totals per register and day. Filter by branch, register or staff. Page with next_query. GET /api/v0/analytics/{account}/reports/balances.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "branch": {
      "description": "Branch id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$"
    },
    "register": {
      "description": "Register id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$"
    },
    "staff": {
      "description": "Staff id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$"
    },
    "query": {
      "description": "Text search.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "limit": {
      "description": "Items per page, 1-100 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_list_customers(query, firstname, lastname, email, company, ...)

List customers with name, company, email, phone numbers and addresses. Filter by text, name, email, company or customer number. Page with next_query. GET /api/v1/customers/{account}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Text search over first name, last name, email, company and number.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "firstname": {
      "description": "First name substring.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "lastname": {
      "description": "Last name substring.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "email": {
      "description": "Email substring.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "company": {
      "description": "Company name substring.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "customer_number": {
      "description": "Exact customer number (ignores the other filters).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "active": {
      "description": "Only active (true) or inactive (false) customers.",
      "type": "boolean"
    },
    "updated_since": {
      "type": "string",
      "description": "Only customers updated at or after this time. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."
    },
    "limit": {
      "description": "Items per page, 1-100 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_search_customers(query, limit, offset)

Fuzzy search customers by name, email and description (max 100 hits, with relevance score). GET /api/v2/customers/{account}/search.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Search text; partial words are matched."
    },
    "limit": {
      "description": "Hits per page, 1-100.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Result offset for paging search results.",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_get_customer(customer_id)

One customer by id. GET /api/v1/customers/{account}/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "customer_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$",
      "description": "Tillhub customer id (uuid)."
    }
  },
  "required": [
    "customer_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_list_branches(query, name, active, limit, next_query)

List branches (shops) with number, name and address. Use the ids to filter transactions, stock and prices. Page with next_query. GET /api/v1/branches/{account}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Text search over several fields.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "name": {
      "description": "Name substring.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "active": {
      "description": "Only active (true) or inactive (false) branches.",
      "type": "boolean"
    },
    "limit": {
      "description": "Items per page, 1-100 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_list_registers(branch, query, active, next_query)

List cash registers with number, name and branch. GET /api/v1/registers/{account}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "branch": {
      "description": "Only registers of this branch id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$"
    },
    "query": {
      "description": "Text search on the name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "active": {
      "description": "Only active (true) or inactive (false) registers.",
      "type": "boolean"
    },
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_list_staff(query, branch, active, next_query)

List staff members (cashiers) with name, number and branch. PINs and passwords are never returned. GET /api/v1/staff/{account}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Text search over name and email.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "branch": {
      "description": "Only staff of this branch id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$"
    },
    "active": {
      "description": "Only active (true) or inactive (false) staff.",
      "type": "boolean"
    },
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_list_payment_options(active, next_query)

List payment options (cash, card, voucher, ...) configured for the account. GET /api/v0/payment_options/{account}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "active": {
      "description": "Only active (true) or inactive (false) options.",
      "type": "boolean"
    },
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_list_taxes(active, next_query)

List tax (VAT) references with rates. GET /api/v0/taxes/{account}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "active": {
      "description": "Only active (true) or inactive (false) taxes.",
      "type": "boolean"
    },
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_list_discounts(branch, active, next_query)

List configured discounts. GET /api/v0/discounts/{account}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "branch": {
      "description": "Only discounts available in this branch id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$"
    },
    "active": {
      "description": "Only active (true) or inactive (false) discounts.",
      "type": "boolean"
    },
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_list_stock(location, product, next_query)

Current stock per product and location. Filter by location (branch/warehouse id) or product id. GET /api/v0/stock/{account}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "location": {
      "description": "Location id (branch or warehouse).",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$"
    },
    "product": {
      "description": "Product id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$"
    },
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_list_stock_locations(next_query)

List stock locations (branches and warehouses) with their ids. GET /api/v0/stock/{account}/locations.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_list_stock_book(product, location, start, end, query, ...)

Stock book: every stock movement (sale, delivery, correction, transfer) with product, location, quantity and date. Filter by product, location, period or text. Page with next_query. GET /api/v1/stock/{account}/book.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "product": {
      "description": "Product id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$"
    },
    "location": {
      "description": "Location id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9._:-]+$"
    },
    "start": {
      "type": "string",
      "description": "Only movements on or after this time. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."
    },
    "end": {
      "type": "string",
      "description": "Only movements before this time. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."
    },
    "query": {
      "description": "Text search over product name, barcode, group and location.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "limit": {
      "description": "Items per page, 1-100 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tillhub_list_orders(direction, deleted, limit, next_query)

List incoming or outgoing orders (goods orders between locations/suppliers). Page with next_query. GET /api/v0/orders/{account}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "direction": {
      "description": "Only incoming or outgoing orders.",
      "type": "string",
      "enum": [
        "incoming",
        "outgoing"
      ]
    },
    "deleted": {
      "description": "true = deleted orders only.",
      "type": "boolean"
    },
    "limit": {
      "description": "Items per page, 1-100 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "next_query": {
      "description": "next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[^\\s#]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada27 herramientas