# Shopify API Authentifizierung 2026

{% hint style="info" %}
DIese Seite befindet sich noch im Aufbau!
{% endhint %}

### Ziel

Diese Anleitung beschreibt die Erstellung und Installation einer **Shopify Custom App** inklusive **OAuth-Authentifizierung**, wie sie für `sync4` bzw. `desk4` verwendet wird.

***

### Voraussetzungen

* Zugriff auf das **Shopify Developer Dashboard**
* Shop, in dem die App installiert werden soll
* Gültige Redirect-URL (`sync4.de` oder `desk4.de`)

***

### 1. Developer Dashboard öffnen

* Shopify Developer Dashboard aufrufen
* Entweder ein bestehendes App-Projekt auswählen oder ein neues erstellen

***

### 2. App erstellen

* Auf **Create App** klicken
* App-Typ: **Custom App**

***

### 3. App-Name festlegen

* Namenskonvention:
  * `sync4`
  * oder `desk4_<kundenname>`

Beispiel:\
`sync4_mustermann`

***

### 4. Redirect URL konfigurieren

In den App-Einstellungen:

* **Redirect URL** setzen auf:
  * `https://sync4.de`\
    **oder**
  * `https://desk4.de`

> Diese URL wird nach erfolgreicher Authentifizierung aufgerufen.

***

### 5. Embedded App deaktivieren

* Option **„Embed app in Shopify admin“** **abwählen**

***

### 6. API Scopes (Berechtigungen) eintragen

Im Bereich **Scopes** folgende Rechte hinterlegen:

{% code overflow="wrap" fullWidth="false" expandable="true" %}

```
read_analytics,read_app_proxy,write_app_proxy,read_assigned_fulfillment_orders,write_assigned_fulfillment_orders,read_audit_events,read_customer_events,read_cart_transforms,write_cart_transforms,read_all_cart_transforms,read_validations,write_validations,read_cash_tracking,read_channels,write_channels,read_checkout_branding_settings,write_checkout_branding_settings,write_checkouts,read_checkouts,read_companies,write_companies,read_custom_fulfillment_services,write_custom_fulfillment_services,read_custom_pixels,write_custom_pixels,read_customers,write_customers,read_customer_data_erasure,write_customer_data_erasure,read_customer_merge,write_customer_merge,read_delivery_customizations,write_delivery_customizations,read_price_rules,write_price_rules,read_discounts,write_discounts,read_discounts_allocator_functions,write_discounts_allocator_functions,read_discovery,write_discovery,write_draft_orders,read_draft_orders,read_files,write_files,read_fulfillment_constraint_rules,write_fulfillment_constraint_rules,read_fulfillments,write_fulfillments,read_gift_card_transactions,write_gift_card_transactions,read_gift_cards,write_gift_cards,write_inventory,read_inventory,write_inventory_shipments,read_inventory_shipments,write_inventory_shipments_received_items,read_inventory_shipments_received_items,write_inventory_transfers,read_inventory_transfers,read_legal_policies,write_legal_policies,read_delivery_option_generators,write_delivery_option_generators,read_locales,write_locales,write_locations,read_locations,read_marketing_integrated_campaigns,write_marketing_integrated_campaigns,write_marketing_events,read_marketing_events,read_markets,write_markets,read_markets_home,write_markets_home,read_merchant_managed_fulfillment_orders,write_merchant_managed_fulfillment_orders,read_metaobject_definitions,write_metaobject_definitions,read_metaobjects,write_metaobjects,read_online_store_navigation,write_online_store_navigation,read_online_store_pages,write_online_store_pages,write_order_edits,read_order_edits,read_orders,write_orders,write_packing_slip_templates,read_packing_slip_templates,read_payment_terms,write_payment_terms,read_payment_customizations,write_payment_customizations,read_pixels,write_pixels,read_privacy_settings,write_privacy_settings,read_product_feeds,write_product_feeds,read_product_listings,write_product_listings,read_products,write_products,read_publications,write_publications,read_purchase_options,write_purchase_options,write_reports,read_reports,read_resource_feedbacks,write_resource_feedbacks,read_returns,write_returns,read_script_tags,write_script_tags,read_shopify_payments_provider_accounts_sensitive,read_shipping,write_shipping,read_shopify_payments_accounts,read_shopify_payments_payouts,read_shopify_payments_bank_accounts,read_shopify_payments_disputes,write_shopify_payments_disputes,read_content,write_content,read_store_credit_account_transactions,write_store_credit_account_transactions,read_store_credit_accounts,write_theme_code,read_themes,write_themes,read_third_party_fulfillment_orders,write_third_party_fulfillment_orders,read_translations,write_translations,customer_read_orders,customer_write_orders
```

{% endcode %}

⚠️ **Hinweis:**\
Änderungen an den Scopes erfordern immer eine neue App-Version.

***

### 7. App veröffentlichen (Release)

* App **releasen**
* **Versionsnummer setzen**

#### Versionslogik

* Start bei **1.0**
* Versionsnummer erhöhen bei:
  * Änderung der Scopes
  * Hinzufügen / Entfernen von Rechten
  * Änderung der Webhook-Version

Beispiel:

* 1.0 → Initial
* 1.1 → Neue API-Rechte
* 2.0 → Größere Änderungen

***

### 8. Installationslink erstellen

* Nach dem Release den **Installations-/OAuth-Link** kopieren

***

### 9. App-Installation

* Link im Browser öffnen
* Shopify zeigt Berechtigungsabfrage
* Abfrage muss bestätigt werden → App wird installiert

***

### 10. Redirect nach erfolgreicher Installation

* Nach erfolgreicher Installation:
  * Shopify leitet automatisch auf die konfigurierte **Redirect URL** weiter
  * (`https://sync4.de` oder `https://desk4.de`)

***

### 11. Installation prüfen

Im **Developer Dashboard**:

* App öffnen
* Status prüfen:
  * Anzeige **„Install“** bestätigt erfolgreiche Installation


---

# Agent Instructions: 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:

```
GET https://docs.sync4.de/faq/shops/shopify-api-authentifizierung-2026.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
