POS-, OMS- und ERP-Integration
Verbinden Sie Ihre bestehenden Systeme – Kassensysteme, Auftragsverwaltung und ERP – mit SocialHub Loyalty. Konfigurieren Sie einen verwalteten Connector für SAP, Dynamics 365, Manhattan Active Omni, IBM Sterling oder Salesforce in der App – oder integrieren Sie ein beliebiges anderes System über denselben verwalteten v2 REST API, der mit einem Mandantenschlüssel authentifiziert, pro Endpunkt begrenzt und bei jedem Aufruf protokolliert wird.
Ein API, drei Systemtypen
Jede der folgenden Integrationen ist die v2 REST API über HTTPS mit einem Authorization: Bearer fl_live_…-Mandantenschlüssel. Verwenden Sie einen schreibgeschützten Schlüssel für den Abgleich und einen schreibgeschützten Schlüssel nur dort, wo Sie Punkte vergeben oder Gutscheine einlösen. Für E-Commerce-Plattformen (Shopify, Amazon, TikTok Shop) werden die nativen Kanalkonnektoren bevorzugt – diese Anleitung richtet sich an Systeme ohne einen solchen Konnektor.
Point of Sale
Verwandeln Sie Ihren Einkauf im Geschäft in Treuepunkte: Sammeln Sie Punkte für den Kauf und lösen Sie Coupons an der Kasse ein.
OMSAuftragsverwaltung
Lassen Sie Online- und Omnichannel-Bestellungen anhand Ihrer Bestellnummern Punkte sammeln – und Retouren zurückfordern.
ERPEnterprise Resource Planning (ERP)
Aktualisieren Sie Ihre Filial- und Mitgliederdatenbank (Upsert by your) externalIdund gleichen Sie die Daten schrittweise mit Ihrem Stammdatensystem ab.
Verwaltete Konnektoren
Für fünf Unternehmenssysteme ist keine manuelle Integration erforderlich. Konfigurieren Sie einfach eine Verbindung unter Daten & Integrationen (Endpunkt + verschlüsselte Anmeldeinformationen), verifizieren Sie diese und führen Sie einen Testlauf durch. Jeder Konnektor normalisiert die Bestellungen, Kunden und Produkte des Anbieters und leitet sie über denselben unten beschriebenen API weiter – mit denselben Gültigkeitsbereichen, derselben Idempotenz und demselben verwalteten Datenfluss. Jeder Konnektor ist mit dem Validierungsstand gekennzeichnet.
Salesforce – CRM/OMS
Mit Testdaten validiertBestellung / Retoure / Konto-Kontakt / Produkt 2 via REST + SOQL; Client-Anmeldeinformationen OAuth.
SAP S/4HANA – ERP
Mit Testdaten validiertVerkaufsauftrag / Geschäftspartner / Produktstammdaten über die OData A2X-Dienste; BTP OAuth.
Dynamics 365 – ERP/CRM
Mit Testdaten validiertDataverse (CE) validiert; Finanzen und Betrieb eingerüstet. Entra-ID OAuth.
Manhattan Active Omni – OMS
Validierung durch DesignpartnerBestellung/Rückgabe/Kunde; Zuordnungen gemäß dem Schnittstellen-Mapping-Dokument Ihres Mandanten.
IBM Sterling – OMS
Validierung durch DesignpartnergetOrderList / kehrt über den Umschlag REST API zurück; Statuscodes, die für Ihre Pipeline konfiguriert sind.
Mit Testdaten validiert: Die Zuordnungen wurden anhand der veröffentlichten API des Anbieters erstellt und geprüft; bei Ihrer ersten Bereitstellung werden sie in der realen Umgebung validiert und bestätigt. In Validierung mit einem Entwicklungspartner: Die Zuordnungen werden beim Onboarding anhand des Integrationsdokuments Ihres Mandanten fertiggestellt. Hier nicht aufgeführte Systeme lassen sich direkt über die unten beschriebene API integrieren.
Kundendaten- und Marketinganreicherung
Eine von der Auftragserfassung getrennte Funktion: Verbinden Sie die Plattform, auf der Ihre Kundenprofile bereits gespeichert sind, und Flash reichert jede E-Mail zum Zeitpunkt des Versands mit Merkmalen pro Empfänger an (Name, Lebenszyklusphase, benutzerdefinierte Attribute). Es handelt sich um eine schreibgeschützte Suche per E-Mail – es werden niemals Mitglieder erstellt oder personenbezogene Daten offengelegt. Konfigurieren Sie eine Verbindung in Daten & Integrationen, und jede Verbindung wird in dem Moment, in dem Sie sie speichern, anhand Ihrer Live-Anmeldeinformationen überprüft.
CDP
Salesforce Daten-Cloud · Segment · Adobe Erlebnisplattform
CRM
HubSpot · Microsoft Dynamics 365
Marketing
Braze · Klaviyo · Iterierbar
Die Authentifizierung erfolgt anbieterspezifisch – entweder über einen API-Schlüssel, einen privaten Schlüssel oder OAuth2-Client-Anmeldeinformationen (bei OAuth ruft Flash bei jedem Durchlauf ein neues Zugriffstoken ab, sodass kein dauerhaftes Token gespeichert wird). Die Anmeldeinformationen werden im Ruhezustand verschlüsselt und niemals wieder angezeigt.
POS-Integration
Das Kassensystem wandelt einen Kauf mit einem einzigen Aufruf in Treuepunkte um: Der Verkauf wird als Bestellung erfasst und SocialHub löst das Mitgliedskonto (über Ihre Daten) auf. externalId, E-Mail oder memberId) und vergibt Punkte gemäß den eigenen Verdienstregeln des Programms. Suchen oder erstellen Sie das Mitglied bei Bedarf anhand Ihres eigenen Schlüssels.
Prämie bei einem Verkauf (nach der Bestellung)
// One call: post the sale as an order. SocialHub resolves the member, applies the
// program's earn rules (tier multiplier + daily cap) and records the order — you
// don't compute points. The member is resolved by memberId > externalId > email.
POST https://flash.socialhub.ai/api/v2/orders
Authorization: Bearer fl_live_…
Idempotency-Key: pos-90871 // safe retries — one sale never awards twice
Content-Type: application/json
{
"externalOrderId": "90871",
"customer": { "externalId": "POS-CUST-5512" }, // or { "email": "…" } / { "memberId": "…" }
"totalAmount": 120.00,
"storeId": "st_…"
}
// → 200 { "data": { "awarded": 6, "balance": 1820, "memberId": "mem_…" } }
// Not a member yet → { "awarded": 0, "reason": "not-a-member" } (never auto-created).Suchen oder erstellen Sie das Mitglied
// Look up a member by your own key or email (exact match), or create one:
GET https://flash.socialhub.ai/api/v2/members?externalId=POS-CUST-5512 // or ?email=ada@acme.com
// → 200 { "data": [ { "id": "mem_…", "externalId": "POS-CUST-5512", … } ], "total": 1 }
POST https://flash.socialhub.ai/api/v2/members // create/upsert (marketing consent stays OFF)
{ "email": "ada@acme.com", "fullName": "Ada Lovelace", "externalId": "POS-CUST-5512" }
// → 201 created / 200 existing (idempotent on externalId)Lösen Sie einen Coupon an der Kasse ein.
// Cashier scans the member's coupon code → mark it redeemed at the register.
POST https://flash.socialhub.ai/api/v2/coupons/{couponId}/redeem
Authorization: Bearer fl_live_…
// → 200 redeemed
// → 404 coupon not found / already redeemed (treat as "do not honor")Den Kontostand, die Stufe und die Coupons eines Mitglieds mit GET /members/{id}/points, /tier und /coupons abrufen und an der Kasse anzeigen.
Integration der Auftragsverwaltung
Bei E-Commerce-Plattformen mit einem nativen Connector (Shopify, Amazon, TikTok Shop) schalten Sie ihn ein und fertig. Veröffentlichen Sie bei jedem anderen Auftragsverwaltungssystem Ihre Bestellereignisse unter „Bestellungen“ API – nehmen Sie automatische Prämien gemäß den Programmregeln auf und erstatten Sie Claw-Punkte anteilig zurück. Ihr OMS leitet die Anrufe (kein eingehender Webhook erforderlich).
Bestellungen verdienen; Rückerstattungen zurückfordern
// On Shopify / Amazon / TikTok Shop? Use the NATIVE channel connectors (Settings →
// Channels). For any OTHER OMS, your system calls these on its own order events.
//
// order paid / fulfilled → ingest (auto-awards by the program's earn rules):
POST https://flash.socialhub.ai/api/v2/orders
Idempotency-Key: SO-44821
{ "externalOrderId": "SO-44821", "customer": { "email": "ada@acme.com" }, "totalAmount": 240.00 }
// → 200 { "data": { "awarded": 12, "memberId": "mem_…" } }
// Same id + a DIFFERENT amount → 409 ORDER_CONFLICT (orders are immutable).
// order returned / refunded → proportional points claw-back, idempotent per refund:
POST https://flash.socialhub.ai/api/v2/orders/SO-44821/refund
{ "refundId": "re_1", "reason": "returned 1 item", "amount": 80.00 } // omit amount = full
// → 200 { "data": { "clawedBack": 4, "balance": 1816 } }
// Backfill / bulk: POST /orders/batch (≤100, 207 Multi-Status, per-item results).Noch kein Mitglied? Anzahl der Ingest-Ergebnisse: 0 / reason:not-a-member (wird nie automatisch erstellt). Registrieren Sie sie mit POST. /members zuerst, wenn Sie möchten, dass die Bestellung Einnahmen generiert.
ERP- und Stammdatenintegration
Halten Sie die Loyalität in beide Richtungen mit Ihrem Aufzeichnungssystem in Einklang: Pushen Sie Ihren Shop- und Mitgliederstamm (idempotente Aktualisierung durch Ihre externalId) und führen Sie dann einen inkrementellen Abgleich mit ?updatedSince= durch, sodass bei jeder Synchronisierung nur das abgerufen wird, was sich geändert hat.
Drücken Sie den Ladenmeister
// Push your store master to SocialHub (upsert by your ERP store code):
POST https://flash.socialhub.ai/api/v2/stores
{ "name": "Downtown Flagship", "externalId": "ERP-STORE-018", "city": "New York" }
// → 201 created / 200 updated (idempotent on externalId)
// PUT /api/v2/stores/{id} updates a known store. GET to reconcile / pull ids.Mitglieder pushen und schrittweise abgleichen
// Push the member master (idempotent upsert by your externalId; consent OFF unless
// you explicitly opt in). Nightly full re-push is safe — existing members update.
POST https://flash.socialhub.ai/api/v2/members/batch // ≤100 per call, 207 Multi-Status
{ "members": [ { "email": "ada@acme.com", "fullName": "Ada Lovelace", "externalId": "ERP-7741" } ] }
// Incremental reconcile — only what changed since your last sync:
GET https://flash.socialhub.ai/api/v2/members?updatedSince=2026-06-26T00:00:00Z&limit=200
GET https://flash.socialhub.ai/api/v2/orders?updatedSince=2026-06-26T00:00:00Z // orders too
// For governed business metrics (GMV, redemption, active members) into BI, query the
// semantic layer over MCP (metrics:read) instead of aggregating raw rows yourself.Produktkatalog (PIM) bereitstellen
// Push your product catalog (idempotent upsert by your own external_id). One
// endpoint takes brands, categories, products, variants and inventory together.
POST https://flash.socialhub.ai/api/v2/catalog/import
{ "source": "erp",
"brands": [ { "externalId": "B-AURELIA", "name": "Aurelia" } ],
"categories": [ { "externalId": "C-RINGS", "name": "Rings" } ],
"products": [ { "externalId": "P-9001", "title": "Solitaire Ring",
"brandExternalId": "B-AURELIA", "categoryExternalId": "C-RINGS",
"descriptionHtml": "<p>18k…</p>",
"content": [ { "externalId": "P-9001-spec", "contentType": "spec",
"body": "1.0ct, 18k white gold, GIA" } ] } ],
"variants": [ { "externalId": "V-9001-7", "productExternalId": "P-9001",
"sku": "AUR-RING-7", "price": 4200 } ],
"inventory": [ { "variantSku": "AUR-RING-7", "locationRef": "WH-1", "available": 12 } ] }
// → 200 with per-entity {inserted,updated} + errors[] (a bad row never aborts the batch).
// On Shopify? Products map in automatically — images + rich descriptions included.
// Read back: GET /api/v2/products · /products/{id} · /categories · /brandsBatch ≤100/Aufruf (207 Ergebnisse mit mehreren Status pro Artikel); beachten Sie das Limit pro Tastendruck und führen Sie vollständige Resynchronisierungen außerhalb der Spitzenzeiten durch. Der Katalogimport erfolgt extern – SocialHub schreibt niemals Produkte zurück in Ihr ERP-System.
Authentifizierung, Geltungsbereich & Sicherheit
Mandantenbezogene Schlüssel
Jeder Anruf enthält einen fl_live_-Schlüssel, der einem Team zugeordnet ist. Schlüssel sind mandantenübergreifend; erstellen Sie separate Schlüssel pro Integration, damit Sie einen Schlüssel wechseln können, ohne die anderen zu beeinträchtigen.
Voreinstellungen für Lesen und Schreiben
Abstimmungsprozesse verwenden einen schreibgeschützten Schlüssel. Gewähren Sie Schreibrechte nur dem POS/OMS-Pfad, der Punkte vergibt oder Gutscheine einlöst – minimale Berechtigungen pro System.
Idempotenz-Schlüssel
Sende beim Schreiben einen Idempotenzschlüssel-Header (Aufträge enthalten ihren eigenen) externalOrderId (ebenso). Ein erneuter Aufruf liefert das ursprüngliche Ergebnis; derselbe Schlüssel mit einer anderen Nutzlast wird abgelehnt – ein Verkauf wird niemals zweimal vergeben.
Standardmäßig geprüft
Jeder API-Aufruf wird protokolliert und ist unter API Schlüssel → Letzte Aktivitäten sichtbar. So sind die Schreibvorgänge einer Integration immer einem Schlüssel zuzuordnen.
Vollständige Endpunktreferenz: REST API · Schnellstart · MCP (Metriken in BI)
Ein Backend-System integrieren?
Sprechen Sie mit einem Techniker über Ihr Kassensystem (POS/OMS/ERP), die Kundenidentifizierung an der Kasse, die Retourenabwicklung oder Abstimmungsprozesse.
Sprechen Sie mit der Technik