Bind ERP MCP by usefulapi
Read Bind ERP clients, products, inventory, invoices, orders; create prospects, clients, orders.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (1)
- LOWin binderp_list_products_with_price_and_stock
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"bind-erp": {
"url": "https://bind-erp.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://bind-erp.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (26)
🟢binderp_get_account
The Bind ERP user and company this API key belongs to: user name, email, roles, branches (locations), company name, RFC (tax id), legal/commercial name, fiscal type and address. GET /api/UserProfile and /api/CompanyProfile.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_list_catalog(catalog, filter, orderby, top, skip)
List one of the reference catalogs whose ids other tools need: locations (branches), warehouses, price_lists, currencies, bank_accounts (with balances), users (employees) or categories. GET /api/Locations, /api/Warehouses, /api/PriceLists, /api/Currencies, /api/BankAccounts, /api/Users, /api/Categories.
Eingabe-Schema
{
"type": "object",
"properties": {
"catalog": {
"type": "string",
"enum": [
"locations",
"warehouses",
"price_lists",
"currencies",
"bank_accounts",
"users",
"categories"
],
"description": "Which catalog."
},
"filter": {
"description": "OData $filter, e.g. Name eq 'Main'. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, e.g. 'Date desc' or 'Title'.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"top": {
"description": "Rows per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"skip": {
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"required": [
"catalog"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_list_clients(filter, orderby, top, skip)
List customers: id, number, name, legal name, RFC, email, phone, next contact date and branch. Filter with OData, e.g. substringof('acme', ClientName). GET /api/Clients.
Eingabe-Schema
{
"type": "object",
"properties": {
"filter": {
"description": "OData $filter, e.g. substringof('acme', ClientName). Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, e.g. 'Date desc' or 'Title'.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"top": {
"description": "Rows per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"skip": {
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_get_client(client_id)
One customer with credit terms (days and limit), payment method, price list, branch, sales and credit contacts, discount, account number and addresses. GET /api/Clients/{id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"client_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Client id (a GUID, as returned by the list tools)."
}
},
"required": [
"client_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_get_client_addresses(client_id)
The addresses of a customer, with the ids that an order needs as address_id. GET /api/Clients/{id}/Addresses.
Eingabe-Schema
{
"type": "object",
"properties": {
"client_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Client id (a GUID, as returned by the list tools)."
}
},
"required": [
"client_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_list_prospects(filter, orderby, top, skip)
List sales prospects (leads): id, name, company, email, phone and salesperson. GET /api/Prospects.
Eingabe-Schema
{
"type": "object",
"properties": {
"filter": {
"description": "OData $filter, e.g. substringof('maria', ProspectName). Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, e.g. 'Date desc' or 'Title'.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"top": {
"description": "Rows per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"skip": {
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_get_prospect(prospect_id)
One prospect: name, company, email, phone, comments, creation date and owner. GET /api/Prospects/{id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"prospect_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Prospect id (a GUID, as returned by the list tools)."
}
},
"required": [
"prospect_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_list_providers(filter, orderby, top, skip)
List suppliers: id, number, name, legal name, RFC, email, phone and city. GET /api/Providers.
Eingabe-Schema
{
"type": "object",
"properties": {
"filter": {
"description": "OData $filter, e.g. substringof('acero', ProviderName). Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, e.g. 'Date desc' or 'Title'.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"top": {
"description": "Rows per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"skip": {
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_list_products(filter, orderby, top, skip)
List products: id, code, title, SKU, cost, current inventory, VAT flag, unit, currency and categories. Filter with OData, e.g. substringof('tornillo', Title). GET /api/Products.
Eingabe-Schema
{
"type": "object",
"properties": {
"filter": {
"description": "OData $filter, e.g. SKU eq 'ABC-1'. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, e.g. 'Date desc' or 'Title'.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"top": {
"description": "Rows per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"skip": {
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_get_product(product_id)
One product with prices per price list, inventory per warehouse, categories and alternative units. GET /api/Products/{id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"product_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Product id (a GUID, as returned by the list tools)."
}
},
"required": [
"product_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_list_products_with_price_and_stock(warehouse_id, price_list_id, top, skip)
Products with the price (from one price list) and stock (in one warehouse), VAT/IEPS, min/max and volume prices: the view a point-of-sale or quote needs. Get the ids from binderp_list_catalog. GET /api/ProductsPriceAndInventory.
Eingabe-Schema
{
"type": "object",
"properties": {
"warehouse_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Warehouse id (catalog warehouses) (a GUID, as returned by the list tools)."
},
"price_list_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Price list id (catalog price_lists) (a GUID, as returned by the list tools)."
},
"top": {
"description": "Rows per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"skip": {
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"required": [
"warehouse_id",
"price_list_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_get_inventory(warehouse_id, filter, orderby, top, skip)
Stock of every product in one warehouse: current inventory, balance, quantity on client orders and on purchase orders, value and SKU. Filter with OData, e.g. CurrentInventory lt 5 for low stock. GET /api/Inventory?warehouseID=.
Eingabe-Schema
{
"type": "object",
"properties": {
"warehouse_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Warehouse id (catalog warehouses) (a GUID, as returned by the list tools)."
},
"filter": {
"description": "OData $filter, e.g. CurrentInventory lt 5. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, e.g. 'Date desc' or 'Title'.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"top": {
"description": "Rows per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"skip": {
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"required": [
"warehouse_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_list_invoices(filter, orderby, top, skip)
List sales invoices, with series, number, date, client, RFC, subtotal, discount, taxes, total, payments received, credit notes, expiration date and status. Open balance = Total - Payments - CreditNotes (filter Total gt Payments, then subtract CreditNotes from the rows). GET /api/Invoices.
Eingabe-Schema
{
"type": "object",
"properties": {
"filter": {
"description": "OData $filter, e.g. Date ge datetime'2026-10-01T00:00:00' and Total gt Payments. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, e.g. 'Date desc' or 'Title'.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"top": {
"description": "Rows per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"skip": {
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_get_invoice(invoice_id_or_number)
One sale with client, status, payment terms, branch, warehouse, currency, totals, payments, credit notes and its product and service lines. Takes the invoice GUID or its number. GET /api/Invoices/{idOrNumber}.
Eingabe-Schema
{
"type": "object",
"properties": {
"invoice_id_or_number": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The invoice GUID or its number."
}
},
"required": [
"invoice_id_or_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_list_invoice_payments(invoice_id, orderby, top, skip)
The payments registered against one invoice: date, account, amount, status and who registered them. GET /api/Invoices/Payment/{invoiceID}.
Eingabe-Schema
{
"type": "object",
"properties": {
"invoice_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Invoice id (a GUID, as returned by the list tools)."
},
"orderby": {
"description": "OData $orderby, e.g. 'Date desc' or 'Title'.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"top": {
"description": "Rows per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"skip": {
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"required": [
"invoice_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_list_orders(filter, orderby, top, skip)
List customer orders (pedidos): number, date, client, branch, warehouse, salesperson, currency, subtotals, taxes, total and status. GET /api/Orders.
Eingabe-Schema
{
"type": "object",
"properties": {
"filter": {
"description": "OData $filter, e.g. OrderDate ge datetime'2026-10-01T00:00:00'. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, e.g. 'Date desc' or 'Title'.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"top": {
"description": "Rows per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"skip": {
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_get_order(order_id)
One customer order with address, status, totals and its product and service lines. GET /api/Orders/{id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Order id (a GUID, as returned by the list tools)."
}
},
"required": [
"order_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_list_quotes(filter, orderby, top, skip)
List quotes (cotizaciones): number, date, client, branch, comments, total, currency and status. GET /api/Quotes.
Eingabe-Schema
{
"type": "object",
"properties": {
"filter": {
"description": "OData $filter, e.g. CreationDate ge datetime'2026-10-01T00:00:00'. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, e.g. 'Date desc' or 'Title'.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"top": {
"description": "Rows per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"skip": {
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_get_quote(quote_id)
One quote with client or prospect, totals and its line items. GET /api/Quotes/{id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"quote_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Quote id (a GUID, as returned by the list tools)."
}
},
"required": [
"quote_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_list_purchase_orders(filter, orderby, top, skip)
List purchase orders to suppliers: number, warehouse, provider, date, status, quantity ordered and still missing, total and currency. GET /api/Purchases/GetPurchaseOrders.
Eingabe-Schema
{
"type": "object",
"properties": {
"filter": {
"description": "OData $filter, e.g. substringof('acero', Provider). Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, e.g. 'Date desc' or 'Title'.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"top": {
"description": "Rows per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"skip": {
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_get_purchase_order(purchase_order_id)
One purchase order with its product lines, quantities received and totals. GET /api/Purchases/{id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"purchase_order_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Purchase order id (a GUID, as returned by the list tools)."
}
},
"required": [
"purchase_order_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢binderp_list_activities(filter, orderby, top, skip)
List CRM activities (calls, meetings, tasks): title, start and end, owner, done flag, type and the client or prospect they belong to. GET /api/Activities.
Eingabe-Schema
{
"type": "object",
"properties": {
"filter": {
"description": "OData $filter, e.g. Done eq false. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, e.g. 'Date desc' or 'Title'.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"top": {
"description": "Rows per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"skip": {
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡binderp_create_prospect(name, company, email, phone, phone_ext, ...)
Create a sales prospect (lead) in Bind ERP. Writes a new record visible to the whole team; it is not deduplicated, so check binderp_list_prospects first. No message is sent to the prospect. POST /api/Prospects.
Eingabe-Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Contact name."
},
"company": {
"description": "Company name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"email": {
"description": "Email address.",
"type": "string",
"maxLength": 200,
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"phone": {
"description": "Phone number.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"phone_ext": {
"description": "Phone extension.",
"type": "string",
"minLength": 1,
"maxLength": 20
},
"comments": {
"description": "Notes.",
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"is_public": {
"description": "Visible to all users (true) or only to the key's user (false).",
"type": "boolean"
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡binderp_create_client(legal_name, commercial_name, rfc, credit_days, credit_amount, ...)
Create a customer in Bind ERP. Writes a new customer record (with credit terms) and is not deduplicated: check binderp_list_clients for the RFC first. The RFC must be valid for the tax authority (use XAXX010101000 for a generic public customer). No message is sent. Get price_list_id and location_id from binderp_list_catalog. POST /api/Clients.
Eingabe-Schema
{
"type": "object",
"properties": {
"legal_name": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "Legal name (razon social)."
},
"commercial_name": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "Commercial name."
},
"rfc": {
"type": "string",
"minLength": 10,
"maxLength": 13,
"description": "RFC (Mexican tax id)."
},
"credit_days": {
"default": 0,
"description": "Days of credit (0 = cash).",
"type": "integer",
"minimum": 0,
"maximum": 3650
},
"credit_amount": {
"default": 0,
"description": "Credit limit.",
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"price_list_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Price list id (catalog price_lists) (a GUID, as returned by the list tools)."
},
"accounting_number": {
"type": "string",
"minLength": 1,
"maxLength": 50,
"description": "Accounting account number for the customer (required by the API)."
},
"email": {
"description": "Email address.",
"type": "string",
"maxLength": 200,
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"telephone": {
"description": "Phone number.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"location_id": {
"description": "Branch id (catalog locations).",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
},
"comment": {
"description": "Notes.",
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"default_discount": {
"description": "Default discount percent.",
"type": "number",
"minimum": 0,
"maximum": 100
},
"address": {
"description": "Fiscal address.",
"type": "object",
"properties": {
"street_name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"exterior_number": {
"type": "string",
"minLength": 1,
"maxLength": 30
},
"interior_number": {
"type": "string",
"minLength": 1,
"maxLength": 30
},
"colonia": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"zip_code": {
"type": "string",
"minLength": 1,
"maxLength": 10
},
"city": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"state": {
"type": "string",
"minLength": 1,
"maxLength": 120
}
}
}
},
"required": [
"legal_name",
"commercial_name",
"rfc",
"price_list_id",
"accounting_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡binderp_add_comment(external_id, comment)
Add a comment to a Bind ERP record (client, prospect, order, ...) identified by its GUID. The comment becomes part of that record's history and cannot be removed through this API. POST /api/Comments.
Eingabe-Schema
{
"type": "object",
"properties": {
"external_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Id of the record to comment on (client, prospect, order...) (a GUID, as returned by the list tools)."
},
"comment": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"description": "The comment text."
}
},
"required": [
"external_id",
"comment"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡binderp_create_order(client_id, address_id, currency_id, location_id, warehouse_id, ...)
Create a customer order (pedido, not an invoice: nothing is stamped or invoiced and no email is sent) with product and/or service lines. It reserves stock and shows up in the sales pipeline, so confirm client, prices and quantities first. Get ids from binderp_list_clients, binderp_get_client_addresses, binderp_list_catalog and binderp_list_products. POST /api/Orders.
Eingabe-Schema
{
"type": "object",
"properties": {
"client_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Client id (a GUID, as returned by the list tools)."
},
"address_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Delivery address id (binderp_get_client_addresses) (a GUID, as returned by the list tools)."
},
"currency_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Currency id (catalog currencies) (a GUID, as returned by the list tools)."
},
"location_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Branch id (catalog locations) (a GUID, as returned by the list tools)."
},
"warehouse_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Warehouse id (catalog warehouses) (a GUID, as returned by the list tools)."
},
"price_list_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Price list id (catalog price_lists) (a GUID, as returned by the list tools)."
},
"order_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,7})?)?(Z|[+-]\\d{2}:\\d{2})?)?$",
"description": "Order date, ISO 8601, e.g. 2026-10-24 or 2026-10-24T10:00:00Z."
},
"comments": {
"description": "Order comments.",
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"purchase_order": {
"description": "The customer's purchase order number.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"exchange_rate": {
"description": "Exchange rate when the currency is not the base currency.",
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000
},
"products": {
"description": "Product lines.",
"maxItems": 200,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Product id (a GUID, as returned by the list tools)."
},
"price": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000,
"description": "Unit price before tax."
},
"qty": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000000,
"description": "Quantity."
},
"vat": {
"description": "VAT percent override.",
"type": "number",
"minimum": 0,
"maximum": 100
},
"comments": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"id",
"price",
"qty"
]
}
},
"services": {
"description": "Service lines.",
"maxItems": 200,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Service (sale concept) id (a GUID, as returned by the list tools)."
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "Line title."
},
"price": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000,
"description": "Unit price before tax."
},
"qty": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000000,
"description": "Quantity."
},
"vat": {
"description": "VAT percent override.",
"type": "number",
"minimum": 0,
"maximum": 100
},
"comments": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"id",
"title",
"price",
"qty"
]
}
}
},
"required": [
"client_id",
"address_id",
"currency_id",
"location_id",
"warehouse_id",
"price_list_id",
"order_date"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis