Brightpearl MCP by usefulapi
Search Brightpearl orders, products, stock, contacts and payments; add notes, update order status.
我该使用它吗
质量与安全性
发现(9)
- LOW在 brightpearl_get_account_configuration 中
- LOW在 brightpearl_list_order_statuses 中
- LOW在 brightpearl_update_order_status 中
- LOW在 brightpearl_get_product_availability 中
- LOW在 brightpearl_list_shipping_methods 中
- LOW在 brightpearl_search_goods_out_notes 中
- LOW在 brightpearl_search_goods_in_notes 中
- LOW在 brightpearl_search_customer_payments 中
- LOW在 brightpearl_list_payment_methods 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"brightpearl": {
"url": "https://brightpearl.usefulapi.io/mcp"
}
}
}远程端点
https://brightpearl.usefulapi.io/mcpstreamable-http它能做什么
工具清单
工具(25)
🟢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.
输入模式
{
"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.
输入模式
{
"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}.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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}.
输入模式
{
"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}.
输入模式
{
"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}.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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}.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社区
证据