Connect your BrickLink store to EcomCentral using the Store API v1 with OAuth 1.0a (HMAC-SHA1) authentication.
oauth_problem=signature_invalid error from BrickLink.
| Key | Required | Description | Example |
|---|---|---|---|
consumer_key |
Required | OAuth 1.0a Consumer Key from BrickLink API settings | XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
consumer_secret |
Required | OAuth 1.0a Consumer Secret | XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
token |
Required | OAuth 1.0a Token Value (Access Token) | XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
token_secret |
Required | OAuth 1.0a Token Secret | XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
consumerKey / consumerSecret /
tokenValue / tokenSecret.
Every request to the BrickLink API is signed using HMAC-SHA1. EcomCentral handles this automatically — you never need to generate signatures manually. Here is how it works for reference:
oauth_consumer_key, oauth_nonce,
oauth_signature_method=HMAC-SHA1, oauth_timestamp,
oauth_token, oauth_version=1.0METHOD&percent(url)&percent(paramStr)percent(consumer_secret)&percent(token_secret)oauth_signature to OAuth params → build Authorization: OAuth … header| Operation | Method | Endpoint |
|---|---|---|
| Test connection / list orders | GET | /orders?direction=in&page=1&page_size=1 |
| List orders (paginated) | GET | /orders?direction=in&page=P&page_size=N |
| Order detail | GET | /orders/{order_id} |
| Order items | GET | /orders/{order_id}/items |
| Update order (tracking / status) | PUT | /orders/{order_id} |
| List inventories (paginated) | GET | /inventories?page=P&page_size=N |
| Inventory item detail | GET | /inventories/{inventory_id} |
| Update inventory quantity | PUT | /inventories/{inventory_id} |
https://api.bricklink.com/api/store/v1.
All requests include an Authorization: OAuth … header generated via HMAC-SHA1.
| Status | Color | Meaning |
|---|---|---|
PENDING |
Amber | Order placed, awaiting seller action |
UPDATED |
Blue | Order details have been updated |
PROCESSING |
Amber | Seller is preparing the order |
READY |
Amber | Order is ready to be shipped |
PAID |
Blue | Payment received from buyer |
PACKED |
Amber | Order has been packed |
SHIPPED |
Green | Order shipped; tracking submitted |
RECEIVED |
Green | Buyer confirmed receipt |
COMPLETED |
Green | Order fully completed; feedback exchanged |
OCR |
Blue | On-site credit request filed |
NPB |
Red | Non-paying buyer (strike filed) |
NPX |
Red | NPB exception granted |
NRS |
Red | Non-responsive seller |
NSS |
Red | Non-shipping seller |
CANCELLED |
Red | Order cancelled |
PURGED |
Red | Order purged from the system |
| Feature | Supported | Notes |
|---|---|---|
| View orders (paginated) | ✅ | Order ID, buyer name, date, status, currency + total; inbound orders only |
| View order detail | ✅ | Full order data: buyer, shipping address, payment info, and all line items |
| Add tracking / mark shipped | ✅ | Submits tracking number + link and sets status to SHIPPED in one PUT request |
| View inventory (paginated) | ✅ | Part no, name, color, condition, unit price, quantity; projected from /inventories |
| Inventory detail | ✅ | Full inventory item: color hex, type, category, description |
| Update stock quantity | ✅ | Keyed by inventory_id (integer), not by part number or SKU string |
| Test connection | ✅ | Fetches page 1 of inbound orders — a 200 response confirms all four OAuth credentials are valid |
PUT /inventories/{id} endpoint is keyed by the integer inventory_id
assigned when you listed the item. The EcomCentral stock update form pre-fills this value
from the inventory list row.
One or more of the four OAuth credentials is incorrect. Double-check all four values in the BrickLink API settings page. Whitespace or a truncated copy-paste is a common cause — each credential is a long alphanumeric string with no spaces.
When registering your access token on BrickLink, you may have restricted it to specific IP addresses. Add your server's public IP (or leave blank during development). Find the restriction under My BrickLink → Settings → API → Access Token Registration.
BrickLink only allows status changes in a valid forward direction. Orders already
in COMPLETED, CANCELLED, or PURGED status cannot
be marked SHIPPED. Verify the current order status before submitting tracking.
Ensure you are using the inventory_id (an integer assigned by BrickLink),
not the part number (item.no). The EcomCentral inventory table shows
the inventory_id in the first column; it is also pre-filled in the stock update form.
EcomCentral fetches direction=in (buyer orders placed in your store).
If you have no inbound orders for the period, the list will be empty. Check your
BrickLink store dashboard to confirm there are open orders.