<div class="doc-version" data-version="unstable"> <p>Represents a product.</p> <div> <h2 id="on-this-page">On this page</h2> <ul> <li> <a href="#fields-unstable"> Fields </a> </li> <li> <a href="#types-that-return-product-unstable"> Types that return Product </a> </li> <li> <a href="#implements-unstable"> Implements </a> </li> </ul> </div> <h2 id="fields-unstable"> Fields </h2> <ul class="fields"> <li> <div class="field" id="gates-unstable"> <div class="field-name"> gates (<a href="/api/functions/reference/cart-transform/graphql/common-objects/gatesubject"><code>[GateSubject!]!</code></a>) </div> <div> <p>Returns active gate subjects bound to the resource.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>handle</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#handle-unstable"> <code>Handle</code> </a>) </td> <td class="argument-description"> <p>The handle of the gate configurations to search for.</p> </td> </tr> </table> </div> </li> <li> <div class="field" id="handle-unstable"> <div class="field-name"> handle (<a href="/api/functions/reference/cart-transform/graphql/scalar#handle-unstable"><code>Handle!</code></a>) </div> <div> <p>A unique human-friendly string of the product's title.</p> </div> </div> </li> <li> <div class="field" id="hasanytag-unstable"> <div class="field-name"> hasAnyTag (<a href="/api/functions/reference/cart-transform/graphql/scalar#boolean-unstable"><code>Boolean!</code></a>) </div> <div> <p>Whether the product has any of the given tags.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>tags</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-unstable"> <code>[String!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The tags to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="hastags-unstable"> <div class="field-name"> hasTags (<a href="/api/functions/reference/cart-transform/graphql/common-objects/hastagresponse"><code>[HasTagResponse!]!</code></a>) </div> <div> <p>Whether the product has the given tags.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>tags</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-unstable"> <code>[String!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The tags to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="id-unstable"> <div class="field-name"> id (<a href="/api/functions/reference/cart-transform/graphql/scalar#id-unstable"><code>ID!</code></a>) </div> <div> <p>A globally-unique identifier.</p> </div> </div> </li> <li> <div class="field" id="inanycollection-unstable"> <div class="field-name"> inAnyCollection (<a href="/api/functions/reference/cart-transform/graphql/scalar#boolean-unstable"><code>Boolean!</code></a>) </div> <div> <p>Whether the product is in any of the given collections.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>ids</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#id-unstable"> <code>[ID!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The IDs of the collections to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="incollections-unstable"> <div class="field-name"> inCollections (<a href="/api/functions/reference/cart-transform/graphql/common-objects/collectionmembership"><code>[CollectionMembership!]!</code></a>) </div> <div> <p>Whether the product is in the given collections.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>ids</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#id-unstable"> <code>[ID!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The IDs of the collections to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="isgiftcard-unstable"> <div class="field-name"> isGiftCard (<a href="/api/functions/reference/cart-transform/graphql/scalar#boolean-unstable"><code>Boolean!</code></a>) </div> <div> <p>Whether the product is a gift card.</p> </div> </div> </li> <li> <div class="field" id="metafield-unstable"> <div class="field-name"> metafield (<a href="/api/functions/reference/cart-transform/graphql/common-objects/metafield"><code>Metafield</code></a>) </div> <div> <p>Returns a metafield by namespace and key that belongs to the resource.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>key</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-unstable"> <code>String!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The key for the metafield.</p> </td> </tr> <tr class="field-argument"> <td class="argument-name"> <code>namespace</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-unstable"> <code>String</code> </a>) </td> <td class="argument-description"> <p>The container the metafield belongs to. If omitted, the app-reserved namespace will be used.</p> </td> </tr> </table> </div> </li> <li> <div class="field" id="producttype-unstable"> <div class="field-name"> productType (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-unstable"><code>String</code></a>) </div> <div> <p>The product type specified by the merchant.</p> </div> </div> </li> <li> <div class="field" id="title-unstable"> <div class="field-name"> title (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-unstable"><code>String!</code></a>) </div> <div> <p>The localized title of the product in the customer’s locale.</p> </div> </div> </li> <li> <div class="field" id="vendor-unstable"> <div class="field-name"> vendor (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-unstable"><code>String</code></a>) </div> <div> <p>The name of the product's vendor.</p> </div> </div> </li> </ul> <h2 id="types-that-return-product-unstable"> Types that return Product </h2> <ul> <li> <a href="/api/functions/reference/cart-transform/graphql/common-objects/productvariant#product-unstable"> <code>ProductVariant.product</code> </a> </li> </ul> <h2 id="implements-unstable">Implements</h2> <ul> <li> <a href="/api/functions/reference/cart-transform/graphql/common-objects/hasgates"> <code>HasGates</code> </a> </li> <li> <a href="/api/functions/reference/cart-transform/graphql/common-objects/hasmetafields"> <code>HasMetafields</code> </a> </li> </ul> </div><div class="doc-version doc-version--rc" data-version="2025-04"> <p>Represents a product.</p> <div> <h2 id="on-this-page">On this page</h2> <ul> <li> <a href="#fields-2025-04"> Fields </a> </li> <li> <a href="#types-that-return-product-2025-04"> Types that return Product </a> </li> <li> <a href="#implements-2025-04"> Implements </a> </li> </ul> </div> <h2 id="fields-2025-04"> Fields </h2> <ul class="fields"> <li> <div class="field" id="handle-2025-04"> <div class="field-name"> handle (<a href="/api/functions/reference/cart-transform/graphql/scalar#handle-2025-04"><code>Handle!</code></a>) </div> <div> <p>A unique human-friendly string of the product's title.</p> </div> </div> </li> <li> <div class="field" id="hasanytag-2025-04"> <div class="field-name"> hasAnyTag (<a href="/api/functions/reference/cart-transform/graphql/scalar#boolean-2025-04"><code>Boolean!</code></a>) </div> <div> <p>Whether the product has any of the given tags.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>tags</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2025-04"> <code>[String!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The tags to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="hastags-2025-04"> <div class="field-name"> hasTags (<a href="/api/functions/reference/cart-transform/graphql/common-objects/hastagresponse"><code>[HasTagResponse!]!</code></a>) </div> <div> <p>Whether the product has the given tags.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>tags</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2025-04"> <code>[String!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The tags to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="id-2025-04"> <div class="field-name"> id (<a href="/api/functions/reference/cart-transform/graphql/scalar#id-2025-04"><code>ID!</code></a>) </div> <div> <p>A globally-unique identifier.</p> </div> </div> </li> <li> <div class="field" id="inanycollection-2025-04"> <div class="field-name"> inAnyCollection (<a href="/api/functions/reference/cart-transform/graphql/scalar#boolean-2025-04"><code>Boolean!</code></a>) </div> <div> <p>Whether the product is in any of the given collections.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>ids</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#id-2025-04"> <code>[ID!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The IDs of the collections to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="incollections-2025-04"> <div class="field-name"> inCollections (<a href="/api/functions/reference/cart-transform/graphql/common-objects/collectionmembership"><code>[CollectionMembership!]!</code></a>) </div> <div> <p>Whether the product is in the given collections.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>ids</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#id-2025-04"> <code>[ID!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The IDs of the collections to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="isgiftcard-2025-04"> <div class="field-name"> isGiftCard (<a href="/api/functions/reference/cart-transform/graphql/scalar#boolean-2025-04"><code>Boolean!</code></a>) </div> <div> <p>Whether the product is a gift card.</p> </div> </div> </li> <li> <div class="field" id="metafield-2025-04"> <div class="field-name"> metafield (<a href="/api/functions/reference/cart-transform/graphql/common-objects/metafield"><code>Metafield</code></a>) </div> <div> <p>Returns a metafield by namespace and key that belongs to the resource.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>key</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2025-04"> <code>String!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The key for the metafield.</p> </td> </tr> <tr class="field-argument"> <td class="argument-name"> <code>namespace</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2025-04"> <code>String</code> </a>) </td> <td class="argument-description"> <p>The container the metafield belongs to. If omitted, the app-reserved namespace will be used.</p> </td> </tr> </table> </div> </li> <li> <div class="field" id="producttype-2025-04"> <div class="field-name"> productType (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2025-04"><code>String</code></a>) </div> <div> <p>The product type specified by the merchant.</p> </div> </div> </li> <li> <div class="field" id="title-2025-04"> <div class="field-name"> title (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2025-04"><code>String!</code></a>) </div> <div> <p>The localized title of the product in the customer’s locale.</p> </div> </div> </li> <li> <div class="field" id="vendor-2025-04"> <div class="field-name"> vendor (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2025-04"><code>String</code></a>) </div> <div> <p>The name of the product's vendor.</p> </div> </div> </li> </ul> <h2 id="types-that-return-product-2025-04"> Types that return Product </h2> <ul> <li> <a href="/api/functions/reference/cart-transform/graphql/common-objects/productvariant#product-2025-04"> <code>ProductVariant.product</code> </a> </li> </ul> <h2 id="implements-2025-04">Implements</h2> <ul> <li> <a href="/api/functions/reference/cart-transform/graphql/common-objects/hasmetafields"> <code>HasMetafields</code> </a> </li> </ul> </div><div class="doc-version doc-version--latest selected" data-version="2025-01"> <p>Represents a product.</p> <div> <h2 id="on-this-page">On this page</h2> <ul> <li> <a href="#fields-2025-01"> Fields </a> </li> <li> <a href="#types-that-return-product-2025-01"> Types that return Product </a> </li> <li> <a href="#implements-2025-01"> Implements </a> </li> </ul> </div> <h2 id="fields-2025-01"> Fields </h2> <ul class="fields"> <li> <div class="field" id="handle-2025-01"> <div class="field-name"> handle (<a href="/api/functions/reference/cart-transform/graphql/scalar#handle-2025-01"><code>Handle!</code></a>) </div> <div> <p>A unique human-friendly string of the product's title.</p> </div> </div> </li> <li> <div class="field" id="hasanytag-2025-01"> <div class="field-name"> hasAnyTag (<a href="/api/functions/reference/cart-transform/graphql/scalar#boolean-2025-01"><code>Boolean!</code></a>) </div> <div> <p>Whether the product has any of the given tags.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>tags</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2025-01"> <code>[String!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The tags to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="hastags-2025-01"> <div class="field-name"> hasTags (<a href="/api/functions/reference/cart-transform/graphql/common-objects/hastagresponse"><code>[HasTagResponse!]!</code></a>) </div> <div> <p>Whether the product has the given tags.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>tags</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2025-01"> <code>[String!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The tags to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="id-2025-01"> <div class="field-name"> id (<a href="/api/functions/reference/cart-transform/graphql/scalar#id-2025-01"><code>ID!</code></a>) </div> <div> <p>A globally-unique identifier.</p> </div> </div> </li> <li> <div class="field" id="inanycollection-2025-01"> <div class="field-name"> inAnyCollection (<a href="/api/functions/reference/cart-transform/graphql/scalar#boolean-2025-01"><code>Boolean!</code></a>) </div> <div> <p>Whether the product is in any of the given collections.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>ids</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#id-2025-01"> <code>[ID!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The IDs of the collections to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="incollections-2025-01"> <div class="field-name"> inCollections (<a href="/api/functions/reference/cart-transform/graphql/common-objects/collectionmembership"><code>[CollectionMembership!]!</code></a>) </div> <div> <p>Whether the product is in the given collections.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>ids</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#id-2025-01"> <code>[ID!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The IDs of the collections to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="isgiftcard-2025-01"> <div class="field-name"> isGiftCard (<a href="/api/functions/reference/cart-transform/graphql/scalar#boolean-2025-01"><code>Boolean!</code></a>) </div> <div> <p>Whether the product is a gift card.</p> </div> </div> </li> <li> <div class="field" id="metafield-2025-01"> <div class="field-name"> metafield (<a href="/api/functions/reference/cart-transform/graphql/common-objects/metafield"><code>Metafield</code></a>) </div> <div> <p>Returns a metafield by namespace and key that belongs to the resource.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>key</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2025-01"> <code>String!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The key for the metafield.</p> </td> </tr> <tr class="field-argument"> <td class="argument-name"> <code>namespace</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2025-01"> <code>String</code> </a>) </td> <td class="argument-description"> <p>The container the metafield belongs to. If omitted, the app-reserved namespace will be used.</p> </td> </tr> </table> </div> </li> <li> <div class="field" id="producttype-2025-01"> <div class="field-name"> productType (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2025-01"><code>String</code></a>) </div> <div> <p>The product type specified by the merchant.</p> </div> </div> </li> <li> <div class="field" id="title-2025-01"> <div class="field-name"> title (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2025-01"><code>String!</code></a>) </div> <div> <p>The localized title of the product in the customer’s locale.</p> </div> </div> </li> <li> <div class="field" id="vendor-2025-01"> <div class="field-name"> vendor (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2025-01"><code>String</code></a>) </div> <div> <p>The name of the product's vendor.</p> </div> </div> </li> </ul> <h2 id="types-that-return-product-2025-01"> Types that return Product </h2> <ul> <li> <a href="/api/functions/reference/cart-transform/graphql/common-objects/productvariant#product-2025-01"> <code>ProductVariant.product</code> </a> </li> </ul> <h2 id="implements-2025-01">Implements</h2> <ul> <li> <a href="/api/functions/reference/cart-transform/graphql/common-objects/hasmetafields"> <code>HasMetafields</code> </a> </li> </ul> </div><div class="doc-version" data-version="2024-10"> <p>Represents a product.</p> <div> <h2 id="on-this-page">On this page</h2> <ul> <li> <a href="#fields-2024-10"> Fields </a> </li> <li> <a href="#types-that-return-product-2024-10"> Types that return Product </a> </li> <li> <a href="#implements-2024-10"> Implements </a> </li> </ul> </div> <h2 id="fields-2024-10"> Fields </h2> <ul class="fields"> <li> <div class="field" id="handle-2024-10"> <div class="field-name"> handle (<a href="/api/functions/reference/cart-transform/graphql/scalar#handle-2024-10"><code>Handle!</code></a>) </div> <div> <p>A unique human-friendly string of the product's title.</p> </div> </div> </li> <li> <div class="field" id="hasanytag-2024-10"> <div class="field-name"> hasAnyTag (<a href="/api/functions/reference/cart-transform/graphql/scalar#boolean-2024-10"><code>Boolean!</code></a>) </div> <div> <p>Whether the product has any of the given tags.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>tags</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-10"> <code>[String!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The tags to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="hastags-2024-10"> <div class="field-name"> hasTags (<a href="/api/functions/reference/cart-transform/graphql/common-objects/hastagresponse"><code>[HasTagResponse!]!</code></a>) </div> <div> <p>Whether the product has the given tags.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>tags</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-10"> <code>[String!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The tags to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="id-2024-10"> <div class="field-name"> id (<a href="/api/functions/reference/cart-transform/graphql/scalar#id-2024-10"><code>ID!</code></a>) </div> <div> <p>A globally-unique identifier.</p> </div> </div> </li> <li> <div class="field" id="inanycollection-2024-10"> <div class="field-name"> inAnyCollection (<a href="/api/functions/reference/cart-transform/graphql/scalar#boolean-2024-10"><code>Boolean!</code></a>) </div> <div> <p>Whether the product is in any of the given collections.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>ids</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#id-2024-10"> <code>[ID!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The IDs of the collections to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="incollections-2024-10"> <div class="field-name"> inCollections (<a href="/api/functions/reference/cart-transform/graphql/common-objects/collectionmembership"><code>[CollectionMembership!]!</code></a>) </div> <div> <p>Whether the product is in the given collections.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>ids</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#id-2024-10"> <code>[ID!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The IDs of the collections to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="isgiftcard-2024-10"> <div class="field-name"> isGiftCard (<a href="/api/functions/reference/cart-transform/graphql/scalar#boolean-2024-10"><code>Boolean!</code></a>) </div> <div> <p>Whether the product is a gift card.</p> </div> </div> </li> <li> <div class="field" id="metafield-2024-10"> <div class="field-name"> metafield (<a href="/api/functions/reference/cart-transform/graphql/common-objects/metafield"><code>Metafield</code></a>) </div> <div> <p>Returns a metafield by namespace and key that belongs to the resource.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>key</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-10"> <code>String!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The key for the metafield.</p> </td> </tr> <tr class="field-argument"> <td class="argument-name"> <code>namespace</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-10"> <code>String</code> </a>) </td> <td class="argument-description"> <p>The container the metafield belongs to. If omitted, the app-reserved namespace will be used.</p> </td> </tr> </table> </div> </li> <li> <div class="field" id="producttype-2024-10"> <div class="field-name"> productType (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-10"><code>String</code></a>) </div> <div> <p>The product type specified by the merchant.</p> </div> </div> </li> <li> <div class="field" id="title-2024-10"> <div class="field-name"> title (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-10"><code>String!</code></a>) </div> <div> <p>The localized title of the product in the customer’s locale.</p> </div> </div> </li> <li> <div class="field" id="vendor-2024-10"> <div class="field-name"> vendor (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-10"><code>String</code></a>) </div> <div> <p>The name of the product's vendor.</p> </div> </div> </li> </ul> <h2 id="types-that-return-product-2024-10"> Types that return Product </h2> <ul> <li> <a href="/api/functions/reference/cart-transform/graphql/common-objects/productvariant#product-2024-10"> <code>ProductVariant.product</code> </a> </li> </ul> <h2 id="implements-2024-10">Implements</h2> <ul> <li> <a href="/api/functions/reference/cart-transform/graphql/common-objects/hasmetafields"> <code>HasMetafields</code> </a> </li> </ul> </div><div class="doc-version" data-version="2024-07"> <p>Represents a product.</p> <div> <h2 id="on-this-page">On this page</h2> <ul> <li> <a href="#fields-2024-07"> Fields </a> </li> <li> <a href="#types-that-return-product-2024-07"> Types that return Product </a> </li> <li> <a href="#implements-2024-07"> Implements </a> </li> </ul> </div> <h2 id="fields-2024-07"> Fields </h2> <ul class="fields"> <li> <div class="field" id="handle-2024-07"> <div class="field-name"> handle (<a href="/api/functions/reference/cart-transform/graphql/scalar#handle-2024-07"><code>Handle!</code></a>) </div> <div> <p>A unique human-friendly string of the product's title.</p> </div> </div> </li> <li> <div class="field" id="hasanytag-2024-07"> <div class="field-name"> hasAnyTag (<a href="/api/functions/reference/cart-transform/graphql/scalar#boolean-2024-07"><code>Boolean!</code></a>) </div> <div> <p>Whether the product has any of the given tags.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>tags</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-07"> <code>[String!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The tags to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="hastags-2024-07"> <div class="field-name"> hasTags (<a href="/api/functions/reference/cart-transform/graphql/common-objects/hastagresponse"><code>[HasTagResponse!]!</code></a>) </div> <div> <p>Whether the product has the given tags.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>tags</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-07"> <code>[String!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The tags to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="id-2024-07"> <div class="field-name"> id (<a href="/api/functions/reference/cart-transform/graphql/scalar#id-2024-07"><code>ID!</code></a>) </div> <div> <p>A globally-unique identifier.</p> </div> </div> </li> <li> <div class="field" id="inanycollection-2024-07"> <div class="field-name"> inAnyCollection (<a href="/api/functions/reference/cart-transform/graphql/scalar#boolean-2024-07"><code>Boolean!</code></a>) </div> <div> <p>Whether the product is in any of the given collections.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>ids</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#id-2024-07"> <code>[ID!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The IDs of the collections to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="incollections-2024-07"> <div class="field-name"> inCollections (<a href="/api/functions/reference/cart-transform/graphql/common-objects/collectionmembership"><code>[CollectionMembership!]!</code></a>) </div> <div> <p>Whether the product is in the given collections.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>ids</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#id-2024-07"> <code>[ID!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The IDs of the collections to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="isgiftcard-2024-07"> <div class="field-name"> isGiftCard (<a href="/api/functions/reference/cart-transform/graphql/scalar#boolean-2024-07"><code>Boolean!</code></a>) </div> <div> <p>Whether the product is a gift card.</p> </div> </div> </li> <li> <div class="field" id="metafield-2024-07"> <div class="field-name"> metafield (<a href="/api/functions/reference/cart-transform/graphql/common-objects/metafield"><code>Metafield</code></a>) </div> <div> <p>Returns a metafield by namespace and key that belongs to the resource.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>key</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-07"> <code>String!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The key for the metafield.</p> </td> </tr> <tr class="field-argument"> <td class="argument-name"> <code>namespace</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-07"> <code>String</code> </a>) </td> <td class="argument-description"> <p>The container the metafield belongs to. If omitted, the app-reserved namespace will be used.</p> </td> </tr> </table> </div> </li> <li> <div class="field" id="producttype-2024-07"> <div class="field-name"> productType (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-07"><code>String</code></a>) </div> <div> <p>The product type specified by the merchant.</p> </div> </div> </li> <li> <div class="field" id="title-2024-07"> <div class="field-name"> title (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-07"><code>String!</code></a>) </div> <div> <p>The localized title of the product in the customer’s locale.</p> </div> </div> </li> <li> <div class="field" id="vendor-2024-07"> <div class="field-name"> vendor (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-07"><code>String</code></a>) </div> <div> <p>The name of the product's vendor.</p> </div> </div> </li> </ul> <h2 id="types-that-return-product-2024-07"> Types that return Product </h2> <ul> <li> <a href="/api/functions/reference/cart-transform/graphql/common-objects/productvariant#product-2024-07"> <code>ProductVariant.product</code> </a> </li> </ul> <h2 id="implements-2024-07">Implements</h2> <ul> <li> <a href="/api/functions/reference/cart-transform/graphql/common-objects/hasmetafields"> <code>HasMetafields</code> </a> </li> </ul> </div><div class="doc-version" data-version="2024-04"> <p>Represents a product.</p> <div> <h2 id="on-this-page">On this page</h2> <ul> <li> <a href="#fields-2024-04"> Fields </a> </li> <li> <a href="#types-that-return-product-2024-04"> Types that return Product </a> </li> <li> <a href="#implements-2024-04"> Implements </a> </li> </ul> </div> <h2 id="fields-2024-04"> Fields </h2> <ul class="fields"> <li> <div class="field" id="handle-2024-04"> <div class="field-name"> handle (<a href="/api/functions/reference/cart-transform/graphql/scalar#handle-2024-04"><code>Handle!</code></a>) </div> <div> <p>A unique human-friendly string of the product's title.</p> </div> </div> </li> <li> <div class="field" id="hasanytag-2024-04"> <div class="field-name"> hasAnyTag (<a href="/api/functions/reference/cart-transform/graphql/scalar#boolean-2024-04"><code>Boolean!</code></a>) </div> <div> <p>Whether the product has any of the given tags.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>tags</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-04"> <code>[String!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The tags to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="hastags-2024-04"> <div class="field-name"> hasTags (<a href="/api/functions/reference/cart-transform/graphql/common-objects/hastagresponse"><code>[HasTagResponse!]!</code></a>) </div> <div> <p>Whether the product has the given tags.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>tags</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-04"> <code>[String!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The tags to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="id-2024-04"> <div class="field-name"> id (<a href="/api/functions/reference/cart-transform/graphql/scalar#id-2024-04"><code>ID!</code></a>) </div> <div> <p>A globally-unique identifier.</p> </div> </div> </li> <li> <div class="field" id="inanycollection-2024-04"> <div class="field-name"> inAnyCollection (<a href="/api/functions/reference/cart-transform/graphql/scalar#boolean-2024-04"><code>Boolean!</code></a>) </div> <div> <p>Whether the product is in any of the given collections.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>ids</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#id-2024-04"> <code>[ID!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The IDs of the collections to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="incollections-2024-04"> <div class="field-name"> inCollections (<a href="/api/functions/reference/cart-transform/graphql/common-objects/collectionmembership"><code>[CollectionMembership!]!</code></a>) </div> <div> <p>Whether the product is in the given collections.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>ids</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#id-2024-04"> <code>[ID!]!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The IDs of the collections to check.<br>Default value: <code>[]</code></p> </td> </tr> </table> </div> </li> <li> <div class="field" id="isgiftcard-2024-04"> <div class="field-name"> isGiftCard (<a href="/api/functions/reference/cart-transform/graphql/scalar#boolean-2024-04"><code>Boolean!</code></a>) </div> <div> <p>Whether the product is a gift card.</p> </div> </div> </li> <li> <div class="field" id="metafield-2024-04"> <div class="field-name"> metafield (<a href="/api/functions/reference/cart-transform/graphql/common-objects/metafield"><code>Metafield</code></a>) </div> <div> <p>Returns a metafield by namespace and key that belongs to the resource.</p> </div> </div> <div class="arguments-table"> <table> <tr> <th>Argument</th> <th>Description</th> </tr> <tr class="field-argument"> <td class="argument-name"> <code>key</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-04"> <code>String!</code> </a>) <span class="heading-flag">required</span> </td> <td class="argument-description"> <p>The key for the metafield.</p> </td> </tr> <tr class="field-argument"> <td class="argument-name"> <code>namespace</code> (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-04"> <code>String</code> </a>) </td> <td class="argument-description"> <p>The container the metafield belongs to. If omitted, the app-reserved namespace will be used.</p> </td> </tr> </table> </div> </li> <li> <div class="field" id="producttype-2024-04"> <div class="field-name"> productType (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-04"><code>String</code></a>) </div> <div> <p>The product type specified by the merchant.</p> </div> </div> </li> <li> <div class="field" id="title-2024-04"> <div class="field-name"> title (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-04"><code>String!</code></a>) </div> <div> <p>The localized title of the product in the customer’s locale.</p> </div> </div> </li> <li> <div class="field" id="vendor-2024-04"> <div class="field-name"> vendor (<a href="/api/functions/reference/cart-transform/graphql/scalar#string-2024-04"><code>String</code></a>) </div> <div> <p>The name of the product's vendor.</p> </div> </div> </li> </ul> <h2 id="types-that-return-product-2024-04"> Types that return Product </h2> <ul> <li> <a href="/api/functions/reference/cart-transform/graphql/common-objects/productvariant#product-2024-04"> <code>ProductVariant.product</code> </a> </li> </ul> <h2 id="implements-2024-04">Implements</h2> <ul> <li> <a href="/api/functions/reference/cart-transform/graphql/common-objects/hasmetafields"> <code>HasMetafields</code> </a> </li> </ul> </div>