Changelog
What’s new at Rye?
Want to get alerted when we make changes in real-time? Subscribe to our RSS feed by following our guide.
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
andretryable
fields toOrderFailedOrderEvent
, to clearly categorize order placement errors and communicate when order placement errors can be safely retried.- Check out our guide on handling errors for specific guidance.
- 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 ofSUBMIT_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 theCart
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
onOrder
. Please use the newcart
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 theIntegratedShopifyStore
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
- Documented the scenario where the list of available shipping option can be empty for some Shopify stores.
- Added the missing root errors from our GraphQL endpoint.
- Updated the expected behavior for orderByID endpoint for carts that are not yet submitted.
- Clarified the behavior when multiple selected shipping options are provided for a cart.
- Updated the docs for Affiliate (experimental) to include more details of the lifecycle of an affiliate order.
- Rye’s docs now link to Rye’s status page.
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 fromString
toID!
- 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.
ExperimentalAffiliateCommissionUpdated
- Fired after the commission is confirmed, this event communicates changes to the commission value (e.g. because an item in the order was returned by the shopper).ExperimentalAffiliateCommissionFinalized
- The final state for a successful affiliate commission. The commission value on this event is locked in, and will be paid out to you according to our affiliate payout timeline.
- 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
- We’ve rewrote our guide on Sync API localization to use the
@inContext
GraphQL directive. - We did a pass over our docs and fixed many typos!
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 toCart
- Expose
expectedDeliveryDate
inorderByID
- 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 toShopifyCartLine
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
- Launched
experimentalAffiliateMerchantsConnection
query to fetch affiliate merchants data. - Launched
experimentalAffiliateCommission
query to fetch commission data for orders.
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 pollcheckoutByCartID
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-specificrequestAmazonProductByURL
andrequestShopifyProductByURL
mutations. requestStoreByURL
now returns descriptive error codes when things go wrong, which makes debugging easier.- The
requestId
field on theAmazonStore
andShopifyStore
objects has been deprecated in favor oforderId
for improved clarity. ShopifyVariant.weight
field is now typed asFloat
instead of anInt
, 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
, andRETURN_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 fromInt!
toFloat!
inShopifyVariant
. - Fixed bug in
requestStoreByURL
where URLs not starting with http(s), such asexample.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
andorderByID
queries. See Order type for more details. - Expose delivery range for amazon orders in
createCart
query - Added
priceCents
field toShopifyVariant
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
Was this page helpful?