Every shop gets a secure API key from its dashboard. Use it to push orders from your own website, app, or WordPress/WooCommerce store straight into GoTrack.bd — automatically, with no manual entry.
Three steps from your store to your GoTrack.bd order list.
Copy your Endpoint URL, API Key, and API Secret from your dashboard settings.
Your website (or the WordPress plugin) posts each new order to the API.
Orders appear instantly in GoTrack.bd, ready for fulfilment and courier dispatch.
Sign in to GoTrack.bd as the shop owner and go to Settings → API (the API / WooCommerce Sync section). Your shop's credentials are generated automatically — you don't have to create anything. You'll find three values:
| Value | What it is | Used as |
|---|---|---|
| Endpoint URL | The address that receives your orders. | Request URL |
| API Key | Public identifier for your shop (starts with fbc_). | Basic Auth username |
| API Secret | Private password. Keep it confidential. | Basic Auth password |
Authentication: the API uses standard HTTP Basic Auth — your API Key is the username and your API Secret is the password. Send them with every request over HTTPS.
🔁 Rotating credentials
Use Regenerate Key & Secret on the same settings screen if a secret leaks. The old credentials stop working immediately, so update your website or plugin right after.
🔒 Keep the secret safe
The API Key is safe to share within your team. The API Secret is a password — never put it in client-side code, public repos, or screenshots.
Create an order by sending an authenticated POST request with a JSON body:
Always use the exact Endpoint URL shown in your dashboard — the host above is only an example. Most HTTP libraries build the Authorization header for you when you pass the key and secret as Basic Auth username/password.
| Field | Type | Required | Notes |
|---|---|---|---|
| customer.phone | string | Yes | Customer is matched or created by phone number. |
| customer.name | string | Recommended | Used when creating a new customer. |
| customer.address | string | No | Delivery address. |
| line_items[].name | string | Yes | Matched case-insensitively to an existing product. |
| line_items[].quantity | integer | Yes | Must be greater than 0. |
| line_items[].selling_price | number | Yes | Must be greater than 0. |
| line_items[].cost_price | number | No | Defaults to the matched product's cost, or 0. |
| external_order_id | string | Recommended | Your store's order ID. Enables idempotency (see below). |
| external_source | string | No | e.g. woocommerce. Defaults to external. |
| delivery_charge | number | No | Added to the order total. |
| cod_charge | number | No | Added to the order total. |
| total_selling_price | number | No | Auto-calculated from line items + charges if omitted. |
Re-sending the same external_order_id from the same source returns the existing order instead of creating a duplicate — safe for retries.
Good to know: products are matched by name (case-insensitive) to your existing catalog — unknown products are still saved on the order by name but without a product link, and no products are auto-created. Customers are matched/created by phone number. Every new order arrives with status pending.
If your store runs on WordPress with WooCommerce, you don't need to write any code. The official FBCommerce Sync plugin pushes every new WooCommerce order into GoTrack.bd for you.
Install the plugin
Install and activate the FBCommerce Sync plugin on your WordPress site (Plugins → Add New, then upload/activate).
Copy your credentials from GoTrack.bd
In GoTrack.bd, open Settings → API and copy the Endpoint URL, API Key, and API Secret (use the Copy buttons; click Show to reveal the secret).
Open the plugin settings
In WordPress admin, go to WooCommerce → FBCommerce Sync.
Paste the credentials
Paste the Endpoint URL, API Key, and API Secret into the matching fields in the plugin.
Save & Test Connection
Click Save & Test Connection. On success, every new WooCommerce order will sync into GoTrack.bd automatically — no manual entry.
Tips & troubleshooting
Errors return { "ok": false, "error": { "code", "message" } } with the matching HTTP status.
| Status | Code | Meaning |
|---|---|---|
| 201 Created | — | Order created successfully. |
| 200 OK | idempotent | This external order already existed; the existing order is returned. |
| 400 Bad Request | bad_request | A required field is missing (e.g. customer phone or line items). |
| 401 Unauthorized | unauthorized | Invalid API key/secret. |
| 422 Unprocessable | validation_failed | The order data failed validation. |
Grab your API credentials from the dashboard and start syncing orders in minutes. Need a hand? Our team is happy to help.