eCommerce Orders
Order connector for eCommerce and Dropship integrations. Both connector types use this same endpoint and payload. See the Sending Orders guide for the full integration flow.
Returns a paginated list of orders imported through a connector.
Filters are passed as URL path segments. Example: /connector/7/order/list/id:123/page:2/.
Supported filters: id, minid, page.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
connector_id |
path | integer | yes | BOCP connector ID. |
Responses
| Status | Description |
|---|---|
200 |
Paginated list of orders. Each item includes linked sales receipts, invoices, and AWBs. |
401 |
Missing or invalid Basic Auth credentials. |
Creates a new order in BOCP from the connector. The {order_id} URL segment must equal order_unique_id in the body — a mismatch returns 400.
DropShip vs eCommerce: Both connector types use this same endpoint and payload. The difference is in invoice issuance: for DropShip connectors the invoice is issued to the dropshipper's preconfigured BOCP contact; for eCommerce connectors the invoice goes directly to the client supplied in the order.
Authentication: HTTP Basic with credentials tied to this specific connector. The API user cannot access other connectors.
Webhook notifications (BOCP → partner): BOCP POSTs JSON to your configured notification URL on three events. Your endpoint must return HTTP 200 to acknowledge; HTTP 4xx closes the notification permanently; any other code retries periodically.
*Status change:* {"order_unique_id":"...","notification_type":"status","status_text":"..."}
*Invoice issued:* {"notification_type":"invoice","invoice_number":"...","invoice_date":"...","invoice_series":"...","invoice_total":0.0,"invoice_currency":"RON","invoice_total_RON":0.0,"invoice_url_html":"...","invoice_url_pdf":"..."}
*AWB issued:* {"notification_type":"awb","awb_number":"...","awb_packet_count":1,"weight":1.5,"shipping_payer":"...","cash_on_delivery":0.0,"cash_on_delivery_currency":"RON","delivery_country":"Romania","declared_value":0.0,"awb_url_pdf":"..."}
Product push (same URL): the identical notification URL also receives product-catalog pushes — BOCPRAPI is wired as a regular push destination (like Shopify, GoMag, ...), not a passive feed, so GET .../products/ no longer needs to be polled on a schedule. Every push carries the CURRENT full product state (not a diff), using the same field names as GET .../products/. See the *Sending Orders* guide, section "Product push (catalog changes)", for the full field list.
*New / republished:* notification_type="product_published". *Field, stock or price change:* notification_type="product_update". *Disconnected / deleted:* notification_type="product_unpublished" — {"notification_type":"product_unpublished","cod_produs":"..."}. Single packet per product for now.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
connector_id |
path | integer | yes | BOCP connector ID assigned when the connector was created. |
order_id |
path | string | yes | Partner-side order identifier. Must match `order_unique_id` in the body. |
Request body (JSON)
See schema in the OpenAPI spec.
Responses
| Status | Description |
|---|---|
200 |
Order accepted. Response `data` contains `BOCP_order_id`, plus `notices` and `errors` arrays. |
400 |
Request is malformed or a required field is missing / invalid. |
401 |
Missing or invalid Basic Auth credentials. |
Updates an order previously submitted via POST. All body fields are optional except order_unique_id. Only fields present in the body are updated:
- items — if present, fully replaces all existing order items.
- client — if present, updates client data.
- order_status, order_cancelled — always updateable individually without sending the full payload.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
connector_id |
path | integer | yes | |
order_id |
path | string | yes |
Request body (JSON)
See schema in the OpenAPI spec.
Responses
| Status | Description |
|---|---|
200 |
OK — response uses the shared envelope. |
400 |
Request is malformed or a required field is missing / invalid. |
401 |
Missing or invalid Basic Auth credentials. |
404 |
The requested resource does not exist. |
Returns the products published to this connector, so you can obtain the product code used in order items and keep stock/prices in sync.
Only products published to this connector (from *Product Catalogue* in BOCP) are returned — there is no push; you pull the current list on demand. The response has the same shape as /product/list/, so a single parser handles both. Prices and stock reflect the connector's configured working point.
Filters are passed as URL path segments. Example: /connector/7/products/include:images/page:2/.
Supported filters: page, format (json|xml|csv), code (single product by code/barcode), modifiedafter:YYYY-MM-DD HH:MM:SS (incremental sync), include:images,properties, magazia_id (override pricing/stock working point).
Use cod_produs from each item as the code when building orders.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
connector_id |
path | integer | yes | BOCP connector ID assigned when the connector was created. |
Responses
| Status | Description |
|---|---|
200 |
Paginated list of the products published to this connector. |
401 |
Missing or invalid Basic Auth credentials. |
404 |
The requested resource does not exist. |
Returns the connector's current configuration so your integration knows what to expect when it sends orders: which automations will run (sale issue, invoicing, proforma, AWB), how products sync in both directions, and how order events map to statuses.
Read-only — a GET never changes any setting.
Option fields are exported as an object with three keys so you can also see what values are possible:
{"value": "a", "label": "AUTOMAT: ...", "options": {"a": "AUTOMAT: ...", "m": "MANUAL: ..."}}
Settings that fall back to an account-wide default when not set per connector also carry a source key (connector or global).
Response groups (data):
- connector — id, site domain, type, active flag, order API URL, configured order_event_notification_url.
- products — auto-import into the ERP (autoimport_into_erp, import_mode: all | ordered_only | only_categories_with_autoimport), update options (update product code in ERP, disconnect multiple connections, group products, fields updated from the site), the sub-inventory where new products are created, and push (product push active, products_feed_url, and product_change_notify_url — the same URL as order_event_notification_url; BOCP pushes the full current product state there on publish/update/unpublish, same as any other push destination).
- order_processing — order confirmation method (automatic/manual), the working point where orders are auto-processed, action on order import (reserve stock / issue sale / ...), next-day scheduling hour, weekdays skipped for sale issue, cancel/return actions, ignored validation errors and statuses, repeated-order block threshold.
- invoicing — preferred invoice series, auto-issue trigger and stock condition, payment methods excluded from auto-invoicing, only-if-paid flag, e-mail auto-send.
- proforma — proforma series and the payment methods / status that trigger it.
- awb — AWB auto-issue mode and stock condition, latest issue hour, skipped weekdays.
- status_sync — the event → external status mapping used when BOCP pushes status changes back to your site.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
connector_id |
path | integer | yes | BOCP connector ID assigned when the connector was created. |
Responses
| Status | Description |
|---|---|
200 |
The connector configuration, grouped by area. |
401 |
Missing or invalid Basic Auth credentials. |
404 |
The requested resource does not exist. |
This page is generated from openapi.json.