> For the complete documentation index, see [llms.txt](https://docs.abtasty.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.abtasty.com/commerce/catalog/connecting-a-catalog.md).

# Connecting a Catalog

Before you can build Recommendations, Merchandising or Search strategies, Commerce needs your products. A catalog source is connected from **Settings → Integrations** (or via the **Connect catalog source** card on the **Get started** checklist).

<figure><img src="/files/xEI4ubnQJT6UZ3xQdRv3" alt=""><figcaption></figcaption></figure>

### Supported sources

Commerce can ingest your catalog from any of the following sources:

| Source                        | Notes                                                                                        |
| ----------------------------- | -------------------------------------------------------------------------------------------- |
| **Catalog Feed**              | Custom feed (JSON, XML or CSV) served from a feed URL you control.                           |
| **Shopify**                   | OAuth app install; select collections or all products.                                       |
| **Shopify Markets**           | Region-specific catalogs, pricing, currency and localization.                                |
| **Salesforce Commerce Cloud** | API credentials (Catalog Id, Site Id, Client Id/Secret, API Version).                        |
| **Prestashop**                | Store URL plus admin credentials / API tokens, then the AB Tasty module.                     |
| **Magento**                   | Magento API credentials (Consumer Key/Secret, Access Token/Secret, Store Code/ID, Currency). |
| **Catalog API**               | Programmatic catalog management without a CMS feed. See catalog-api.                         |
| **Google Sheet**              | Shareable sheet, one product per row.                                                        |
| **SFTP Upload**               | Catalog file delivered over SFTP.                                                            |
| **Manual Upload**             | Manual CSV upload, one product per row.                                                      |

{% hint style="info" %}
**Merchandising is not supported with the CSV (Manual Upload) or Google Sheet sources**, only **Recommendations** and **Search** use cases are available with those sources. For full Merchandising support, use a CMS, Catalog Feed, SFTP or Catalog API source.
{% endhint %}

### Connecting from Settings

All sources are managed from the **Integrations** tab of **Account settings**.

The general flow is: open **Settings → Integrations**, find your platform in the **Catalog** section, click **Connect**, then provide the source's credentials or details. The full step-by-step procedure for every source lives in Settings → Integrations.

A summary of what each source needs:

* **Catalog Feed**: choose the feed format (JSON / XML / CSV), provide the feed URL, map attributes (Product ID, name, category, price, image URL, stock status) and set the sync schedule.
* **Shopify**: click **Connect**, authorize the AB Tasty app on Shopify, approve permissions and **Install app**, then select collections and sync frequency (daily recommended).
* **Shopify Markets**: connect, then configure region-specific catalogs, pricing, currency and localization.
* **Salesforce Commerce Cloud**: enter **Catalog Id**, **Site Id**, **Client Id**, **Client Secret** and **API Version**, then validate the connection.
* **Prestashop**: connect, enter the store URL and admin credentials / API tokens, map attributes, then install the AB Tasty module under **Modules & Services**.
* **Magento**: connect and enter the Magento API credentials; category and subcategory sync is automatic, and the catalog refreshes on a recurring schedule (hourly by default).
* **Google Sheet**: paste the shareable sheet URL and grant access; AB Tasty auto-matches columns to standard attributes.
* **SFTP Upload** / **Manual Upload (CSV)**, provide the file (one product per row, attributes in columns) with unique product IDs.

### Minimum catalog fields

Whatever the source, Commerce expects a minimum set of product fields so that strategies, tracking and display work correctly:

| Field                    | Purpose                                                                |
| ------------------------ | ---------------------------------------------------------------------- |
| `ID`                     | Unique product identifier, the key reference for every recommendation. |
| `title`                  | Product display name shown in widgets.                                 |
| `URL`                    | Product page link for click-through tracking.                          |
| `price` + `currency`     | Price and its ISO currency code (EUR, USD…).                           |
| `stock` / `availability` | Controls whether a product is eligible to be displayed.                |
| `categoriesIDs`          | Category identifiers or hierarchy.                                     |
| `createdAt`              | ISO creation date; enables "new arrivals" rules.                       |
| `imageUrl`               | Public HTTPS image URL.                                                |

{% hint style="info" %}
Changing product IDs, attribute names or the catalog structure after connection may break existing strategies. Keep your identifiers stable.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.abtasty.com/commerce/catalog/connecting-a-catalog.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
