Want to get alerted when we make changes in real-time? Subscribe to our RSS feed by following our guide.

December 2024

Happy holidays from the Rye team! We’ve been prioritizing stability and reliability over the holiday season to make sure everyone gets their presents. We have a lot of exciting features coming down the pipe for 2025, and we can’t wait to share them with you next year.

Affiliate (experimental)

Bug fixes

  • Our API was incorrectly masking some Amazon cart errors as PRODUCT_NOT_FOUND. We now send back the correct error code in these cases.
  • Fixed an issue where 0.01% of submitted carts were incorrectly returning an internal server error, despite the operation actually succeeding.
In addition to our usual releases this month, we’ve also been hard at work on API stability ahead of the holiday gifting season.

API Features

  • The submitCart mutation indicates whether cart submission errors can be safely retried.
  • Added reasonCode and retryable fields to OrderFailedOrderEvent, to clearly categorize order placement errors and communicate when order placement errors can be safely retried.
  • Webhooks with payloads containing unicode characters were being incorrectly decoded by some web frameworks. We now send a charset parameter as part of the webhook delivery headers to better support these frameworks.

Rye Console

  • Billing data exports now complete significantly faster.
  • Billing data exports now include additional columns breaking down commissions more granularly.

Bug fixes

  • Fixed a bug which prevented carts from being created when they contained a mixture of Sell Anything and Sync products from the same merchant.
  • Fixed a bug where some Amazon products which aren’t available for purchase were being incorrectly advertised as in stock by our API.
  • Fixed a bug where ShopifyOffer.notAvailableIds was not being populated correctly for Sync API-enabled merchants.
  • Fixed a bug where carts containing Amazon products would incorrectly fail with an INTERNAL_SERVER_ERROR code instead of SUBMIT_STORE_FAILED when the cart’s buyer identity was invalid.

API Features

  • Enhanced error messages for input validation errors
  • Added rate limits for GraphQL queries and mutations
  • New Billing page in the Rye Console for managing your billing information.

Third-party Logistics (3PL)

Due to order stability issues we have paused support for 3PL shipping options on Shopify stores given the following scenrios:
  • For sync api if products not published to the sales channel
  • Password protected storefront If you are placing orders to stores that match these scenrios, either reach out to the store to enable Shopify’s default shipping options or refrain from placing orders through Rye as these orders are likely to fail.

Fixes

  • Fixed error updating account information in Rye Console.
  • Enhancements around order reliability and scalability in preparation for the holiday season.
  • Fixed required actions not showing for 3ds cards
  • Fixed affiliate merchants catalog filtering
  • Fixed tracking update issues with Sell Anything orders
  • createCart no longer returns shipping methods when offers are not available.

API Features

  • GraphQL queries with a complexity above 1000 will now be rejected. The complexity of a given query can be found in the extensions response field. The limit is subject to change.
  • Added multiple fields to Order, for retrieving price breakdowns and customer data.
    • cart: A reference to the Cart that was used at checkout.
    • tax: The tax value applied to the order.
    • shipping: The tax value applied to the order.
    • subtotal: The value of all items on the order void of shipping and tax.
    • total: The total value of the order.
    • createdAt: The time the order was created.

Affiliate (experimental)

  • When a merchant leaves an affiliate network, they will now be removed from Rye’s affiliate catalog.
Affiliate commissions for Shopify Sell Anything are currently an experimental feature, but we are gearing up for general availability over the next couple of months.

Docs

  • Updated Webhooks documentation and code samples that pertain to responding to webhook challenges.
  • Added note about partially setting the buyer identity in BuyerIdentityInput.
  • Clarified guidance about credit card tokens. We do not recommend retokenizing a payment method for every order, as Spreedly imposes rate limits.

Fixes

  • We’ve made numerous changes to improve order reliability, particularly for our Sell Anything offering.
  • checkoutByCartID now returns required actions when using a 3D Secure (3DS) card.

Deprecations

  • Deprecated cartId on Order. Please use the new cart field instead.

API Features

  • requestShopifyProductByURL mutation now returns the selected variant ID from the product URL. If no variant is selected, the first variant ID is returned.
  • Easier bank charge identification: Statement descriptors for Rye charges now include parts of the merchant name and Rye order ID so it is easier to link bank charges back to Rye orders.
  • Added productsConnection field to the IntegratedShopifyStore GraphQL type. This makes it easier to paginate through Shopify products within a store.
  • For carts with no selected shipping option, we now ensure the smoothest checkout experience by automatically selecting the most affordable shipping option.
  • We now load 3PL shipping options from Shopify for integrated stores that are password protected.
  • We now provide both the query complexity and the allowed limit to give users clearer insights into the complexity of their GraphQL queries.
  • Introduced the ORDER_REQUIRES_ACTION webhook to notify when orders require additional steps, like a 3DS challenge.

Affiliate (experimental)

  • We have disambiguated the “unconfirmed” and “finalized” webhooks. For orders which are fully refunded or canceled will now immediately finish tracking. You’ll receive the “finalized” webhook.
Affiliate commissions for Shopify Sell Anything are currently an experimental feature, but we are gearing up for general availability over the next couple of months.

Docs

Fixes

  • Fixed the error when sending a completely malformed JSON request, the request was stuck for the 60 seconds and reached the timeout
  • Order.cartID field type changed from String to ID!
  • Fixed the error where the incorrect commission rate was returned in the Rye Console.

API Features

  • Added an ORDER_DELIVERY_DELAYED webhook for Amazon orders. This fires when your order will be delivered later than estimated. You can use this to better inform your shoppers.
  • Added a new error message for when you try to purchase a Shopify product tracked by our system that is no longer available from the merchant.
  • Added a new error message for when a Shopify store no longer exists.

Affiliate (experimental)

Affiliate commissions for Shopify Sell Anything are currently an experimental feature, but we are gearing up for general availability over the next couple of months.
  • We have added new webhooks for tracking the lifecycle of affiliate commission payouts.
  • Fixed an issue with order placement which prevented certain stores (such as Lounge) from tracking affiliate commissions correctly. You’ll now get paid correctly when placing orders on these stores.
  • Orders which are fully refunded or canceled will now immediately finish tracking. You’ll receive either an “unconfirmed” or “finalized” webhook, depending on whether you had previously received a “confirmed” webhook.

Documentation

Rye Console

  • There’s a new “Merchants” tab in the Console, which shows all of your connected Sync API merchants alongside the commission rates they are offering you.
  • The Console now verifies your webhook URL is working correctly before saving it. This helps you identify typos or broken endpoints faster. The getting started guide explains how you can respond to the endpoint verification challenge.

Bug fixes

  • requestShopifyProductByURL was failing to recognize the currency of certain Shopify stores. This has been fixed.
  • Fixed the ORDER_FAILED webhook occasionally getting fired prematurely for some Amazon.
  • Fixed 3PL shipping methods not loading correctly for some UK shipping addresses when provinceCode was not provided.

API Features

  • Implemented ORDER_DELIVERED webhook for Amazon orders
  • Added trace IDs to GraphQL error messages

Fixes

  • The cart settings specified during createCart are now correctly used when submitting the cart
  • Implemented multiple fixes to enhance the reliability and accuracy of the order tracking system
  • Fixed a bug where the currency of a Shopify product could be incorrect for up to 12 hours after being requested

API Features

  • Redirect shortened Amazon URLs to final product URLs
  • Add attributes field to Cart
  • Expose expectedDeliveryDate in orderByID
  • Add per cart line markup
  • Add attributes to shopify carts
  • Expose shopify cart checkout URL in ShopifyStore

Fixes

  • Fixed createCart failure where products are added from a Sync API store that was previously added via Sell Anything API
  • Fixed unavailable products being added to Shopify carts
  • Return more helpful error message when devs pass an API key for a different environment
  • Improved error message when dev uses product ID instead of variant ID for Shopify products
  • Fix tax being added to offers when Amazon is not charging tax for a purchase
  • Handle edge case where 3DS succeeds, but payment then goes on to fail

API Features

  • Launched productsByIds query which allows you to fetch product data given a list of product IDs as input.
  • Added product field to ShopifyCartLine Object.

Fixes

  • Fixed province validation for Shopify orders
  • Added more descriptive error messages when developers pass invalid product IDs
  • Added order failure reasons when orders are cancelled by Amazon merchants
  • Fixed shipping options when there are multiple products from the same store in the cart

Experimental

API Features

  • Apple Pay can now be used to pay for orders placed using the Sync API! Using Apple Pay can significantly improve checkout rates compared to a regular credit card form. Check out our new Apply Pay integration guide for instructions.
    • Apple Pay for Sell Anything API is on our roadmap.
    • Google Pay support for both APIs is on our roadmap.
  • Developers now receive PRODUCT_UPDATED webhooks whenever products they have requested tracking for have their data updated. This removes the need to poll our API for changes via cron.
    • This new event currently only works for Sell Anything API products, but we are working on having Sync API products use this new webhook as well to unify behavior.
  • Developers now receive a SHOPIFY_PRODUCT_DELETED webhook when products are removed or unpublished from Shopify stores they are integrated with via the Sync API.
  • Rye now sends an ORDER_FAILED webhook when 3DS authentication times out or fails. This removes the need to poll checkoutByCartID to identify this form of order failure.

Developer Console

  • You can now view your current API usage and limits from the Requests tab.
  • Fixed orders containing Amazon products incorrectly showing the current product price rather than the purchase price.

Changes

  • Rye API operations will now resolve Shopify store domains to the correct canonical store domain, which improves our data quality and makes tracking Shopify products and stores easier. You can find technical details on this behavior here.
  • The requestProductByURL mutation has been deprecated in favor of marketplace-specific requestAmazonProductByURL and requestShopifyProductByURL mutations.
  • requestStoreByURL now returns descriptive error codes when things go wrong, which makes debugging easier.
  • The requestId field on the AmazonStore and ShopifyStore objects has been deprecated in favor of orderId for improved clarity.
  • ShopifyVariant.weight field is now typed as Float instead of an Int, as it is possible for an item’s weight to be a decimal value.

Fixes

  • Shopping carts containing only digital products now have their cost calculated correctly
  • Running requestStoreByURL for a store you have previously requested while at the API usage limit will no longer error.
  • The SHOPIFY_APP_CONNECTED webhook will now fire when a merchant who has already installed the Rye app follows your installation link.

Features

  • Added returnOrder mutation. For more details, refer to the documentation.
  • Added returnByID query. Additional information in available in the API Reference.
  • Added new webhook types for RETURN_REQUESTED, RETURN_REQUEST_ACCEPTED, RETURN_APPROVED, RETURN_DENIED, and RETURN_CLOSED events. See documentation for more details.
  • Implemented webhook event signing to ensure authenticity and integrity. Refer to Webhook Updates documentation for details.
  • Published Postman collection for Rye API. Access it here.
  • Released Typescript SDK for Rye API. Find it on npm.
  • Enabled affiliate commission feature for selected customers.
  • Implemented a feature to generate Amazon tracking URL for orders shipped using Amazon Logistics.
  • Exposed JWT Issuer ID in the developer console UI.
  • Exposed the IntegratedShopifyStore.email field in the GraphQL schema.

Fixes

  • Changed weight field type from Int! to Float! in ShopifyVariant.
  • Fixed bug in requestStoreByURL where URLs not starting with http(s), such as example.myshopify.com, could not be requested.
  • The ShopifyVariant.priceCents field is now properly localized.

Features

  • Enable JWT token expiration is now self serve. See docs for more details.
  • Expose marketplace order id and shipment information in checkoutByCartID and orderByID queries. See Order type for more details.
  • Expose delivery range for amazon orders in createCart query
  • Added priceCents field to ShopifyVariant Object type.
  • Added a common input validation mechanism to our GQL API.
  • Created a new Staging environment for testing. See Staging for more details.

Fixes

  • Enhanced zip code validation, ensuring accurate province association.
  • Fix issue where shipping and tax details are not returned in createCart mutation for amazon orders where developers are using their own amazon business account
  • Return an error when placing an order with an amazon product that is not available in the buyers location