: Staging
: Production
🪲 Fixed
Fixed an issue where line totals were not recalculating correctly when updating line item quantities in checkout or orders.
Changelog
We regularly update our product and API while providing detailed notes on each release. We first release to staging, then to production about a week later. Learn more about our release process.
: Staging
: Production
Fixed an issue where line totals were not recalculating correctly when updating line item quantities in checkout or orders.
: Staging
: Production
Added the following webhook event types:
category_deletedcategory_updatedcollection_createdcollection_deletedcollection_updatedprice_book_createdprice_book_updatedproduct_deletedrefund_createdrefund_deletedrefund_updatedstock_deletedvariant_deletedwarehouse_createdwarehouse_deletedwarehouse_updatedAdded a new setting to the Shopify app, is_product_price_sync_enabled, that updates Nautical product prices when they are updated in Shopify. Note that this is a one-way sync, with Shopify serving as the source of truth for pricing.
Added the timezone field to the MarketplaceConfiguration model, which accepts the IANA timezone name.
This field is now honored in queries for the insights APIs. We will be honoring it in other timezone fields
in a future release.
We are now storing the total price for each line item as returned from the tax-engine, eliminating several tax-related rounding errors.
The marketplace order can now be accessed as part of payment queries through a new nautical_order field on the Payment type
We made several performance improvements around draft order APIs when the order contains a high number of line items.
The orders and nauticalOrders queries have a new filter to query by company name.
The orderDeclineFulfillment mutation now requires the quantity to be listed with the associated warehouse via a new stocks field. This allows the declined items to be deallocated back to the correct warehouse.
mutation {
orderDeclineFulfillment(
order: "T3JkZXI6MTMzMDk="
input: {
notifyCustomer: true
lines: {
orderLineId: "T3JkZXJMaW5lOjMwMzIy",
stocks: [
{
quantityDeclined: 1,
warehouse: "V2FyZWhvd...mUyYWYxZQ=="
}
]
}
}
) {
fulfillments {
id
status
totalLinesQuantity
lines {
id
quantity
}
}
}
Fixed an issue where refunds were not including taxes in the refundPayment total. A new total_gross field is introduced to process the refundPayment with taxes included.
Fixed an issue where seller staff members could view products owned by other sellers when working with categories.
Fixed an issue where the stock_allocated, stock_deallocated, and stock_updated webhooks were not being triggered by order events.
Fixed an issue where the payout_updated and vendor_payout_updated webhooks were not being triggered by certain payout events.
Fixed an issue where the seller_updated webhook was not being triggered when metadata updates.
Fixed an issue filtering categories when the seller is a member of a master marketplace.
Fixed an issue where the quantity field on order types should be required. Note: This field has been deprecated. We will eventually
prefer the quantityOrdered field.
Fixed an issue where line quantity updates were not always triggering updates in tax calculation plugins.
Fixed an issue where multi-currency environments would crash if a discount was applied.
Added the ability to add and remove vouchers on a draft or quote order. Vouchers can be managed on draft or quote orders through the following new mutations:
NauticalOrderUpdateApplyVoucherCodeNauticalOrderUpdateDeleteDiscountOrderUpdateApplyVoucherCodeOrderUpdateDeleteDiscountmutation {
NauticalOrderUpdateApplyVoucherCode(
id: "TmF1dGljYWxPcmRlcjo1"
voucherCode: "SEPT10OFF"
) {
nauticalOrder {
id
discount {
amount
}
voucher {
id
name
code
}
}
orderErrors {
field
message
code
}
}
}
Added the display of VAT Business Identification No to invoices generated from a marketplace order. The value is pulled from the taxId field on the seller account reserved for the marketplace (seller #1).
Date search filters now respect the marketplace timezone.
Fixed an issue with seller order filtering when searching by both first and last name in the search filter.
Fixed an issue where shipping taxes for seller orders were not being saved when manually creating a payment against a draft order.
Fixed an issue where the updateSeller mutation would fail if the seller did not have an attached agreement.
: Staging
: Production
Added webhooks for many platform events, giving integrations more visibility into marketplace activities:
Webhooks now support plural permissions, making it easier to configure which apps can receive specific events.
Added the ability to enable backorders at both the marketplace and product variant level:
Added timezone support to marketplace configuration, allowing you to:
Order line totals are now stored directly on order line models, improving query performance and data consistency.
Made several performance improvements across the platform:
Marketplace product prices now automatically sync with Shopify product prices, keeping pricing consistent across platforms.
Fixed an issue where refund totals were calculated incorrectly when processing payment refunds.
Fixed an issue where sellers could see products from other sellers within category views.
Fixed product visibility handling for master marketplace categories.
Fixed an issue where stock webhooks were not firing correctly when orders were placed and fulfilled.
Fixed an issue where the Avalara tax plugin was returning incorrect values in certain scenarios.
Fixed an issue where items were not properly deallocated when fulfillments were declined.
Fixed an issue where searching orders by company name was not working correctly.
Fixed an issue where checkout discounts were not being recalculated correctly in certain contexts.
: Staging
: Production
Added webhook events for warehouse operations, enabling integrations to receive real-time notifications about warehouse changes.
Added price_book_created and price_book_updated webhook events to notify integrations when price books are created or modified.
Added webhook events for category operations, including category_deleted and category_updated, allowing integrations to track category lifecycle changes.
Added product_deleted and variant_deleted webhook events to notify integrations when products or variants are removed from the marketplace.
Added webhook events for collection operations, including collection_created and collection_deleted, enabling integrations to track collection changes.
Added the ability to configure a timezone for the marketplace, improving accuracy of date and time displays across the platform.
Marketplace product prices now automatically sync with Shopify product prices, ensuring price consistency across both platforms.
Fixed an issue where refund totals could be calculated incorrectly, now properly using the gross amount from refund lines.
Fixed an issue where sellers could see products from other sellers within a category. Sellers now only see their own products when viewing category listings.
Fixed an issue where stock-related webhooks were not firing properly when orders were placed and fulfilled.
Fixed issues with the payout_updated and vendor_payout_updated mutations to ensure they work correctly.
: Staging
: Production
This release contains internal improvements and maintenance updates.
: Staging
: Production
Added webhook events for agreement lifecycle management:
agreement_created — triggered when a new agreement is createdagreement_updated — triggered when an agreement is modifiedagreement_deleted — triggered when an agreement is removedThese webhooks allow integration partners to stay synchronized with agreement changes in real-time.
Added the category_created webhook event, enabling integrations to respond when new product categories are added to the marketplace.
Removed previously deprecated metadata-related mutations. Applications should use the current metadata API methods going forward.
Fixed an issue where refund calculations were incorrect for orders that did not have taxes applied.
: Staging
: Production
Reduced database calls to improve speeds of various queries, including product and currency queries.
: Staging
: Production
Added the following webhook events:
agreement_createdagreement_updatedagreement_deletedcategory_createdFixed an issue with inaccurate tax calculations for refunds when the initial order was not subject to tax.
: Staging
: Production
Fixed an issue with where checkoutLinesUpdate could encounter an error applying discounts in multi-currency environments.
: Staging
: Production
Added the orderDeclineFulfillment mutation and object to remove order lines that cannot be fulfilled. A new field, quantityDeclined, has been added to the OrderLine object to track declined quantities.
When this mutation is called, the order total and taxes are recalculated, omitting the unfulfillable line items. However, shipping costs remain unchanged. This mutation must be used before payment has been captured.
The existing ORDER_FULFILLED webhook is triggered by the orderDeclineFulfillment mutation. You may need to update your webhook consumption to check the fulfillment status.
The DECLINED status is added to the FulfillmentStatus enum. Both order.fulfillments and nauticalOrder.fulfillments will now include declined fulfillments. Please note that the quantity value for these declined fulfillments is a positive integer. You may need to adjust your calculations involving fulfillment quantities accordingly.
mutation {
orderDeclineFulfillment(
order: "T3JkZXI6MTMzMDk="
input: {
notifyCustomer: true
lines: {
orderLineId: "T3JkZXJMaW5lOjMwMzIy",
quantityDeclined: 1
}
}
) {
order {
id
status
}
fulfillments {
id
status
totalLinesQuantity
lines {
id
quantity
}
}
orderErrors {
field
code
message
orderLine
}
}
}
Introduced significant optimizations to checkout API calls, with the following changes:
checkoutComplete execution time.The following webhooks are now asynchronous: SELLER_AGREEMENT_ACKNOWLEDGED, PAYOUT_UPDATED, VENDOR_PAYOUT_UPDATED, PRODUCT_CREATED, and PRODUCT_UPDATED.
quantityThe quantity field has been deprecated on the following types, and replaced with a more explicit name quantityOrdered:
OrderLineSecondaryOrderLineNauticalOrderLineNauticalSecondaryOrderLinequantityFulfilledThe quantityFulfilled field has been deprecated on the following types:
NauticalOrderNauticalOrderLineInstead, retrieve quantityFulfilled from the underlying seller orderLine. To make this easier, nauticalOrder.lines now returns sellerOrderline with the underlying seller order lines.
Fixed an issue where stock could be deallocated from a warehouse different from the one it was originally allocated to.
Fixed an issue that prevented editing prices for product variants.
: Staging
: Production
This release contains internal improvements and maintenance updates.
: Staging
: Production
Fixed an issue where taxes were not properly calculated on offers when shipping was added before the offer was accepted.
Fixed an issue that could allow multiple marketplace orders to be created for a single seller order, ensuring proper order tracking and preventing data inconsistencies.