Shopisim

Shopisim API

v1.0.0

REST APIJSONJWT Auth

Übersicht

Die Shopisim REST-API ermöglicht es Ihnen, individuelle Storefronts zu erstellen, E-Commerce in bestehende Websites zu integrieren oder mobile Apps zu entwickeln, die von Shopisim-Shops betrieben werden.

Basis-URL

https://www.shopisim.com/api

Inhaltstyp

application/json

Authentifizierung

Bearer <JWT>

Schnellstart

Alle Antworten sind JSON. Öffentliche Endpoints erfordern keine Authentifizierung. Verkäufer-/Admin-Endpoints erfordern ein gültiges JWT-Token im Authorization-Header.

# Produkte eines Shops abrufen (keine Authentifizierung erforderlich)
curl https://www.shopisim.com/api/public/shops/my-shop/products

# Authentifizieren und Shop verwalten
TOKEN=$(curl -s -X POST https://www.shopisim.com/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username":"you@example.com","password":"secret"}' | jq -r .token)

curl https://www.shopisim.com/api/seller/shops/me \
  -H "Authorization: Bearer $TOKEN"

Lokalisierung

Shopisim unterstützt die Sprachen fr, en und de. Senden Sie den Accept-Language-Header oder verwenden Sie den Parameter ?locale=en, um übersetzte Inhalte zu erhalten. Fehlermeldungen werden ebenfalls in der angeforderten Sprache zurückgegeben.

Paginierung

Listen-Endpoints geben paginierte Ergebnisse zurück. Verwenden Sie ?page=1&limit=20 zur Steuerung der Paginierung. Die Antwort enthält die Felder items, total, page und limit.

{
  "items": [...],
  "total": 142,
  "page": 1,
  "limit": 20
}

Authentifizierung

Registrierung, Anmeldung und Verwaltung von Benutzersitzungen mit JWT-Tokens.

POST/auth/login

Authentifiziert einen Benutzer und gibt ein JWT-Token zurück.

Anfragekörper

{
  "username": "user@example.com",
  "password": "SecurePass123!"
}

Antwort

{
  "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
}
POST/auth/register

Erstellt ein neues Benutzerkonto. Gibt sofort ein JWT-Token zurück.

Anfragekörper

{
  "email": "user@example.com",
  "password": "SecurePass123!",
  "firstName": "Jean",
  "lastName": "Dupont",
  "locale": "fr"
}

Antwort

{
  "message": "...",
  "user": { "id": 1, "email": "user@example.com", "firstName": "Jean", "lastName": "Dupont" },
  "token": "eyJ0eXAi..."
}
GET/auth/meAuth

Ruft das Profil des authentifizierten Benutzers ab.

Antwort

{
  "id": 1, "email": "user@example.com", "firstName": "Jean", "lastName": "Dupont",
  "phone": "+33612345678", "preferredLocale": "fr",
  "roles": ["ROLE_USER", "ROLE_SELLER"], "status": "active",
  "createdAt": "2026-01-15T10:30:00+00:00"
}
PATCH/auth/meAuth

Aktualisiert das Profil des authentifizierten Benutzers.

Anfragekörper

{
  "firstName": "Jean", "lastName": "Martin",
  "phone": "+33612345678", "preferredLocale": "en"
}
POST/auth/me/passwordAuth

Ändert das Passwort des authentifizierten Benutzers.

Anfragekörper

{
  "currentPassword": "OldPass123!",
  "newPassword": "NewSecurePass456!"
}
POST/auth/verify-email

Verifiziert die E-Mail-Adresse mit dem per E-Mail gesendeten Token.

Anfragekörper

{ "token": "abc123..." }
POST/auth/resend-verificationAuth

Sendet die Bestätigungs-E-Mail erneut.

POST/auth/forgot-password

Fordert eine E-Mail zum Zurücksetzen des Passworts an. Gibt aus Sicherheitsgründen immer 200 zurück.

Anfragekörper

{ "email": "user@example.com" }
POST/auth/reset-password

Setzt das Passwort mit dem per E-Mail erhaltenen Token zurück.

Anfragekörper

{ "token": "reset-token", "newPassword": "NewPass456!" }

Shops

Shops durchsuchen und Informationen abrufen. Alle Endpoints sind öffentlich.

GET/public/shops

Listet alle aktiven Shops auf.

Parameter

limitint- Einträge pro Seite (Standard 20)
offsetint- Versatz für Paginierung

Antwort

{
  "items": [
    {
      "id": 1, "name": "Ma Boutique", "slug": "ma-boutique",
      "description": "...", "logoUrl": "https://...",
      "primaryColor": "#174374", "themeCode": "classic", "currency": "EUR"
    }
  ],
  "total": 42
}
GET/public/shops/{slug}

Ruft vollständige Details eines bestimmten Shops ab.

Parameter

slugstringerforderlich- Shop-URL-Slug
localestring- Sprache für übersetzte Inhalte (fr, en, de)

Antwort

{
  "id": 1, "name": "Ma Boutique", "slug": "ma-boutique",
  "description": "...", "logoUrl": "https://...", "bannerUrl": "https://...",
  "faviconUrl": "https://...", "primaryColor": "#174374", "accentColor": "#3375ad",
  "phone": "+33 1 23 45 67 89", "email": "contact@maboutique.fr",
  "address": "123 Rue du Commerce", "city": "Paris", "zipCode": "75001", "country": "France",
  "currency": "EUR", "themeCode": "classic",
  "supportedLocales": ["fr", "en", "de"], "defaultLocale": "fr",
  "shippingCostCents": 499, "customPages": [...], "contentBlocks": [...]
}
GET/public/shops/{slug}/payment-methods

Ruft die aktivierten Zahlungsmethoden eines Shops ab.

Antwort

{
  "testMode": false,
  "methods": [
    { "provider": "stripe", "label": "Credit Card", "enabled": true },
    { "provider": "paypal", "label": "PayPal", "enabled": true }
  ]
}

Produkte

Produkte innerhalb eines Shops durchsuchen und suchen.

GET/public/shops/{slug}/products

Listet Produkte eines Shops mit Paginierung und Suche auf.

Parameter

slugstringerforderlich- Shop-URL-Slug
pageint- Seitennummer
limitint- Einträge pro Seite
qstring- Suchanfrage
localestring- Sprache (fr, en, de)

Antwort

{
  "items": [
    {
      "id": 1, "title": "T-Shirt Premium", "slug": "t-shirt-premium",
      "priceCents": 2999, "currency": "EUR", "stockQty": 50, "status": "active",
      "category": { "id": 1, "name": "Clothing", "slug": "clothing" },
      "images": [{ "id": 1, "url": "https://...", "alt": "..." }],
      "variants": [{ "id": 1, "name": "Default", "sku": "TSP-001", "priceCents": 2999, "stockQty": 50 }],
      "taxGroup": { "id": 1, "name": "TVA 20%", "rate": 20.00 }
    }
  ],
  "total": 85, "page": 1, "limit": 20
}
GET/public/shops/{slug}/products/{productSlug}

Ruft detaillierte Informationen zu einem bestimmten Produkt ab.

Parameter

slugstringerforderlich- Shop-URL-Slug
productSlugstringerforderlich- Produkt-Slug
localestring- Sprache (fr, en, de)

Kategorien

Kategorie-Baum des Shops mit Unterkategorien abrufen.

GET/public/shops/{slug}/categories

Ruft den vollständigen Kategorie-Baum eines Shops ab (verschachtelte Unterkategorien).

Parameter

slugstringerforderlich- Shop-URL-Slug
localestring- Sprache (fr, en, de)

Antwort

{
  "items": [
    {
      "id": 1, "name": "Clothing", "slug": "clothing", "imageUrl": "https://...",
      "productCount": 12,
      "children": [
        { "id": 2, "name": "T-Shirts", "slug": "t-shirts", "productCount": 5, "children": [] }
      ]
    }
  ]
}

Warenkorb

Warenkörbe erstellen und verwalten. Warenkörbe werden über UUID identifiziert.

POST/public/carts

Erstellt einen neuen Warenkorb für einen Shop.

Anfragekörper

{ "shopSlug": "ma-boutique" }

Antwort

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "items": [], "totalCents": 0, "taxCents": 0, "totalWithTaxCents": 0
}
GET/public/carts/{id}

Ruft den Warenkorbinhalt mit Steueraufschlüsselung ab.

Parameter

iduuiderforderlich- Warenkorb-UUID

Antwort

{
  "id": "550e8400-...",
  "items": [
    {
      "id": 1, "productVariantId": 5, "productTitle": "T-Shirt Premium",
      "variantName": "L / Blue", "qty": 2, "unitPriceCents": 2999,
      "totalCents": 5998, "imageUrl": "https://..."
    }
  ],
  "totalCents": 5998, "taxCents": 1000, "totalWithTaxCents": 6998, "currency": "EUR"
}
POST/public/carts/{id}/items

Fügt einen Artikel zum Warenkorb hinzu.

Anfragekörper

{ "productVariantId": 5, "qty": 2 }
PATCH/public/carts/{id}/items/{itemId}

Aktualisiert die Artikelmenge.

Anfragekörper

{ "qty": 3 }
DELETE/public/carts/{id}/items/{itemId}

Entfernt einen Artikel aus dem Warenkorb.

Bezahlung & Bestellung

Bestellungen mit mehreren Zahlungsanbietern verarbeiten. Unterstützt Stripe, Square, PayPal, Tara (Mobile Money), Banküberweisung, Nachnahme und Testmodus.

POST/public/checkout

Erstellt eine Bestellung aus einem Warenkorb. Gibt Zahlungsanweisungen basierend auf dem gewählten Anbieter zurück.

Anfragekörper

{
  "cartId": "550e8400-...",
  "paymentProvider": "stripe",
  "cgvAccepted": true,
  "firstName": "Jean", "lastName": "Dupont",
  "email": "jean@example.com", "phone": "+33612345678",
  "shippingAddress": "123 Rue du Commerce",
  "shippingCity": "Paris", "shippingZipCode": "75001", "shippingCountry": "FR"
}

Antwort

{
  "order": {
    "id": 42, "orderNumber": "ORD-20260313-A1B2C3",
    "status": "pending", "totalCents": 6998, "currency": "EUR"
  },
  "paymentAction": {
    "type": "client_confirmation",
    "clientSecret": "pi_xxx_secret_xxx",
    "publishableKey": "pk_live_xxx"
  }
}

Zahlungsablauf-Typen

client_confirmation - Zahlung clientseitig bestätigen (Stripe). Enthält clientSecret und publishableKey.

redirect - Benutzer zur Zahlungsseite weiterleiten (PayPal, Tara). Enthält redirectUrl.

pending - Warten auf manuelle Bestätigung (Banküberweisung). Enthält bankDetails.

none - Keine Zahlung erforderlich (Nachnahme, Testmodus). Bestellung wird sofort bestätigt.

POST/public/checkout/verify-return

Überprüft eine Zahlungsrückkehr nach Weiterleitung (PayPal, Tara).

Anfragekörper

{
  "provider": "paypal",
  "orderNumber": "ORD-20260313-A1B2C3",
  "transactionId": "PAYID-xxx"
}

Antwort

{ "status": "paid", "orderNumber": "ORD-20260313-A1B2C3" }

Bestellungen

Kundenbestellverlauf abrufen.

GET/auth/me/ordersAuth

Ruft den Bestellverlauf des authentifizierten Kunden ab.

Antwort

{
  "items": [
    {
      "id": 42, "orderNumber": "ORD-20260313-A1B2C3", "status": "shipped",
      "totalCents": 6998, "currency": "EUR", "itemCount": 2,
      "shopName": "Ma Boutique", "shopSlug": "ma-boutique",
      "createdAt": "2026-03-13T14:30:00+00:00"
    }
  ]
}

Rechnungen

Bestellrechnungen als PDF herunterladen.

GET/public/orders/{orderNumber}/invoice

Lädt die Rechnungs-PDF einer Bestellung herunter.

Parameter

orderNumberstringerforderlich- Bestellnummer (z.B. ORD-20260313-A1B2C3)

Antwort

Binary PDF (Content-Type: application/pdf)

Kontakt

Kontaktnachrichten an Shop-Besitzer senden.

POST/public/contact/{shopSlug}

Sendet eine Kontaktnachricht an einen Shop.

Anfragekörper

{
  "name": "Marie",
  "email": "marie@example.com",
  "subject": "Question",
  "message": "Hello..."
}

Antwort

{ "success": true }

Newsletter

Newsletter von Shops abonnieren und abbestellen.

POST/public/newsletter/subscribe

Abonniert eine E-Mail für den Newsletter eines Shops.

Anfragekörper

{ "email": "sub@example.com", "shopSlug": "ma-boutique", "locale": "fr" }

Antwort

{ "status": "subscribed" }
GET/public/newsletter/unsubscribe/{token}

Abbestellen mit dem per E-Mail erhaltenen Token.

Blog

Blog-Artikel lesen.

GET/public/blog

Listet veröffentlichte Blog-Artikel auf.

Parameter

pageint- Seitennummer
limitint- Einträge pro Seite
localestring- Sprache (fr, en, de)
tagstring- Nach Tag filtern
GET/public/blog/{slug}

Ruft einen bestimmten Blog-Artikel ab.

Parameter

localestring- Sprache (fr, en, de)

Kundenkonto

Adressen verwalten, Daten exportieren und Konto löschen (DSGVO).

GET/auth/me/addressesAuth

Listet gespeicherte Adressen auf.

POST/auth/me/addressesAuth

Erstellt eine neue Adresse.

Anfragekörper

{
  "label": "Home", "fullName": "Jean Dupont",
  "address1": "123 Rue du Commerce", "address2": "Apt 4B",
  "city": "Paris", "zipCode": "75001", "country": "FR",
  "phone": "+33612345678", "isDefault": true
}
PATCH/auth/me/addresses/{id}Auth

Aktualisiert eine Adresse.

DELETE/auth/me/addresses/{id}Auth

Löscht eine Adresse.

GET/auth/me/exportAuth

Exportiert alle Benutzerdaten (DSGVO-Konformität).

DELETE/auth/meAuth

Löscht das Konto und anonymisiert alle Daten (DSGVO-Konformität). Benachrichtigt betroffene Shops.

Verkäufer - Shop-Verwaltung

Erstellen und verwalten Sie Ihren Shop. Erfordert ROLE_SELLER.

POST/seller/shopsAuth

Erstellt einen neuen Shop.

Anfragekörper

{
  "name": "Ma Boutique", "slug": "ma-boutique",
  "description": "...", "themeCode": "classic",
  "primaryColor": "#174374", "currency": "EUR"
}
GET/seller/shops/meAuth

Ruft Ihre Shop-Details ab.

PATCH/seller/shops/meAuth

Aktualisiert Ihren Shop. Alle Felder optional.

Anfragekörper

{
  "name": "...", "slug": "...", "description": "...",
  "primaryColor": "#...", "accentColor": "#...",
  "phone": "+33...", "email": "contact@...",
  "address": "...", "city": "...", "zipCode": "...", "country": "...",
  "seoTitle": "...", "seoDescription": "...", "keywords": "...",
  "themeCode": "classic", "currency": "EUR",
  "customPages": [...], "contentBlocks": [...]
}
POST/seller/shops/me/activateAuth

Aktiviert Ihren Shop (macht ihn öffentlich sichtbar).

GET/seller/shops/me/localesAuth

Ruft die Konfiguration der unterstützten Sprachen ab.

PUT/seller/shops/me/localesAuth

Aktualisiert die unterstützten Sprachen.

Anfragekörper

{ "supportedLocales": ["fr", "en", "de"], "defaultLocale": "fr" }
GET/seller/shops/me/domainAuth

Ruft die benutzerdefinierte Domain-Konfiguration ab.

POST/seller/shops/me/domainAuth

Legt eine benutzerdefinierte Domain fest.

Anfragekörper

{ "domain": "www.myboutique.com" }
POST/seller/shops/me/domain/verifyAuth

Überprüft die DNS-Konfiguration Ihrer benutzerdefinierten Domain.

DELETE/seller/shops/me/domainAuth

Entfernt die benutzerdefinierte Domain.

Verkäufer - Produkte

CRUD-Operationen für Produkte, Varianten und Übersetzungen.

GET/seller/productsAuth

Listet Ihre Produkte auf.

Parameter

pageint- Seitennummer
limitint- Einträge pro Seite
searchstring- Suchanfrage
POST/seller/productsAuth

Erstellt ein Produkt.

Anfragekörper

{
  "title": "T-Shirt Premium", "slug": "t-shirt-premium",
  "description": "...", "priceCents": 2999, "currency": "EUR",
  "stockQty": 50, "sku": "TSP-001", "categoryId": 1, "taxGroupId": 1
}
GET/seller/products/{id}Auth

Ruft Produktdetails ab.

PATCH/seller/products/{id}Auth

Aktualisiert ein Produkt (alle Felder optional).

DELETE/seller/products/{id}Auth

Löscht ein Produkt.

POST/seller/products/{id}/activateAuth

Aktiviert/veröffentlicht ein Produkt.

Varianten

GET/seller/products/{id}/variantsAuth

Listet Produktvarianten auf.

POST/seller/products/{id}/variantsAuth

Erstellt eine Variante.

Anfragekörper

{
  "name": "L / Blue", "sku": "TSP-001-L-BL",
  "priceCents": 2999, "stockQty": 20,
  "attributes": { "size": "L", "color": "Blue" }, "active": true
}
PATCH/seller/products/{productId}/variants/{variantId}Auth

Aktualisiert eine Variante.

DELETE/seller/products/{productId}/variants/{variantId}Auth

Löscht eine Variante.

Übersetzungen

GET/seller/products/{id}/translationsAuth

Ruft alle Übersetzungen eines Produkts ab.

PATCH/seller/products/{id}/translations/{locale}Auth

Aktualisiert die Übersetzung für eine Sprache.

Anfragekörper

{ "title": "Premium T-Shirt", "description": "English description..." }
POST/seller/products/{id}/auto-translateAuth

Übersetzt das Produkt automatisch in alle unterstützten Sprachen mittels KI.

Verkäufer - Kategorien

Produktkategorien mit Unterkategorie-Unterstützung verwalten.

GET/seller/categoriesAuth

Listet alle Kategorien auf.

POST/seller/categoriesAuth

Erstellt eine Kategorie.

Anfragekörper

{
  "name": "Clothing", "slug": "clothing",
  "description": "...", "sortOrder": 0, "active": true, "parentId": null
}
PATCH/seller/categories/{id}Auth

Aktualisiert eine Kategorie.

DELETE/seller/categories/{id}Auth

Löscht eine Kategorie.

POST/seller/categories/{id}/auto-translateAuth

Übersetzt die Kategorie automatisch mittels KI.

Verkäufer - Bestellungen

Bestellungen anzeigen und verwalten, Workflow-Übergänge verarbeiten.

GET/seller/ordersAuth

Listet Bestellungen Ihres Shops auf.

Parameter

pageint- Seitennummer
limitint- Einträge pro Seite
searchstring- Suchanfrage
GET/seller/orders/{id}Auth

Ruft Bestelldetails ab, einschließlich Artikel, Versandinformationen und verfügbare Workflow-Übergänge.

GET/seller/orders/{id}/workflowAuth

Ruft verfügbare Workflow-Übergänge für eine Bestellung ab.

Antwort

{
  "currentStatus": "paid",
  "availableTransitions": [
    { "name": "process", "label": "Process order" },
    { "name": "ship", "label": "Mark as shipped" }
  ]
}
POST/seller/orders/{id}/workflow/transitionAuth

Wendet einen Workflow-Übergang an (z.B. bearbeiten, versenden, liefern, stornieren, erstatten).

Anfragekörper

{ "transition": "ship" }
POST/seller/orders/{id}/shipmentAuth

Fügt Sendungsverfolgungsinformationen hinzu.

Anfragekörper

{
  "carrier": "DHL",
  "trackingNumber": "1234567890",
  "trackingUrl": "https://tracking.dhl.com/..."
}
POST/seller/orders/{id}/confirm-paymentAuth

Bestätigt manuell eine Banküberweisung.

GET/seller/orders/{id}/invoiceAuth

Lädt die Bestellrechnung als PDF herunter.

Verkäufer - Medien

Bilder für Shop, Produkte und Kategorien hochladen und verwalten. Verwenden Sie multipart/form-data für Datei-Uploads.

POST/seller/shops/me/logoAuth

Shop-Logo hochladen (multipart/form-data).

DELETE/seller/shops/me/logoAuth

Shop-Logo löschen.

POST/seller/shops/me/bannerAuth

Shop-Banner hochladen (multipart/form-data).

DELETE/seller/shops/me/bannerAuth

Shop-Banner löschen.

POST/seller/shops/me/banner/from-urlAuth

Banner von einer externen URL festlegen.

Anfragekörper

{ "url": "https://images.unsplash.com/..." }
POST/seller/shops/me/favicon/generateAuth

Favicon automatisch aus Shop-Initialen oder Logo generieren.

Anfragekörper

{ "source": "initials" }
POST/seller/shops/me/faviconAuth

Benutzerdefiniertes Favicon hochladen (multipart/form-data).

DELETE/seller/shops/me/faviconAuth

Favicon löschen.

POST/seller/products/{id}/imagesAuth

Produktbild hochladen (multipart/form-data).

DELETE/seller/products/{productId}/images/{imageId}Auth

Produktbild löschen.

PUT/seller/products/{productId}/images/reorderAuth

Produktbilder neu anordnen.

Anfragekörper

{ "imageIds": [3, 1, 2] }
POST/seller/categories/{id}/imageAuth

Kategoriebild hochladen (multipart/form-data).

Verkäufer - Zahlungseinstellungen

Zahlungsanbieter konfigurieren (Stripe, Square, PayPal, Tara, Banküberweisung, Nachnahme).

GET/seller/shops/me/payment-settingsAuth

Ruft die Zahlungskonfiguration ab.

PATCH/seller/shops/me/payment-settingsAuth

Aktualisiert Zahlungsanbieter-Einstellungen und Zugangsdaten.

POST/seller/shops/me/payment-settings/validate-credentialsAuth

Überprüft Zahlungsanbieter-Zugangsdaten.

POST/seller/shops/me/payment-settings/toggle-test-modeAuth

Wechselt zwischen Test- und Produktivmodus.

Verkäufer - E-Mail-Einstellungen

Bestellbenachrichtigungs-E-Mails mit benutzerdefiniertem SMTP, Vorlagen und Übersetzungen anpassen.

GET/seller/shops/me/email-settingsAuth

Ruft die E-Mail-Konfiguration ab.

PATCH/seller/shops/me/email-settingsAuth

Aktualisiert E-Mail-Einstellungen (SMTP, Vorlage, Texte).

POST/seller/shops/me/email-settings/previewAuth

Vorschau der gerenderten E-Mail-Vorlage.

Anfragekörper

{ "type": "order_confirmation", "locale": "fr" }
POST/seller/shops/me/email-settings/send-testAuth

Sendet eine Test-E-Mail.

Anfragekörper

{ "type": "order_confirmation", "locale": "fr" }

Verkäufer - Newsletter

Abonnenten verwalten und Newsletter-Kampagnen versenden.

GET/seller/shops/me/newsletter/subscribersAuth

Listet Newsletter-Abonnenten auf.

Parameter

pageint- Seitennummer
searchstring- Suchanfrage
POST/seller/shops/me/newsletter/sendAuth

Sendet eine Newsletter-Kampagne an alle Abonnenten.

Anfragekörper

{
  "subject": "Spring Collection!",
  "htmlContent": "<h1>New arrivals...</h1>",
  "locale": "fr"
}
GET/seller/shops/me/newsletter/campaignsAuth

Listet gesendete Kampagnen auf.

POST/seller/shops/me/newsletter/generateAuth

Generiert Newsletter-Inhalte per KI.

Anfragekörper

{ "topic": "Spring sale", "locale": "fr", "tone": "friendly" }

Verkäufer - Benachrichtigungen

Echtzeit-Benachrichtigungen über Server-Sent Events (SSE) mit Polling-Fallback.

GET/seller/notificationsAuth

Listet Benachrichtigungen auf.

Parameter

pageint- Seitennummer
unread_onlybool- Nur ungelesene filtern
GET/seller/notifications/unread-countAuth

Ruft die Anzahl ungelesener Benachrichtigungen ab.

Antwort

{ "count": 5 }
PATCH/seller/notifications/{id}/readAuth

Markiert eine Benachrichtigung als gelesen.

POST/seller/notifications/mark-all-readAuth

Markiert alle Benachrichtigungen als gelesen.

GET/seller/notifications/streamAuth

Server-Sent Events Stream für Echtzeit-Benachrichtigungen. Halten Sie die Verbindung offen.

Verkäufer - KI-Tools

KI-gestützte Tools zur Inhaltserstellung mit Claude und OpenAI.

POST/seller/shops/me/generate-descriptionAuth

Generiert per KI eine Shop-Beschreibung mit SEO-Optimierung und Übersetzungen.

Anfragekörper

{ "keywords": "artisanal jewelry, handmade, Paris" }
POST/seller/shops/me/generate-legalAuth

Generiert per KI rechtliche Dokumente (AGB, Datenschutz, etc.).

Anfragekörper

{ "type": "cgv", "locale": "fr" }
POST/seller/shops/me/ai-bannerAuth

Suche nach KI-kuratierten Banner-Bildern.

Anfragekörper

{ "keywords": "fashion boutique modern" }
POST/seller/shops/me/ai-logoAuth

Generiert ein Shop-Logo per KI.

POST/seller/products/ai-generateAuth

Generiert ein vollständiges Produktlisting per KI.

Anfragekörper

{ "name": "Organic Cotton T-Shirt" }
POST/seller/products/{id}/social-captionAuth

Generiert per KI eine Social-Media-Beschriftung für ein Produkt.

Anfragekörper

{ "platform": "instagram", "locale": "fr" }
POST/seller/shops/me/auto-translateAuth

Übersetzt automatisch alle Shop-Inhalte in unterstützte Sprachen.

POST/seller/transcribeAuth

Transkribiert eine Audiodatei in Text (multipart/form-data).

Webhooks

Webhook-Endpoints der Zahlungsanbieter. Diese werden von Zahlungsanbietern aufgerufen, um Transaktionen zu bestätigen.

Die folgenden Webhook-URLs sind pro Zahlungsanbieter konfiguriert:

POST /webhooks/stripe

POST /webhooks/paypal

POST /webhooks/flutterwave

POST /webhooks/cinetpay

POST /webhooks/orange_money

POST /webhooks/mtn_momo

Diese Endpoints sind für die interne Verwendung durch Zahlungsanbieter bestimmt. Sie müssen sie nicht direkt aufrufen.

Fehlerbehandlung

Alle Fehler folgen einem einheitlichen JSON-Format mit lokalisierten Meldungen.

{
  "code": 401,
  "message": "Invalid credentials"
}

// validation:
{
  "error": "This email is already in use"
}

HTTP-Statuscodes

200 Erfolg
201 Erstellt
204 Gelöscht (kein Inhalt)
400 Validierungsfehler
401 Nicht authentifiziert
403 Verboten
404 Nicht gefunden
500 Serverfehler

Nutzungslimits

Richtlinien zur API-Nutzung.

Bitte nutzen Sie die API verantwortungsvoll. Allgemeine Richtlinien:

  • Öffentliche Endpoints: kein hartes Limit, aber vermeiden Sie übermäßiges Polling
  • Authentifizierte Endpoints: für Einzel-Shop-Nutzungsmuster konzipiert
  • KI-Endpoints: unterliegen den Limits der Upstream-Anbieter, sparsam verwenden
  • SSE-Stream: nur eine Verbindung pro Sitzung aufrechterhalten
  • Datei-Uploads: maximal 10 MB pro Datei

Für Integrationen mit hohem Volumen kontaktieren Sie uns bitte.

© 2026 Shopisim. Alle Rechte vorbehalten.

Interaktive Swagger-UI ebenfalls verfügbar unter /api/doc