Changelog
A record of all additions and breaking changes to the BOCP REST API v1.
1.8.0 — 2026-08-17
New endpoints
-
Product push — BOCPRAPI connectors are now a regular push destination,
the same way BOCP already pushes to Shopify, GoMag and other platforms: the connector's
order-event notification URL also receives the CURRENT full state of a product (identity,
category, price, stock, description) whenever it's published, edited, or its stock/price
changes —
notification_typeofproduct_published,product_update, orproduct_unpublished. This replaces the need to pollGET .../products/on a schedule; the pull endpoint keeps working for initial sync or reconciliation. See the Sending Orders guide, section "Product push (catalog changes)".
1.6.0 — 2026-08-17
Enhanced endpoints
-
GET /product/list/ and GET /connector/{connector_id}/products/
(which reuses the same payload) — each product now also returns
stock_reserved(quantity reserved for other orders) andstock_available(stoc_global - stock_reserved, floored at 0), so callers can distinguish total stock from what is actually sellable.
1.5.0 — 2026-08-17
New endpoints
-
GET /connector/{connector_id}/config/ — read the connector's configuration:
which automations run on submitted orders (sale issue, invoicing, proforma, AWB), how products
sync in both directions (auto-import mode, update options, push feed URL), and the
event → status mapping. Option fields include the full list of possible values, and
per-connector settings that fall back to an account-wide default carry a
sourcekey.
Enhanced endpoints
-
PUT /connector/{connector_id}/order/{order_id}/ — a partial update sending only
order_unique_id+order_statusnow works as documented (previously returned HTTP 500), and an update withoutitemsno longer touches the existing order lines. The documentedorder_cancelledfield is now honoured on update. -
POST /connector/{connector_id}/order/{order_id}/ — a new order without the
clientblock is now rejected with a clear validation error.
1.4.0 — 2026-07-30
New endpoints
-
POST /attachments/upload/ — upload a file (multipart/form-data) and attach it to any BOCP document
by
doctype+doc_id. Files are stored on the account's external FTP storage; executable file types are rejected. - GET /attachments/{attachment_id}/ — read an attachment's metadata (filename, size, owning document, visibility).
-
DELETE /attachments/{attachment_id}/ — delete an attachment (file, metadata and download key).
Requires the
DELETEHTTP method to be allowed for your API user.
1.3.0 — 2026-07-19
New endpoints
-
GET /connector/{connector_id}/products/ — pull the product catalog published to a connector.
Returns the same payload shape as
/product/list/, restricted to products published to the connector from Product Catalogue. Supportspage,format,code,modifiedafter,include, andmagazia_idfilters.
Documentation
- The Sending Orders guide now includes a "Reading the product catalog" section covering the pull feed and incremental sync.
1.2.0 — 2026-07-14
New endpoints
- POST /connector/{connector_id}/order/{order_id}/ — submit a new order to BOCP via the eCommerce or DropShip connector. Supports products, discount lines, and service lines. Accepts client details, invoice & delivery addresses, and payments. BOCP sends webhook notifications back to your configured URL on status change, invoice issuance, and AWB issuance.
-
PUT /connector/{connector_id}/order/{order_id}/ — update an existing connector order.
Partial updates: only fields present in the body are changed;
itemsfully replaces existing lines when included.
Both endpoints are shared by two connector types — tag determines which applies:
- DropShip Orders — invoices issued to the preconfigured dropshipper contact, not the end client.
- eCommerce Orders — invoices issued directly to the client supplied in the order payload.
Removed
- Webshop Orders — removed from public docs. The
/webshoporder/route is internal-only and not available to third-party integrations.
1.1.0 — 2026-07-14
New endpoints
- GET /pricelists/list/ — enumerate pricelists defined in the account (name, item count, currency, flags). Use the returned
bocp_idas thepricelist_idfilter on/product/list/. - GET /contacts/list/ — paginated list of clients with optional includes:
pricelist,address,contacts,banks.
Enhanced endpoints
- GET /product/list/ — new
pricelist_idfilter. Requiresmagazia_id. Only returns products that have a rule in the given pricelist. Price fields are mapped based on workpoint type:- En-gros workpoint: pricelist price replaces
pret_vanzare/pret_vanzare_cu_tva; discounted fields arenull. - En-detail workpoint: retail price stays in
pret_vanzare; pricelist price appears inpret_vanzare_discounted/pret_vanzare_cu_tva_discounted.
- En-gros workpoint: pricelist price replaces
- GET /contacts/{contact_id}/ — new
include:pricelistaddspricelist_idandpricelist_nameto the response, with group-level fallback.
1.0.0-beta — initial release
Initial public beta covering: Sales, Invoices, Proformas, Fiscal Receipts, Payments, Offers, GRN, Stock Transfers, Consumptions, Inventory, Products, Product Web Categories, AWB, Courier Pickup Points, Workmanager, Contacts (view), Subscriptions, Workpoints, Postcodes, eCommerce / DropShip Order connector.