Brightpearl MCP by usefulapi

Search Brightpearl orders, products, stock, contacts and payments; add notes, update order status.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
74%
Qualität der Benennung
73%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (9)

  • LOWTool 'brightpearl_get_account_configuration' name length outside 3-30 rangein brightpearl_get_account_configuration
  • LOWTool 'brightpearl_list_order_statuses' name length outside 3-30 rangein brightpearl_list_order_statuses
  • LOWTool 'brightpearl_update_order_status' name length outside 3-30 rangein brightpearl_update_order_status
  • LOWTool 'brightpearl_get_product_availability' name length outside 3-30 rangein brightpearl_get_product_availability
  • LOWTool 'brightpearl_list_shipping_methods' name length outside 3-30 rangein brightpearl_list_shipping_methods
  • LOWTool 'brightpearl_search_goods_out_notes' name length outside 3-30 rangein brightpearl_search_goods_out_notes
  • LOWTool 'brightpearl_search_goods_in_notes' name length outside 3-30 rangein brightpearl_search_goods_in_notes
  • LOWTool 'brightpearl_search_customer_payments' name length outside 3-30 rangein brightpearl_search_customer_payments
  • LOWTool 'brightpearl_list_payment_methods' name length outside 3-30 rangein brightpearl_list_payment_methods

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~7,398Tokens (Tool-Definitionen)
~2.3 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (5.78% von 128k Kontext)

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": {
    "brightpearl": {
      "url": "https://brightpearl.usefulapi.io/mcp"
    }
  }
}

Remote-Endpunkte

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

Was es kann

Tool-Inventar

Tools (25)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢brightpearl_get_account_configuration

The Brightpearl account's configuration as key/value pairs: base currency, tax scheme, time zone, default and new-order status ids, nominal codes, weight unit, whether multiple warehouses are enabled. GET /integration-service/account-configuration.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_search_orders(order_ids, order_type_id, order_status_id, contact_id, customer_ref, ...)

Search sales orders, sales credits, purchase orders and purchase credits. Every filter is optional and they combine (AND); each result row has orderId, orderTypeId, contactId, orderStatusId, orderStockStatusId, createdOn, updatedOn, customerRef, externalRef, warehouseId and more. Use brightpearl_get_orders for the full order. Order type ids: brightpearl_list_order_types; status ids: brightpearl_list_order_statuses. GET /order-service/order-search.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_ids": {
      "description": "Only these orders (one or more ids).",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "order_type_id": {
      "description": "Order type id (1 sales order, 2 purchase order, 3 sales credit, 4 purchase credit; see brightpearl_list_order_types).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "order_status_id": {
      "description": "Order status id (brightpearl_list_order_statuses).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 1000000
    },
    "contact_id": {
      "description": "Only orders of this customer/supplier contact id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "customer_ref": {
      "description": "Customer reference of the order.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "external_ref": {
      "description": "External reference of the order (for example the web shop's order number).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "id_or_external_ref": {
      "description": "Matches an order id OR an external reference (case-insensitive match).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "warehouse_id": {
      "description": "Only orders for these warehouses (one or more ids).",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "payment_status_id": {
      "description": "Order payment status id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 1000
    },
    "shipping_status_id": {
      "description": "Order shipping status id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 1000
    },
    "is_closed": {
      "description": "Whether the order is invoiced (closed).",
      "type": "boolean"
    },
    "created_from": {
      "description": "Created: on or after this day (yyyy-mm-dd) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "created_to": {
      "description": "Created: on or before this day (yyyy-mm-dd, whole day included) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "updated_from": {
      "description": "Last updated: on or after this day (yyyy-mm-dd) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "updated_to": {
      "description": "Last updated: on or before this day (yyyy-mm-dd, whole day included) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "placed_from": {
      "description": "Placed: on or after this day (yyyy-mm-dd) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "placed_to": {
      "description": "Placed: on or before this day (yyyy-mm-dd, whole day included) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "page_size": {
      "description": "Rows per page, 1-500 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 500
    },
    "first_result": {
      "description": "Position of the first row to return, from 1 (default 1). Pass the previous reply's next_first_result for the next page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 10000000
    },
    "newest_first": {
      "description": "Newest (highest id) first. Default: oldest first.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_get_orders(order_ids, include_custom_fields)

Full details of one or more orders by id: type, status, payment/stock/shipping status, dates, currency, totals, assignment, customer/supplier, billing and delivery parties, and the order rows (product, quantity, price, tax). Up to 50 ids. GET /order-service/order/{ids}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_ids": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      },
      "description": "Order ids (1-50 ids)."
    },
    "include_custom_fields": {
      "description": "Also return the order's custom field values (includeOptional=customFields,nullCustomFields).",
      "type": "boolean"
    }
  },
  "required": [
    "order_ids"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_get_order_notes(order_id)

All notes on one order (text, author contact id, date, whether it is public on the customer portal, the order status at the time). GET /order-service/order/{id}/note.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Order id."
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_list_order_statuses

The account's order statuses (id, name, order type code SO/PO/SC/PC, sort order, disabled, visible to the customer, state such as draft). Use the ids to filter orders or to change an order's status. GET /order-service/order-status.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_list_order_types

The four order types with their ids and codes (1 SO sales order, 2 PO purchase order, 3 SC sales credit, 4 PC purchase credit), for the order search. GET /order-service/order-type.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴brightpearl_add_order_note(order_id, text, is_public)

WRITE: add a note to an existing order. The note is private (staff only) unless is_public is true, which makes it visible on the customer portal. Returns the new note id. Notes cannot be removed with this server. POST /order-service/order/{id}/note.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Order id."
    },
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 5000,
      "description": "The note text."
    },
    "is_public": {
      "description": "Visible to the customer on the customer portal. Default false.",
      "type": "boolean"
    }
  },
  "required": [
    "order_id",
    "text"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴brightpearl_update_order_status(order_id, order_status_id, note, note_is_public)

WRITE: move an existing order to another status (ids from brightpearl_list_order_statuses; the new status must exist, be visible and belong to this order's type). Brightpearl adds an order note on success, and status changes can trigger the account's alerts and automations. Moving a sales order to the account's 'cancelled' status removes its reservations and coupons and is refused while goods-out notes or payments exist. PUT /order-service/order/{id}/status.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Order id."
    },
    "order_status_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The new order status id."
    },
    "note": {
      "description": "Text of the order note Brightpearl adds (default: generated by Brightpearl).",
      "type": "string",
      "minLength": 1,
      "maxLength": 5000
    },
    "note_is_public": {
      "description": "Make that note visible on the customer portal. Default false.",
      "type": "boolean"
    }
  },
  "required": [
    "order_id",
    "order_status_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_search_products(product_ids, name, sku, barcode, ean, ...)

Search the product catalogue. Every filter is optional and they combine (AND); each result row has productId, productName, SKU, barcode, EAN, UPC, ISBN, MPN, stockTracked, createdOn, updatedOn, brightpearlCategoryCode, productGroupId, brandId, productTypeId, productStatus, primarySupplierId. Use brightpearl_get_products for full details. GET /product-service/product-search.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "product_ids": {
      "description": "Only these products (one or more ids).",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "name": {
      "description": "Product name (case-insensitive match).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "sku": {
      "description": "Exact SKU.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "barcode": {
      "description": "Barcode.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "ean": {
      "description": "EAN.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "upc": {
      "description": "UPC.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "isbn": {
      "description": "ISBN.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "mpn": {
      "description": "MPN.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "stock_tracked": {
      "description": "Only stock-tracked (true) or non-stock (false) products.",
      "type": "boolean"
    },
    "brand_id": {
      "description": "Only these brands (one or more ids).",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "product_type_id": {
      "description": "Only these product types (one or more ids).",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "category_id": {
      "description": "Only these Brightpearl categories (one or more ids).",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "product_group_id": {
      "description": "Only products of this product group (variations); 0 = products that are not in a group.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "product_status": {
      "description": "Lifecycle status code, for example LIVE.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "primary_supplier_id": {
      "description": "Only products with these primary suppliers (one or more ids).",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "created_from": {
      "description": "Created: on or after this day (yyyy-mm-dd) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "created_to": {
      "description": "Created: on or before this day (yyyy-mm-dd, whole day included) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "updated_from": {
      "description": "Last updated: on or after this day (yyyy-mm-dd) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "updated_to": {
      "description": "Last updated: on or before this day (yyyy-mm-dd, whole day included) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "page_size": {
      "description": "Rows per page, 1-500 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 500
    },
    "first_result": {
      "description": "Position of the first row to return, from 1 (default 1). Pass the previous reply's next_first_result for the next page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 10000000
    },
    "newest_first": {
      "description": "Newest (highest id) first. Default: oldest first.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_get_products(product_ids, include_custom_fields)

Full details of one or more products by id: identity (SKU, barcodes), brand, type, stock-tracking, weight and dimensions, tax code, sales-channel names/descriptions/categories, bundle composition, variations, per-warehouse reorder levels, supplier and status. Up to 50 ids. GET /product-service/product/{ids}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "product_ids": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      },
      "description": "Product ids (1-50 ids)."
    },
    "include_custom_fields": {
      "description": "Also return custom field values (includeOptional=customFields,nullCustomFields).",
      "type": "boolean"
    }
  },
  "required": [
    "product_ids"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_get_product_prices(product_ids, price_list_ids)

Prices of products per price list: for each product and price list the currency, SKU and the quantity-break price map (e.g. {"1":"12","100":"11"}). Up to 50 product ids; optionally only some price lists (ids from brightpearl_list_price_lists). GET /product-service/product-price/{product ids}/price-list/{price list ids}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "product_ids": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      },
      "description": "Product ids (1-50 ids)."
    },
    "price_list_ids": {
      "description": "Only these price list ids (0 is the cost price list).",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 9007199254740991
      }
    }
  },
  "required": [
    "product_ids"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_get_product_availability(product_ids, by_location, on_order)

Stock availability of stock-tracked products: for each product the totals across all warehouses (inStock, onHand, allocated, inTransit) and the same per warehouse; optionally per location, with on-order quantities. Up to 50 product ids. GET /warehouse-service/product-availability/{ids}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "product_ids": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      },
      "description": "Product ids (1-50 ids)."
    },
    "by_location": {
      "description": "Also break the figures down by location within each warehouse.",
      "type": "boolean"
    },
    "on_order": {
      "description": "Also include quantities on open purchase orders (total and shipped).",
      "type": "boolean"
    }
  },
  "required": [
    "product_ids"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_list_price_lists

The price lists (id, name, code, currency, SELL or BUY, gross or net). Id 0 is the cost price list. GET /product-service/price-list.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_search_brands(name, page_size, first_result)

Search product brands by name; each row has brandId, brandName, createdOn, updatedOn. GET /product-service/brand-search.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Brand name (case-insensitive match).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "page_size": {
      "description": "Rows per page, 1-500 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 500
    },
    "first_result": {
      "description": "Position of the first row to return, from 1 (default 1). Pass the previous reply's next_first_result for the next page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 10000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_search_categories(name, parent_id, active, page_size, first_result)

Search Brightpearl product categories; each row has id, name, parentId, active, createdOn, updatedOn. GET /product-service/brightpearl-category-search.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Category name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "parent_id": {
      "description": "Only the children of this category; 0 = the top-level categories.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "active": {
      "description": "Only active (true) or inactive (false) categories.",
      "type": "boolean"
    },
    "page_size": {
      "description": "Rows per page, 1-500 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 500
    },
    "first_result": {
      "description": "Position of the first row to return, from 1 (default 1). Pass the previous reply's next_first_result for the next page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 10000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_list_warehouses

The warehouses (id, name, type, address id, click-and-collect settings, weekly operating hours). Use the ids for stock and order filters. GET /warehouse-service/warehouse.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_list_shipping_methods

The shipping methods (id, name, code, carrier, price breaks, countries). GET /warehouse-service/shipping-method.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_search_goods_out_notes(order_id, warehouse_id, shipped, picked, packed, ...)

Search goods-out notes, the pick/pack/ship records of sales orders; each row has goodsOutNoteId, printed, picked, packed, shipped, shippedOn, orderId, shippingMethodId, warehouseId, createdOn, releaseDate, transfer. GET /warehouse-service/goods-note/goods-out-search.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_id": {
      "description": "Only notes of this order.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "warehouse_id": {
      "description": "Only notes of this warehouse.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "shipped": {
      "description": "Only shipped (true) or not yet shipped (false) notes.",
      "type": "boolean"
    },
    "picked": {
      "description": "Only picked (true) or not yet picked (false) notes.",
      "type": "boolean"
    },
    "packed": {
      "description": "Only packed (true) or not yet packed (false) notes.",
      "type": "boolean"
    },
    "shipping_method_id": {
      "description": "Only these shipping methods (one or more ids).",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "shipped_from": {
      "description": "Shipped: on or after this day (yyyy-mm-dd) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "shipped_to": {
      "description": "Shipped: on or before this day (yyyy-mm-dd, whole day included) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "created_from": {
      "description": "Created: on or after this day (yyyy-mm-dd) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "created_to": {
      "description": "Created: on or before this day (yyyy-mm-dd, whole day included) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "page_size": {
      "description": "Rows per page, 1-500 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 500
    },
    "first_result": {
      "description": "Position of the first row to return, from 1 (default 1). Pass the previous reply's next_first_result for the next page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 10000000
    },
    "newest_first": {
      "description": "Newest (highest id) first. Default: oldest first.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_search_goods_in_notes(purchase_order_id, product_id, warehouse_id, batch_id, received_from, ...)

Search goods-in records (stock received against purchase orders, by batch and location); each row has purchaseOrderId, batchId, productId, locationId, price, currCode, receivedQuantity, onHand, createdDate, receivedDate, warehouseId. GET /warehouse-service/goods-in-search.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "purchase_order_id": {
      "description": "Only stock received on this purchase order.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "product_id": {
      "description": "Only this product.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "warehouse_id": {
      "description": "Only this warehouse.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "batch_id": {
      "description": "Only this batch.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "received_from": {
      "description": "Received: on or after this day (yyyy-mm-dd) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "received_to": {
      "description": "Received: on or before this day (yyyy-mm-dd, whole day included) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "page_size": {
      "description": "Rows per page, 1-500 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 500
    },
    "first_result": {
      "description": "Position of the first row to return, from 1 (default 1). Pass the previous reply's next_first_result for the next page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 10000000
    },
    "newest_first": {
      "description": "Newest batch (highest batch id) first. Default: oldest first.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_search_contacts(contact_ids, email, exact_primary_email, first_name, last_name, ...)

Search contacts (customers, suppliers and staff). Every filter is optional and they combine (AND); each result row has contactId, primaryEmail, firstName, lastName, companyName, isSupplier, isStaff, isCustomer, createdOn, updatedOn, lastOrderedOn and more. Use brightpearl_get_contacts for the full record. GET /contact-service/contact-search.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "contact_ids": {
      "description": "Only these contacts (one or more ids).",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "email": {
      "description": "Matches any of the contact's email addresses (case-insensitive match).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "exact_primary_email": {
      "description": "Exact primary email address.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "first_name": {
      "description": "First name (case-insensitive match).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "last_name": {
      "description": "Last name (case-insensitive match).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "company_name": {
      "description": "Company name (case-insensitive match).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "phone": {
      "description": "Matches any of the telephone or mobile numbers.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "is_customer": {
      "description": "Only customers (true).",
      "type": "boolean"
    },
    "is_supplier": {
      "description": "Only suppliers (true).",
      "type": "boolean"
    },
    "is_staff": {
      "description": "Only staff (true).",
      "type": "boolean"
    },
    "tag_ids": {
      "description": "Only contacts with these tag ids (one or more ids).",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "company_ids": {
      "description": "Only contacts of these company ids (one or more ids).",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "created_from": {
      "description": "Created: on or after this day (yyyy-mm-dd) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "created_to": {
      "description": "Created: on or before this day (yyyy-mm-dd, whole day included) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "updated_from": {
      "description": "Last updated: on or after this day (yyyy-mm-dd) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "updated_to": {
      "description": "Last updated: on or before this day (yyyy-mm-dd, whole day included) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "last_ordered_from": {
      "description": "Last ordered: on or after this day (yyyy-mm-dd) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "last_ordered_to": {
      "description": "Last ordered: on or before this day (yyyy-mm-dd, whole day included) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "page_size": {
      "description": "Rows per page, 1-500 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 500
    },
    "first_result": {
      "description": "Position of the first row to return, from 1 (default 1). Pass the previous reply's next_first_result for the next page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 10000000
    },
    "newest_first": {
      "description": "Newest (highest id) first. Default: oldest first.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_get_contacts(contact_ids, include_custom_fields, include_addresses)

Full records of one or more contacts by id: name, emails, phones, status, supplier/staff flags, financial details (price list, tax code, credit limit and terms), assignment, organisation, tags, dates; optionally custom fields and the full postal addresses. Up to 50 ids. GET /contact-service/contact/{ids}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "contact_ids": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      },
      "description": "Contact ids (1-50 ids)."
    },
    "include_custom_fields": {
      "description": "Also return custom field values.",
      "type": "boolean"
    },
    "include_addresses": {
      "description": "Also return the full postal addresses.",
      "type": "boolean"
    }
  },
  "required": [
    "contact_ids"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴brightpearl_add_contact_note(contact_id, text, is_public)

WRITE: add a note to a contact's timeline (for example a record of correspondence). The note is private (staff only) unless is_public is true, which makes it visible on the customer portal. Returns the new note id. Notes cannot be removed with this server. POST /contact-service/contact/{id}/note.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "contact_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Contact id."
    },
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 5000,
      "description": "The note text."
    },
    "is_public": {
      "description": "Visible to the customer on the customer portal. Default false.",
      "type": "boolean"
    }
  },
  "required": [
    "contact_id",
    "text"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_search_customer_payments(payment_ids, order_ids, payment_method_code, payment_type, transaction_ref, ...)

Search payments received against sales orders; each row has paymentId, transactionRef, paymentMethodCode, paymentType, orderId, currencyCode, amountAuthorized, amountPaid, paymentDate, createdOn, journalId. GET /accounting-service/customer-payment-search.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "payment_ids": {
      "description": "Only these payments (one or more ids).",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "order_ids": {
      "description": "Only payments on these orders (one or more ids).",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "payment_method_code": {
      "description": "Payment method code (brightpearl_list_payment_methods).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "payment_type": {
      "description": "Payment type, for example RECEIPT, CAPTURE, AUTH.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "transaction_ref": {
      "description": "The payment gateway's transaction reference.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "payment_from": {
      "description": "Payment date: on or after this day (yyyy-mm-dd) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "payment_to": {
      "description": "Payment date: on or before this day (yyyy-mm-dd, whole day included) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "created_from": {
      "description": "Created: on or after this day (yyyy-mm-dd) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "created_to": {
      "description": "Created: on or before this day (yyyy-mm-dd, whole day included) or ISO 8601 date-time with timezone.",
      "type": "string"
    },
    "page_size": {
      "description": "Rows per page, 1-500 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 500
    },
    "first_result": {
      "description": "Position of the first row to return, from 1 (default 1). Pass the previous reply's next_first_result for the next page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 10000000
    },
    "newest_first": {
      "description": "Newest (highest id) first. Default: oldest first.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_list_payment_methods

The payment methods (name, code, active, bank accounts with currency and nominal code). GET /accounting-service/payment-method.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢brightpearl_list_tax_codes

The tax codes (id, code, description, rate). GET /accounting-service/tax-code.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet25 Tools