Changelog
What’s new at Rye?
Fixes
- Addressed a critical Amazon bug causing price discrepancies between cart offer and cartlines prices, ensuring consistency across shopping experiences.
- Exposed inventory counts for integrated Shopify product variants, providing better inventory management.
- Fixed staging environment issues, stabilizing the testing environment for reliable development.
- Enhanced GraphQL error extensions formatting for clearer and more explicit error handling.
- Improved error handling in
requestProductByURL
mutation for more robust and error-resilient product requests. - Addressed an issue where the absence of offerIDs would default to Amazon’s algorithm for selecting an offerID, ensuring consistent offer selection.
Enhancements
- Added an Error code for attempts to cancel a failed or cancelled order, enhancing order management and error reporting.
- Improved the buyer identity validation process in
updateBuyerIdentity
calls for more accurate identity management. - Implemented functionality to fetch the best Amazon offer when a featured offer is not available, optimizing the offer selection process.
- Replaced refund amount with
refundedLineItems
in Return types, offering more detailed refund information. - Added currency code to return line items, enhancing currency management and consistency.
- Included currency code in Return type for improved currency handling in return processes.
- Implemented
CartExpiredException
for carts older than 10 days, ensuring timely cart management. - Removed hardcoded shipping options for Amazon business orders, allowing for more flexible shipping management.
- Enable 3D-S on Amazon and all Shopify stores.
Enhancements
- Introducing our official Amazon Business integration
- Added support for bringing your own Amazon account to Rye
Fixes
- Update list of countries that are supported by Shopify
Fixes
- Fixed an error, where sometimes users could get an internal error, when fetching product reviews.
- Fixed an error, where the
productsByID
s field returned an error, if requested products do not exist. - Fixed checkout, when the total is 0.
- Fixed product availability detection for Amazon store
- Fixed issues with stores that require currency conversion
- Improved phone validation: the phone numbers are now verified with
numlookupapi
API Changes
- Added new
OrderFailedReasonCode
value forOrderFailedWebhook
:SHIPPING_ADDRESS_BLACKLISTED
. Sometimes we can not fulfill an order, because the retailer added the address to blacklist. In this case you will receive a webhook with - Added new
OrderFailedReasonCode
value forOrderFailedWebhook
:SHIPPING_ADDRESS_UNAVAILABLE
. Sometimes we can not fulfill an order, because the item can not be shipped to the selected address. For example, you can not ship hazardous materials to PO boxes, or addresses in Hawaii. - Added new cancelOrder endpoint. Supports canceling amazon orders. Shopify support will come at a later date.
- Added
Cancelled
,PARTIALLY_CANCELLED
, andCANCELLATION_IN_PROGRESS
statuses toOrderStatus
enum. - Added
Cancelled
,MIXED
, andCANCELLATION_IN_PROGRESS
statuses toCheckoutStatus
enum. PARTIALLY_SUCCEEDED
status inCheckoutStatus
enum will be deprecated in the next release. Begin using the newMIXED
status and update uses ofPARTIALLY_SUCCEEDED
status to useMIXED
before then.- Added
CART_IS_EMPTY
value toSubmitCartResultErrorCode
enum - An attempt to submit a cart with no stores or with stores with no items now leads to
CART_IS_EMPTY
error CartSubmitInput.token
field is now optional. It can be omitted for Amazon and Shopify non-integrated stores if you use a monthly invoice payment flow.- Added a new
CartSubmitInput.experimentalPromoCodes
field that allows setting promo codes per store. See details in the field description
API Changes
- Added ability to checkout with 3D-S challenge for integrated shopify stores. In order to get 3D-S link, you need to ask for
requiredActons
field when queryingcheckoutByCartId
. More information could be found oncheckoutByCartID
- Added phone validation for a billing address. The validation is triggered upon cart submission.
Fixes
- Fixed a bug, where currencies subtotal, taxes, and shipping in offers could be in different currencies.
- Fixed tax calculations
- Fixed
Int cannot represent non-integer value thrown
when requestingAmazonPrice
orAmazonVideo
30th June, 2023
API Changes
AmazonOffer.selectedShippingMethod/ShopifyOffer.selectedShippingMethod
are reset to null if the store in the cart has been changed (e.g. a new product has been added, the product has been removed/updated, etc.).
Fixes
- Fixed “Invalid currency code : NONE” error that appeared under certain circumstances when querying products using
productByID
,productsByVendorV2
orproductsByDomainV2
queries.
23rd June, 2023
API Changes
- A new
INVALID_BUYER_IDENTITY_INFORMATION
value added toOfferErrorCode
- Improved address validation logic when requesting offer details. Now, if provided postal code does not match the provided province code a corresponding
AmazonOfferError
/ShopifyOfferError
is returned withINVALID_BUYER_IDENTITY_INFORMATION
OfferErrorCode
.
2nd June, 2023
Deprecation
- Query
productsByVendor
has been deprecated. UseproductsByVendorV2
instead. - Query
productsByDomain
has been deprecated. UseproductsByDomainV2
instead. - Query
shopifyOffer
has been deprecated.ShopifyOffer
can be retrieved by requesting offer field fromCartResponse
object returned by Cart-API queries and mutations. - Query
amazonOffer
has been deprecated.AmazonOffer
can be retrieved by requesting offer field fromCartResponse
object returned by Cart-API queries and mutations
26th May, 2023
API Changes
- Added a root query field
shopifyApp
:ShopifyApp!
which fetches details about the Rye’s Shopify App. Currently, it includes the single fieldinstallationLink(storeCanonicalDomain: String!)
:ShopifyAppInstallationLink!
that crafts a Rye App installation link for the provided Shopify store. - Added a root query field
environmentToken
. This query is used by the RyePay package and should not be used by developers directly. - Added id field to
AmazonVariant
that represents ASIN of the variant. - postalCode of
BuyerIdentityInput
has become optional. - Added a new
generateJWT: () => Promise<string>
toRyePay::init
method. It allows providing a function that generates JWT for authorization and can be passed instead of apiKey
Fixes
- Fixed cannot read properties undefined (reading ‘currency’) exception occurred when querying Cart:cost field for an already submitted cart.
11th May, 2023
API Changes
orderByID
endpoint, which is actual substitution of deprecated “order” endpoint. Returns anOrder
object by id.checkoutByCartID
retrieves a checkout based on a specific cart ID. This feature facilitates checkout management and provides a convenient way to retrieve order details.- Added new name field on
ShopifyVariant
type. - Changed the way the image field on
ShopifyVariant
type is resolved. Now, if there is no specific image for the variant, the field is resolved to the product image.
Fixes
order
(deprecated now) endpoint, which allows users to retrieve a specific order bypaymentIntentID
.
4th May, 2023
API Changes
- Added
isEmailMarketingAllowed
fields toupdateCartBuyerIdentity
andcreateCart
mutations inputs - this boolean flag defines if the buyer explicitly gave their consent to get marketing messages and offers by email. This email subscription will be fulfilled for each Shopify store in the cart right after successful checkout.
27th April, 2023
API Changes
- Added
updateCartSelectedShippingOptions
mutation. It allows setting selected shipping option ID per store, and it can be retrieved by queryingoffer.selectedShippingMethod
. - Additionally,
CartSubmitInput.selectedShippingOptions
is now optional. If not provided, the shipping options set viaupdateCartSelectedShippingOptions
will be used.
Deprecations
- The status field in
SubmitStoreResult
was deprecated
20th April, 2023
API Changes
-
Introduced new error codes:
CartErrorCode.CART_MODIFICATION_FORBIDDEN
StoreErrorCode.STORE_MODIFICATION_FORBIDDEN
SubmitStoreResultErrorCode.ALREADY_SUBMITTED
SubmitCartResultErrorCode.ALREADY_SUBMITTED
-
Modification and submission of an already submitted cart is now forbidden.
-
Cart modification: A cart error with
CART_MODIFICATION_FORBIDDEN
code is returned when attempting to modify a cart with all stores submitted. A store error withSTORE_MODIFICATION_FORBIDDEN
code is returned when attempting to modify a cart with a particular store submitted. -
Cart submission: A cart error with
ALREADY_SUBMITTED
code is returned when attempting to submit a cart with all stores submitted. A store error withALREADY_SUBMITTED
code is returned when attempting to submit a cart with a particular store submitted. -
integratedShopifyStore
query was added, it allows getting paginated shopify store collections` -
shopifyCollection
query was added , it allows getting shopify store collection metadata, including title and description as well as products inside the collection. The products list can be paginated too. -
Added a city validation for buyer identity and billing address - it checks if the city exists for a provided country and returns
BUYER_IDENTITY_INVALID_CITY
error code if the city was not found.
13th April, 2023
API Changes
- For
AmazonStore
,SubmitStoreResult
, andShopifyStore
typesrequestId
string field is introducedisSubmitted
boolean flag is introduced
- The requestId filed is no longer an indicator of a successfully submitted cart store, it’s created as soon as the store is added to the cart and doesn’t change anymore, to figure out if the cart store order was submitted or not you can use the
isSubmitted
boolean flag
Fixes
- Previously when
submitCart
was called and the mutation result is lost, there was no way to figure our the requestId, now this problem is solved by pre-generated requestId
Was this page helpful?