> ## Documentation Index
> Fetch the complete documentation index at: https://developers.e-cross.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Product

> How e-CROSS reads product data from Shopify

## Overview

e-CROSS reads Shopify products and sends the mapped SKU data to the e-CROSS catalog, under the merchant instance.

The integration undestands there are new data when any of the following fields are updated:

* Product update date.
* Variant update date.
* Inventory item update date.

## What you control in Shopify

You need to keep the Shopify product data complete and tag products with the correct merchant ID.

The connector uses product tags to decide which merchant owns a product. The tag format is:

```text theme={null}
merchantId:<MERCHANT_ID>
```

For example:

```text theme={null}
merchantId:ACME
```

<Warning>
  Products without a matching `merchantId:<MERCHANT_ID>` tag are ignored by the product, price, and inventory polling flow.
</Warning>

## Product fields read from Shopify

e-CROSS reads these product fields:

| Shopify field       | Mandatory | Used as                                                                       |
| ------------------- | --------- | ----------------------------------------------------------------------------- |
| Product ID          | Yes       | e-CROSS `productId`                                                           |
| Product title       | Yes       | Product name                                                                  |
| Product description | Yes       | Product description                                                           |
| Product type        | No        | Category                                                                      |
| Vendor              | Yes       | Brand                                                                         |
| Product status      | Yes       | Product status. Only `ACTIVE` means active, all other statuses mean inactive. |
| Images              | Yes       | Product images                                                                |
| Product metafields  | No        | Extra product attributes                                                      |

## Variant fields read from Shopify

Each Shopify variant becomes one e-CROSS SKU.

| Shopify field                             | Mandatory | Used as         |
| ----------------------------------------- | --------- | --------------- |
| Variant ID                                | Yes       | e-CROSS `skuId` |
| Barcode                                   | Yes       | EAN             |
| Selected option named `Size`              | No        | Size            |
| Selected option named `Color` or `Colour` | No        | Color           |
| Inventory item HS code                    | Yes       | HS code         |
| Inventory item weight                     | Yes       | SKU weight      |
| Variant metafield `width`                 | No        | SKU width       |
| Variant metafield `height`                | No        | SKU height      |
| Variant metafield `length`                | No        | SKU length      |

## Product metafields

Product metafields are sent as extra attributes.

The integration uses the metafield key as the attribute name and the metafield value as the attribute value.

If a metafield value points to a Shopify metaobject, the integration tries to use:

1. The metaobject display name.
2. A metaobject field named `value`.
3. The first metaobject field that has a value.
