> For the complete documentation index, see [llms.txt](https://csv4you-1.gitbook.io/guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://csv4you-1.gitbook.io/guide/schnittstellen/shops/shopify.md).

# Shopify

***

## Konto verknüpfen

![Verbindung mit der Shopify-API herstellen](https://data.csv4you.com/media/image/guide/interface/shopify/shopify-api-zugangsdaten-hinterlegen.png)

Hinterlegen Sie unter 'Mein Konto->Grundeinstellungen->API' die passenden API-Zugangsdaten für Ihren Shopify-Shop.

#### Zugangsdaten im Shopify per benutzerdefinierte App anlegen

Informationen zum Anlegen einer `Benutzerdefinierte App` finden Sie [hier](https://help.shopify.com/de/manual/apps/app-types/custom-apps)

{% hint style="info" %}
Sollten Sie Probleme beim Anlegen haben, wenden Sie sich bitte an der Shopify-Support.
{% endhint %}

#### Folgende Daten werden dazu aus Ihrem Shopify-Account benötigt:

* Shop-Url in folgendem Format: <https://SHOPNAME.myshopify.com\\>
  Domain bitte EXAKT so übernehmen und nur SHOPNAME durch Ihren Shop-Namen ersetzen! Diesen finden Sie meistens in der URL Ihres Shopify-Adminzugangs. (admin.shopify.com/store/SHOPNAME)
* API-Schlüssel
* API-Password
* Admin-API-Zugriffstoken

Nach dem Anlegen können Sie im Menü des Zugangs auf 'Informationen' klicken. Werden Ihnen dort Shopdaten angezeigt, wurde Ihr API-Zugang erfolgreich angelegt.

***

### Shopify für die Verbindung mit csv4you vorbereiten

Damit csv4you auf die Daten Ihres Shopify-Shops zugreifen kann, muss in Shopify eine benutzerdefinierte App erstellt, konfiguriert und anschließend installiert werden.

#### 1. Benutzerdefinierte App erstellen

Melden Sie sich unter `admin.shopify.com` in Ihrem Shopify-Shop an.

Öffnen Sie in der linken Navigation:

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

**Apps → App-Einstellungen**

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

Klicken Sie anschließend auf **Apps entwickeln**.

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

Unter **Bisherige benutzerdefinierte Apps** erstellen Sie über den entsprechenden Button eine neue App.

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

Tragen Sie als App-Namen ein:

**csv4you.com**

#### 2. Admin-API-Bereiche konfigurieren

Öffnen Sie in der erstellten App den Bereich **Konfiguration**.

Klicken Sie unter **Admin-API-Integration** auf **Konfigurieren**. Je nach Shopify-Ansicht kann der entsprechende Button auch als **Admin-API-Bereiche konfigurieren** angezeigt werden.

Aktivieren Sie folgende Admin-API-Bereiche:

| Funktion                                                                                   | Erforderliche Scopes                |
| ------------------------------------------------------------------------------------------ | ----------------------------------- |
| Produkte, Varianten, Bilder, Collections und Collects lesen, erstellen, ändern und löschen | `read_products`, `write_products`   |
| Lagerbestände und Inventory Items lesen und ändern                                         | `read_inventory`, `write_inventory` |
| Standorte und zugehörige Bestandsinformationen lesen                                       | `read_locations`                    |
| Bestellungen importieren                                                                   | `read_orders`                       |
| Bestellungen importieren, die älter als 60 Tage sind                                       | zusätzlich `read_all_orders`        |

Speichern Sie anschließend die ausgewählten Berechtigungen.

Die Berechtigung `read_all_orders` ist nur notwendig, wenn csv4you auch Bestellungen importieren soll, die älter als 60 Tage sind.

#### 3. App im Shopify-Shop installieren

Nachdem die Admin-API-Bereiche konfiguriert wurden, wechseln Sie in der App zum Bereich **API-Anmeldedaten**.

Klicken Sie dort auf **App installieren** und bestätigen Sie die Installation sowie die angeforderten Zugriffsrechte.

> **Wichtig:** Die Verbindung zu csv4you funktioniert erst, nachdem die App im Shopify-Shop installiert wurde. Das alleinige Konfigurieren der API-Bereiche reicht nicht aus.

#### 4. Admin-API-Zugriffstoken anzeigen

Nach der Installation wird im Bereich **API-Anmeldedaten** unter **Admin-API-Zugriffstoken** ein Zugriffstoken bereitgestellt.

Klicken Sie auf **Token einmalig anzeigen**, um den vollständigen Admin-API-Zugriffstoken einzublenden.

> **Achtung:** Shopify zeigt den vollständigen Admin-API-Zugriffstoken nur einmal an. Kopieren und sichern Sie ihn daher unmittelbar. Wird der Token nicht gespeichert, muss gegebenenfalls ein neuer Zugriffstoken erzeugt werden.

Im Bereich **API-Anmeldedaten** finden Sie außerdem:

* den **API-Schlüssel**
* den **geheimen API-Schlüssel**

#### 5. Benötigte Angaben für csv4you

Für die Einrichtung der Shopify-Schnittstelle in csv4you werden folgende Angaben benötigt:

* Shopify-Shop-URL
* Admin-API-Zugriffstoken
* API-Schlüssel
* geheimer API-Schlüssel

Die Shopify-Shop-URL entspricht üblicherweise diesem Format:

`ihr-shop.myshopify.com`

Erst wenn die API-Bereiche gespeichert und die App anschließend installiert wurde, kann csv4you eine Verbindung zur Shopify-API herstellen.

***

## bestehende Listings abrufen

![Cronjob für das Zurücklesen](https://data.csv4you.com/media/image/guide/interface/shopify/shopify-einrichtung-cronjob-zuruecklesen.png) ![Manuelles Starten des Zurücklesens](https://data.csv4you.com/media/image/guide/interface/shopify/shopify-listings-uebersicht.png)

CSV4YOU muss immer den aktuellen Stand Ihrer Shopify-Listings kennen. Dafür müssen Ihre Shop-Daten in unser System zurückgelesen werden. Dieser Vorgang dient dem Abgleich von CSV4YOU mit Ihrem System. Es werden immer die API-ID sowie Preis und Bestand benötigt. Sie können das Zurücklesen manuell durchführen oder per Cronjob erledigen lassen.

Ein Zurücklesen auf der Seite 'Listings->Sonstige' mit der Schaltfläche 'Daten vom Shop einlesen' schreibt nur die Daten für die gerade benutzte Datenquelle. Im Hintergrund werden jedoch ALLE Listings Ihres Shopify-Shops zurückgegeben und ausgewertet.

Das Zurücklesen auf der Seite 'Mein Konto->Grundeinstellungen->API' unter der Auswahl 'Cronjob: Daten vom Shop einlesen', schreibt die Daten für ALLE Datenquellen. Sie müssen also nicht für jede Datenquelle einzeln das Zurücklesen durchführen. Das ist aber nur möglich, wenn Sie einen Cronjob hierfür eingerichtet haben.

{% hint style="info" %}
Ein Abgleich erfolgt mit der SKU in Ihrem Shop und der Artikelnummer in CSV4YOU. Ein späterer Abgleich kann nur über die zurückgegebene API-ID erfolgen.

Sollten Sie Listings direkt im Shopify gelöscht haben, empfehlen wir die vorhandenen Zuweisungen in unserem System zu entfernen. Es werden dabei KEINE Daten im Shopify geändert. Danach können Sie erneut Ihre Shop-Daten zurücklesen.
{% endhint %}

***

## Kategoriezuordnung

Eine Übersicht der Einstellungen finden Sie [hier](/guide/seiten/export/categories.md).

Die Kategoriezuordnungen werden mit einem eigenständigen Exportprofil gesendet. Sie müssen dazu bei 'Was möchten Sie zu Shopify übertragen?' die Auswahl auf 'Gelistete Produkte' und 'Collection' setzen. Kategoriezuordnungen können nur für bereits [gelistete Produkte](/guide/schnittstellen/shops/shopify.md#bestehende-listings-abrufen) gesendet werden.

***

## Preiskalkulation

Eine Übersicht der Einstellungen finden Sie [hier](/guide/seiten/export/pricecalculation.md).

***

## Export

Allgemeine Informationen zu den verschiedenen Funktionen der Exportprofile, finden Sie [hier](/guide/seiten/export.md).

### Exportprofil Neuanlage einrichten

![Exportprofil->Grundeinstellungen](https://data.csv4you.com/media/image/guide/interface/shopify/shopify-exportprofil-neuanlage-grundeinstellungen.png) ![Exportprofil->Sonstiges](https://data.csv4you.com/media/image/guide/interface/shopify/shopify-exportprofil-neuanlage-sonstiges.png)

**Richten Sie ein Exportprofil zur Neuanlage mit folgenden Einstellungen ein:**

* Was möchten Sie zu Shopify übertragen?\\
  1. Auswahl 'nur neue Produkte'\\
  2. Auswahl 'Produkte'

Nach dem Export einer Produktneuanlage schauen Sie sich die Ihnen angebotenen Statusberichte an. In diesen finden Sie Informationen, ob die Produkte übertragen und angelegt wurden. Wenn das erledigt ist, sollten Sie Ihre aktuellen Shop-Daten in unser System zurücklesen. Das erfolgt im Bereich Listings und der Auswahl des jeweiligen Shops. Sie können dafür auch einen Cronjob benutzen, den Sie unter den jeweiligen Verbindungseinstellungen Ihres Systems mit CSV4YOU finden.

{% hint style="danger" %}
Die Neuanlage ist standardmaßig auf 5000 Produkte begrenzt. Sollten Sie bereits mehr als 50000 Artikel in Ihrem Shopify-Shop haben, reduziert sich dieser Wert auf 1000 Produkte. Desweiteren hat Shopify weitere unterschiedliche Limits für Ihre API-Calls.
{% endhint %}

### Exportprofil zur Übertragung der Kategorien/Collection einrichten

**Richten Sie ein weiteres Exportprofil zur Übertragung der Kategorien/Collection mit folgenden Einstellungen ein:**

* Was möchten Sie zu Shopify übertragen?
  1. Auswahl 'Gelistete Produkte'
  2. Auswahl 'Collection'

### Exportprofil Bestandsupdate einrichten

![Exportprofil->Grundeinstellungen](https://data.csv4you.com/media/image/guide/interface/shopify/shopify-exportprofil-update-bestand-grundeinstellungen.png) ![Exportprofil->Sonstiges](https://data.csv4you.com/media/image/guide/interface/shopify/shopify-exportprofil-update-bestand-sonstiges.png)

**Richten Sie ein weiteres Exportprofil zum Bestandsabgleich mit folgenden Einstellungen ein:**

* Was möchten Sie zu Shopify übertragen?
  1. Auswahl 'Gelistete Produkte'
  2. Auswahl 'Bestand'

Durch das Zurücklesen der Shopify-Daten erkennt unser System, welche Produkte einen Bestandsabgleich benötigen. Diese werden durch das Exportprofil in Ihrem Shopify-Shop geändert.

{% hint style="warning" %}
Sobald Sie im Shopify mit Lager arbeiten, müssen Sie die Location-ID/Lager-ID angeben. Nur so kann der Bestand geändert werden.
{% endhint %}
