Skip to main content

455 posts tagged with "API"

View All Tags

: Staging

: Production

✨ New

Integrations

Firebase Authentication plugin

Added support to connect to Firebase authentication, a tool that supports various sign-in methods, including social logins and email/password combinations. This plugin leverages Firebase's secure user token to authenticate users within Nautical, proving a seamless sign-on experience.

Learn more ->

Integrations

Available shipping methods API field

Added the availableShippingStrategy field to the MarketplaceConfiguration model. This field determines how available shipping methods are calculated for price-based shipping rates.

  • When SELLER_LINES (default), the calculation of available shipping methods for each seller is based solely on that seller's order total.
  • When MARKETPLACE_LINES, the calculation includes the entire marketplace order total for determining available shipping methods for each seller.

🪲 Fixed

Emails

Fixed an issue where the vendor_payout_confirmation email was not being sent after processing payouts.

Vendor mgmt

Fixed an issue where you could not filter sellers with the PAUSED status.

Orders

Fixed an issue where a customer user could use another customer's order token to access details of that order via the API.

: Staging

: Production

✨ New

Payments

Enhanced payment ledger tracking

Payments can now be connected to journal entries, providing better tracking of payment transactions in the accounting system. When payments are captured, they are automatically recorded in the ledger, improving financial accuracy and reporting.

✨ New

Customer mgmt

Guest customer receivable ledger

Added support for tracking receivables for guest customers, ensuring accurate financial records even when customers check out without creating an account.

✨ New

Orders

Automated ledger recording for orders

Order finalization now automatically records transactions to the ledger, including:

  • Revenue recognition based on marketplace configuration
  • Commission calculations per seller order
  • Agreement fees tracking
  • Discount accruals
  • Manual fee recording

Marketplace operators can now configure when orders accrue revenue (on placement or finalization), giving more control over financial reporting.

✨ New

API

Refresh tokens for customer authentication

The createCustomerToken mutation now returns refresh tokens along with JWT tokens, improving the authentication flow and session management for customers.

API

Enhanced user type differentiation

Firebase registration now properly differentiates between buyers, sellers, and staff users, providing better user management and authentication handling.

✨ New

Shipping

Explicit shipping strategy configuration

Marketplace operators can now explicitly configure the shipping calculation strategy (net vs. gross pricing) in marketplace settings, providing more control over how shipping costs are calculated and displayed.

💎 Changed

Performance

Performance improvements

Made several performance improvements across the platform:

  • Commission calculations are now optimized for partial quantities
  • Ledger insertions are now batched, reducing database overhead
  • Journal entry creation during order placement is more efficient

🪲 Fixed

Payouts

Fixed issues with payout confirmation emails that could fail to send in certain scenarios.

Seller mgmt

Fixed an issue where filtering for paused sellers was not working correctly.

API

Fixed an issue where API requests on non-API routes could fail if the app context was not properly initialized.

Orders

Fixed permissions so that orders are now only accessible to users with manager-orders permissions, improving security and data access control.

Shipping

Fixed calculation issues with available shipping methods to use gross totals instead of net totals, ensuring accurate shipping cost calculations.

Discounts

Fixed an issue where sale discounts were not being included in ledger transactions.

: Staging

: Production

🚫 Deprecated

Payouts

Deprecated the payout.penalties field in favor of negative adjustments. This field is scheduled for removal after July 1, 2024.

: Staging

: Production

✨ New

Integrations

Firebase plugin OAuth support

Added OAuth authentication support for the Firebase plugin, enabling more secure integration options.

Payouts

Ledger system foundation

Introduced a new ledger system for tracking financial transactions across the marketplace. This includes:

  • Automatic ledger creation for all sellers and buyers
  • Feature flags to control ledger functionality rollout
  • Enhanced payout tracking capabilities

This foundational work will enable more detailed financial reporting and transaction tracking in future releases.

💎 Changed

Products

Document upload size increase

Increased the maximum allowed document upload size from 5 MB to 15 MB, making it easier to upload larger product documentation and images.

Products

Default variant management improvements

Product creation and updates now handle default variants more flexibly in certain edge cases, improving the product management experience.

🪲 Fixed

Payouts

Fixed an issue where vendor payout fees were using an incorrect field name, which could cause payout calculations to fail.

Payments

Resolved an issue affecting affiliate order handling when gross amounts and taxes were removed from calculations.

API

Fixed migration dependency issues that could prevent fresh installations from completing successfully.

: Staging

: Production

✨ New

Refunds

Generate refund receipts

Added the ability to generate refund receipts with the invoiceRequest mutation. You must provide the refundId as an argument, for example:

mutation {
invoiceRequest(refundId: "UmVmdW5kOjUzOA==") {
invoice {
id
url
}
}
}
Integrations

PayPal payout plugin

Added the nautical.payments.paypal plugin for using PayPal as the payout gateway.

Integrations

Trolley payout plugin

Added the nautical.payments.trolley plugin for using Trolley as the payout gateway.

💎 Changed

Webhooks

Webhook queue manager logging improvements

Improved the logging of webhook events for queue management plugins, such as Google PubSub. Whereas previously logs were only created for failed transmissions, we now also capture and log successful webhook events.

Webhooks

Seller order number in webhooks

Order webhooks now include the number field, which is populated with the seller order number.

🪲 Fixed

Discounts

Fixed an issue where voucher discounts requiring a minimum order value were applied based on the gross total, including tax, rather than the net order total.

: Staging

: Production

✨ New

Payouts

PayPal payout support

Added the ability to process seller payouts through PayPal, including customizable payout email configuration and seller-level PayPal plugin enablement.

Payouts

Trolley payout integration

Introduced support for processing payouts via Trolley (formerly TransferWise), enabling automated recipient creation and batch payout processing.

✨ New

Orders

Refund receipts

Added automatic generation of refund receipt PDFs when refunds are paid, with customizable templates and support for both manual and automatic receipt creation through the invoiceRequest mutation.

✨ New

Products

Simplified product type management

Product types no longer require the hasVariants field or simple/configurable distinction. Products can now be created with more flexibility in how variants are managed, controlled via marketplace configuration settings.

✨ New

Integrations

Payment gateway filtering

Added the ability to filter available plugins to specific payment gateways, providing more control over which payment methods are available in different contexts.

💎 Changed

Payouts

Payout gateway tracking

The VendorPayout model now stores which payment gateway was used for each payout, improving traceability and reporting.

🪲 Fixed

Tax

Fixed an issue where shipping costs were not properly calculating taxes in certain scenarios.

Orders

Fixed an issue where users could refund more than the total shipping cost across multiple refunds for the same order.

Orders

Fixed an issue that prevented order line refunds after manual refunds were cancelled, by properly filtering out cancelled refunds during validation.

🪲 Fixed

Discounts

Fixed voucher minimum amount validation to use net total instead of gross total, ensuring discounts are applied correctly.

🪲 Fixed

Shopify

Fixed an issue in the Shopify integration where the order_updated webhook was not specifying the correct order ID.

🪲 Fixed

Webhooks

Added the missing number field to order webhook payloads, ensuring complete order data is sent to webhook subscribers.

Orders

Fixed an issue where draft order CSV exports could fail in certain scenarios.

Integrations

Fixed an issue where inactive plugins could still affect order calculations and processing. Plugins now only execute when actively enabled.

: Staging

: Production

✨ New

Refunds

Order line refunds API

Refund lines can now be scoped to an OrderLine, allowing you to target refunds to specific individual order lines. To achieve this, use the refundLinesAdd mutation and set the refundScope to the id of the desired order line. Additionally, specify the quantity of the order line that should be included in the refund.

Learn more ->

Orders

Draft order lines CSV upload API fields

Added the following mutations for uploading a CSV file to create draft order lines:

  • nauticalOrderLinesCsvUpload
  • orderLinesCsvUpload

The CSV file must have at least three columns: id_type, id, and quantity. See the following sample format:

Example CSV
id_type, id, quantity
NSN, 5669abb7-8c4f-477f-8662-4540af3bcdac, 5
ID, UHJvZHVjdFZhcmlhbnQ6MjEx, 5
SKU, 998323573, 5
ID, UHJvZHVjdFZhcmlhbnQ6MjEz, 5
Taxes

Test taxes plugin

Added a "Nautical Test Taxes" plugin, which can be used for development and testing with taxes.

Within the plugin settings, you can input a single tax percentage, which should fall within the range of 0 to 100%. This plugin respects tax settings such as "Charge taxes on shipping rates" and "All products prices are entered with tax included."

caution

This plugin is intended solely for development and testing and is not for use in production environments.

💎 Changed

Refunds

Tax changes on manual fixed-amount refunds

When processing a manual refund for a fixed amount, taxes are no longer added separately. The fixed amount entered is the after-tax amount.

Fixed amount refunds do not automatically adjust records in the tax engine, such as Avalara. If you need to modify the amount of tax to remit, you must manually create a tax adjustment within Avalara.

: Staging

: Production

✨ New

Orders

CSV upload for order lines

Added the ability to upload order lines via CSV, making it easier to bulk import order data into the platform.

API

Dashboard embedding tokens

Introduced a new DashboardEmbeddingToken mutation that enables secure embedding of analytics dashboards, with support for seller-specific data filtering.

Integrations

PayPal payout gateway

Added initial support for PayPal as a payout gateway, providing more options for marketplace operators to distribute seller payouts.

💎 Changed

Tax

Simplified fixed amount refunds

Fixed amount refunds no longer include tax calculations, streamlining the refund process for operators.

Integrations

WorkOS authentication improvements

Enhanced WorkOS integration with strongly typed plugin configuration and support for specifying authentication providers in authorization URLs.

🪲 Fixed

Orders

Fixed an issue where the default refund type was not properly set to order line refunds.

Orders

Fixed a bug preventing storefront order shipping cost refunds from processing correctly.

Orders

Fixed an issue where order line refunds were incorrectly allowed after manual refunds had been processed.

Orders

Fixed a bug where shipping prices were not properly set to zero when orders were cancelled after being declined.

Orders

Fixed validation issues in refund calculations to ensure accurate refund amounts based on order line quantities and amounts.

Orders

Fixed an issue where previously refunded order line quantities were not correctly accounted for in subsequent refund requests.

Tax

Fixed an issue with Avalara tax integration where zero-tax return invoices were not being posted correctly due to missing entity use codes.

Payments

Resolved several issues with Stripe card payment processing affecting initial card transactions.

: Staging

: Production

💎 Changed

Webhooks

Updated webhook payloads

Updated webhook payloads for the following events to be more structured and robust. The structure and contents of the following webhook payloads have been changed:

  • order_created
  • order_updated
  • order_cancelled
  • order_fully_paid
  • order_fulfilled
  • payment_created

As a result of these changes, existing logic that utilizes the above webhooks should be updated to align with this new webhook format.

Learn more ->

Performance

Performance improvements

Made several API performance improvements around handling orders and refunds, including:

  • Updating shipping on an order
  • Deleting a draft order and deleting draft order lines
  • Processing a refund, including managing refund lines, updating refunds, deleting refunds, and processing refund payments

🪲 Fixed

Checkout

Fixed an issue where the userOverride argument on the checkoutComplete mutation did not override the user assigned to the checkout. Marketplace operators can now override the user during checkout completion using this argument.

Checkout

Fixed an issue where buyers were unable to add digital products to the checkout, particularly when it was the first item being added to the checkout.

Webhooks

Fixed an issue where the order_number, created, and total_gross_amounts fields were missing from the recently updated NauticalOrder webhooks.

Orders

Fixed an issue that could prevent marketplace operators from finalizing draft orders in multi-currency environments, with a 'NoneType' object has no attribute 'unit_price_net' error message.

: Staging

: Production

✨ New

Orders

Admin checkout user override

Administrators can now override the user associated with a checkout, providing more flexibility in managing orders on behalf of customers.

Orders

Refund type classification

Added a type field to refunds, allowing you to better track and categorize different types of refunds in your marketplace.

Orders

Order filtering on "me" query

Added an ids filter to the me query, enabling users to retrieve specific orders more efficiently.

✨ New

Integrations

WorkOS single sign-on support

Added support for WorkOS, enabling enterprise single sign-on (SSO) for your marketplace users.

💎 Changed

Performance

Performance improvements

Made several performance improvements across the platform:

  • Completing draft orders is now significantly faster.
  • Refreshing order taxes is more efficient.
  • Checkout completion is faster, particularly for large orders.
  • Cancelling marketplace orders is more performant.
  • Order payment operations are optimized.
  • Updating shipping details on orders is faster.
  • Draft order deletion operations are more efficient.

🪲 Fixed

Orders

Fixed an issue where declining fulfillment on an order line could cause errors in certain edge cases.

Products

Improved product category handling to prevent performance issues when querying large product catalogs.

Orders

Fixed multiple issues with refund calculations to ensure accurate quantities are used when processing refunds:

  • Refunds now correctly use shippable quantities in all calculations.
  • Refund totals are calculated based on the correct order line quantities.
Orders

Fixed permission checks for order fields to ensure proper data access control.

Orders

Fixed an issue where voucher discounts were not properly applied when finalizing draft orders.

Orders

Fixed an issue that prevented finalizing draft orders with multiple currencies in certain scenarios.

🪲 Fixed

Tax

Fixed issues with Avalara tax calculations:

  • Fully declined order lines are now handled correctly.
  • Tax calculations are skipped for refunds with zero amounts.
  • Added validation to ensure sufficient address data exists before calculating taxes.
  • Improved address fallback handling for checkout tax calculations.

🪲 Fixed

Shipping

Fixed issues with shipping method assignments to better support various shipping provider integrations.

Was this page helpful?