Brightpearl by Sage is a retail operations platform that holds sales orders, purchase orders, stock, warehouses, contacts, and the accounting behind them. Its REST API is split into services, each at a URI of the form https://{DATACENTER}.brightpearlconnect.com/public-api/{ACCOUNT}/{service}: the Order service for sales orders, credits, notes, and status; the Warehouse service for goods-out notes, goods-in notes, availability, and transfers; the Contact service for customers, suppliers, and staff.
Through Fibric, an operator listens for webhook events on orders and goods-out notes, checks allocation and shipping status, and proposes an order status change, a note, or a goods-out event for your approval. Each approved call runs once and is kept with its reason.
This is a reference listing. It documents what Fibric would read from Brightpearl by Sage and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.
Inputs
Sales orders through Order Search (/order-service/order-search) by orderStatusId, orderStockStatusId, orderShippingStatusId, orderPaymentStatusId, updatedOn, and externalRef
Order detail through Order GET (/order-service/order/{ID-SET}), up to 200 orders per call, with rows, delivery, invoices, and payment status
Goods-out notes through Goods-Out Note Search and GET, with printed, picked, packed, shipped, shippedOn, releaseDate, priority, and labelUri
Stock per warehouse through Product Availability GET (/warehouse-service/product-availability/{PRODUCT-ID-SET}): inStock, onHand, allocated, inTransit, and allocated orders
Resource events through webhooks, such as sales-order.created and goods-out-note lifecycle events, delivered to a URL you register
Customers, suppliers, and staff through the Contact resource's SEARCH and GET methods
Order notes through Order Note SEARCH and GET
Proposed actions
Target capability: propose an order status change through Order Status Update PUT (/order-service/order/{ORDER-ID}/status) with an accompanying note
Target capability: propose a note on an order through Order Note POST (/order-service/order/{ORDER-ID}/note), public or internal
Target capability: propose recording picked, packed, or shipped on a goods-out note through Goods-Out Note Event POST with event codes PIC, PAC, and SHW
Target capability: propose registering or removing a webhook subscription through Webhook POST and DELETE on the Integration service
Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.
What you can build
Chase orders allocated but never shipped
Goods-Out Note Search with shipped false and a releaseDate in the past lists notes waiting in the warehouse. The operator proposes an order note and, where warranted, a status change.
Orders whose stock allocation code is APA or ANA have rows without stock. The operator drafts the backorder message and proposes a public order note for approval.
Order Search with isClosed false and orderShippingStatusId at all-shipped surfaces revenue not yet billed. The operator lists them for finance with the goods-out dates.
Product Availability GET gives inStock, onHand, and allocated per warehouse. The operator compares that with channel listings and proposes which SKUs to pull down first.
A Brightpearl account and a registered developer integration with its integration ref as client_id, plus a client secret if confidential OAuth is enabled
The account code, which appears in the token URL and in every API URI
A token refresh routine: the access token lifetime is returned as expires_in, and api_domain can change on refresh and must be re-read
A public HTTPS endpoint for webhook callbacks, registered with subscribeTo, httpMethod, uriTemplate, and bodyTemplate
Instance recovery details, previous_instance_id and previous_access_token, if a lost token must not create a new integration instance
Authentication
OAuth 2.0 authorization code grant against https://oauth.brightpearlapp.com/token/{ACCOUNT}, returning a Bearer access token, a refresh token, and the api_domain to call.
Limits
Order GET returns at most 200 orders per request, and goods-out note ID sets are capped at 500, so history loads are chunked.
Webhook delivery is at-most-once unless qualityOfService is set to 1, which retries everything except 4xx responses; the reference recommends 1 and idSetAccepted true.
Once a goods-out note is shipped no further events can be added, and duplicate events are avoided only by passing lastEventVersion in If-Match.
The API reference defers to the Help Center for webhook event names, URI syntax, and search design, so those pages are read alongside it.
Access and pricing
Reference listing. Fibric builds the connector under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.
Whatever bodyTemplate you register, filled from placeholders such as ${account-code}, ${resource-type}, ${resource-id}, ${lifecycle-event}, ${full-event}, and ${raised-on}. With idSetAccepted true, several resource ids arrive in one call.
Can the API cancel a sales order?
Order Status Update PUT can set the cancelled status only if the order has no goods-out notes, is not in the invoiced status, and has zero payments against it. Reservations and coupons are then removed and an order note is written.
Which host does the connector call?
The api_domain returned by the token endpoint, for example ws-eu1.brightpearl.com. It can change when a token is refreshed, which is how Brightpearl moves accounts between datacenters, so the connector stores the latest value.
Ask about Brightpearl by Sage
Ask about the capabilities and requirements in this listing.
This connector listing is developed, published, and supported by Fibric. It describes integration with Brightpearl by Sage through published interfaces. Third-party names and logos identify the systems an integration connects to; they are the property of their respective owners, who are not affiliated with Fibric and do not sponsor or endorse this listing. Trademark policy