Build tools that solve problems for millions of wholesale and retail businesses worldwide.
You can view code examples in the dark area to the right; switch the programming language of the examples with the tabs in the top right.
If anything is missing or seems incorrect, please check the GitHub issues for existing known issues or create a new issue.
Added new Payment Method endpoint.
Added new "FulfillmentReturn Received", and "Invoice Destroy" webhooks.
Added new component_id
array filter for Composition index endpoint.
Added new "PurchaseOrder Received" webhook.
In order to provide a simpler way to fetch packsize and bundle decomposition information, we've exposed a brand new API.
In order to provide a great experience to all our API users we've made some changes to our pagination. The default page size is now 50 items (down from 100), with a max page size up to 250.
The max page size for new integrations has been 250 for several years, but we have a few grandfathered integrations that supported a page size of up to 999. Over the next few weeks we will be contacting and migrating everyone to a 250 item max.
Added a Webhooks section to the documentation.
OrderLineItem and PurchaseOrderLineItem index endpoints now support an order_status
and purchase_order_status
filter respectively.
We now support sideloading of resources. We have also added support for webhooks and introduced resource actions for Order, Purchase Order, Stock Adjustment and Stock Transfer.
We have moved image management from the variant level to the product level. This allows the same product image to be shared between multiple variants of a product. All of the changes are backwards compatible.
The related changes to the APIs are:
Product#image_ids
.Image#product_id
.Image#variant_ids
.Image#variant_id
now returns the image's first variant.There are a few edge cases of the API that we will be removing as we hit 1.0. We will endeavour to only remove APIs that have been deprecated for at least 12 months in the v1.0 release.
Image#variant_id
has been replaced with Image#variant_ids
and Image#product_id
now that an image can belong to multiple variants.
Default pagination is 50 and the maximum will be set as 250 items. We will begin returning a 400 Bad Request on larger requests.
Previously we hadn't been enforcing our API pagination limits, very soon we will start to do so as to make sure all our customers receive a great experience.
Initial | Updated |
---|---|
tax_type | tax_treatment |
default_price_type_id | default_price_list_id |
cached_total | total |
Initial | Updated |
---|---|
tax_rate | tax_rate_override |
This has been renamed to denote it's actual nature -> you should technically use tax_type_id, but if for some reason you want to override it with a specific value, you can use this.
Initial | Updated |
---|---|
due_at | ship_at |
url | source_url |
tax_type | tax_treatment |
default_price_type_id | default_price_list_id |
Tax Type has been renamed to tax_treatment (inclusive vs exclusive) as tax_type now represents an object with multiple tax_components.
Initial | Updated |
---|---|
tax_rate | tax_rate_override |
Initial | Updated |
---|---|
phone | phone_number |
Initial | Updated |
---|---|
default_price_type_id | default_price_list_id |
default_tax_rate | default_tax_type_id (1) |
1 - Tax rate has been deprecated site wide in preference of tax_type_id, as this allows multiple tax lines.
Initial | Updated |
---|---|
default_tax_type | default_tax_treatment |
default_tax_type_id | default_sales_order_tax_type_id |
default_order_price_type_id | default_order_price_list_id |
default_purchase_order_price_type_id | default_purchase_order_price_list_id |
logo_url | N/A (1) |
1 - Accounts no longer have logos.
Initial | Updated |
---|---|
mobile_phone | mobile |
Initial | Updated |
---|---|
vendor | supplier_id |
supplier | supplier_id |
Vendor was deprecated for supplier, then supplier was deprecated in order to enable multiple suppliers per variant (not yet released). Previously, vendor and supplier were just names and stored as strings, now they reference a company within your TradeGecko system.
Initial | Updated |
---|---|
is_online | N/A (1) |
prices | variant_prices (2) |
stock_levels | locations (3) |
committed_stock_levels | locations (3) |
1 - With the addition of multiple sales channels, is_online became restrictive. A variant may be online on Shopify, but not Amazon.
Old format
prices: {
2: "200.0",
3: "150.0",
4: "100.0"
},
New format
variant_prices: [
{
price_list_id: "2",
value: "200.0"
},
{
price_list_id: "3",
value: "4.0"
},
{
price_list_id: "buy",
value: "100.0"
}
],
2 - Prices has not just been renamed, the syntax is updated to be more in line with other embedded objects in our API.
Old format
stock_levels: {
1: 5
},
committed_stock_levels: {
1: 2
}
New format
locations: [
{
location_id: 1,
stock_on_hand: "5",
committed: 2,
incoming: null,
bin_location: null,
reorder_point: null
}
],
3 - This is the same deal as prices, the locations hash has replaced stock_levels and committed_stock_levels hashes.