Arguments

input
RequestShopifyProductByURLInput!
required

An object containing the product’s URL.

Returns

canonicalDomain
String!

The canonical domain of the store that sells the requested product.

productId
ID!

The productId is the unique identifier for the requested product, which can be used in subsequent queries to fetch product information, e.g. with productByID.

variantId
ID!

The variantId is the unique identifier for the requested product’s variant. Unless specified in the product’s URL, Rye returns the first variant of the product by default.

Example


Errors

Invalid URL

If the provided URL is not a valid Shopify product URL then the following error is returned

JSON
{
  "errors": [
    {
      "message": "The provided `url` input (\"www.google.com\") is not a valid Shopify product URL.",
      "path": [
        "requestProductByURL"
      ]
    }
  ],
  "data": null
}

Product data not found

If the product data can’t be found, a PRODUCT_NOT_FOUND_ERROR is returned. This can happen for a variety of reasons:

  1. The URL doesn’t point to a valid product page (for example, the provided URL returns a 404 status code)
  2. The URL points to a valid product page, but the Shopify store has custom configuration that makes it so the product metadata can’t be found in the expected way

If the store can’t be supported, then the store’s products can only be made available in Rye by integrating the store with Rye via the Rye Shopify app.

JSON
{
  "errors": [
    {
      "message": "Product data not found - if the URL is valid, then the store may not be supported. See docs for more details",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "requestShopifyProductByURL"
      ],
      "extensions": {
        "code": "PRODUCT_NOT_FOUND_ERROR"
      }
    }
  ],
  "data": null
}

Webhooks

Calling this mutation will subscribe your developer account to product webhooks for the requested product.