Schnittstelle für Zuschnittbestellungen in Ihren eigenen Shop oder Ihr ERP
Der CutOptim Configurator wird über zwei Prüfungen auf Ihrem Server an einen eigenen Shop oder ein ERP angebunden: das signierte Angebot und den signierten Webhook. Beides ist schlichtes HMAC-SHA256, jede Sprache kann es prüfen, und Referenzbeispiele in Node und PHP zeigen, wie.
Kurz erklärt
Um Bestellungen des Konfigurators in einer eigenen Plattform anzunehmen, tut Ihr Server zwei Dinge. Er prüft das signierte Angebot, bevor eine Position in den Warenkorb kommt, und er prüft den signierten Webhook, bevor er eine Bestellung speichert. CutOptim zieht keine Zahlung ein und betreibt keinen Shop: Warenkorb, Zahlung und Bestelldatensatz bleiben bei Ihnen.
Zwei Prüfungen, beide auf Ihrem Server
Eine eigene Plattform hat kein Plug-in, auf das sie sich stützen kann, also liegt das Vertrauen in zwei Signaturen. Der Browser kann einen Preis anzeigen, aber nur Ihr Server entscheidet, ob er ihm glaubt.
| Zeitpunkt | Was ankommt | Was Ihr Server prüft |
|---|---|---|
| Der Kunde bestellt auf der Seite | Das Ereignis cutoptim:order mit Bestellung und signiertem Angebot | Das Angebots-Token, mit Ihrem geheimen Schlüssel bei /cfg/v1/quote/verify |
| Die Bestellung wird aufgegeben | Ein signierter Webhook an die von Ihnen hinterlegte Adresse | Die Signatur, das Fünf-Minuten-Fenster und die Ereignis-ID |
| Eine Wiederholung oder erneute Zustellung | Dasselbe Ereignis noch einmal | Nichts Neues: die Ereignis-ID ist bereits gespeichert |
Das Angebot vor dem Warenkorb prüfen
Das Angebots-Token ist das Preisversprechen. Ihr Server fragt CutOptim, ob es echt, nicht abgelaufen und noch nicht eingelöst ist, und vergleicht dann seine Angaben mit der Warenkorbposition.
Bestellung empfangen
Die Seite übergibt Ihrem Skript das Ereignis cutoptim:order mit der Bestellung und ihrem Angebots-Token.
CutOptim fragen
Ihr Server sendet das Token mit Ihrem geheimen Schlüssel an /cfg/v1/quote/verify. Die Antwort sagt, ob es gültig ist, ob eine Bestellung es schon verbraucht hat und welche Angaben es trägt.
Angaben vergleichen
Mandant, Währung, Ablauf und der Hash der bepreisten Positionen müssen zur Position passen, die Sie hinzufügen wollen. Alles andere wird abgelehnt.
Hinzufügen oder ablehnen
Nur ein Token, das besteht, erreicht den Warenkorb. Ein im Browser geänderter Preis scheitert hier.
Der Signaturschlüssel wird nie an Shops ausgegeben. Form und Ablauf eines Tokens lokal zu prüfen spart eine Anfrage, aber nur /cfg/v1/quote/verify kann die Signatur bestätigen.
Die Bestellung per Webhook empfangen
Wird eine Bestellung aufgegeben, sendet CutOptim sie an die von Ihnen hinterlegte Adresse, signiert, damit Sie erkennen, dass sie von uns kommt.
- — Der Header CutOptim-Signature trägt einen Zeitstempel t und eine Signatur v1: ein HMAC-SHA256 über Zeitstempel, Punkt und rohen Body.
- — Prüfen Sie die rohen Bytes genau so, wie sie ankommen; ein Body, der geparst und wieder ausgegeben wurde, passt nicht mehr.
- — Lehnen Sie einen Zeitstempel ab, der mehr als fünf Minuten alt oder neu ist, und vergleichen Sie Signaturen in konstanter Zeit.
- — Speichern Sie die Ereignis-ID und antworten Sie mit Erfolg auf eine bekannte ID: eine Wiederholung sendet sie erneut.
Referenzcode in Node und PHP
Zwei kleine Beispiele leisten genau das, ohne Framework und ohne Abhängigkeit: ein Node-Modul und eine einzelne PHP-Datei. Kopieren Sie das passende, ersetzen Sie den Speicher im Arbeitsspeicher durch eine Tabelle mit eindeutigem Schlüssel auf der Ereignis-ID und halten Sie Ihre Geheimnisse in der Umgebung.
import { createWebhookReceiver } from './cutoptim-verify.mjs';
const receive = createWebhookReceiver({
secrets: [process.env.WEBHOOK_SECRET], // whsec_... from the admin route, never in the repository
async onEvent(event) { /* store event.data.order, keyed by event.id */ },
});
// in your HTTP handler - the RAW body, not parsed JSON:
const { status } = await receive({ rawBody, headers: req.headers });
res.writeHead(status).end();Was bei Ihnen bleibt
Der Configurator berechnet Preis und Zuschnittplan; Ihre Plattform behält alles, was danach kommt.
- — Warenkorb, Kasse und Zahlung: CutOptim zieht keine Zahlung ein.
- — Der Bestelldatensatz und seine Abwicklung, in Ihrer Datenbank oder Ihrem ERP.
- — Ihre Kunden und Ihre Shopseiten: es gibt keinen gehosteten Shop.
Starten Sie in der Konsole eine kostenlose Sandbox, um Ihre Schlüssel und Ihr Webhook-Geheimnis zu erhalten. Die Referenzbeispiele können Sie auf dieser Seite herunterladen.
Wo es passt
Jedes System, das eine HTTPS-Anfrage empfangen und einen HMAC berechnen kann, kann diese Bestellungen annehmen: ein selbst gebauter Shop, ein Headless-Frontend, ein Angebotswerkzeug oder ein ERP. Brauchen Sie nur die Zuschnitt-Engine und nicht die Bestelloberfläche, ist die Engine API dafür da.
Häufige Fragen
Brauche ich ein Plug-in, um meine eigene Plattform anzubinden?
Woher weiß ich, dass ein Preis im Browser nicht verändert wurde?
Was passiert, wenn mein Endpunkt bei einer Bestellung nicht erreichbar ist?
Zieht CutOptim die Zahlung ein oder hostet es meinen Shop?
Welche Programmiersprachen decken die Beispiele ab?
Passende Rechner, Ratgeber und Branchen
Mehr zum Konfigurator
Der Zuschnitt-Konfigurator für Ihren Webshop – Zuschnittplan und Preis live, Bestellungen direkt in Ihren Shop.
Teile in einem Demo-Shop eingeben und zusehen, wie sich Zuschnittplan und Preis beim Tippen ändern.
Eine Zeile Code; auf der Seite, als Pop-up, Seitenleiste oder eigene Seite – in Ihrer Marke.
Je Platte, je m², je Meter Schnitt, Kanten, Bearbeitungen, Mehrwertsteuer und Mindestwert – Ihre Preise, live.
Vom Schrank, Regal oder Kleiderschrank aus starten: Teile, Plan und Preis folgen dem Maß.
Plattenhändler, Zuschnittbetriebe und Plattenshops: Kunden bestellen online, mit Live-Plan und Ihren Preisen.
Ein Zuschnitt-Button an Ihren WooCommerce-Produkten; nur ein geprüftes Angebot wird zur Warenkorbposition.
Die serverseitigen Prüfungen für einen Shop oder ein ERP ohne Plug-in.
Sie brauchen nur die Zuschnitt-Engine? Zur Engine API
RechtlichesKonfigurator-Bedingungen (EN) ·Auftragsverarbeitungsvertrag (EN) ·Datenschutzhinweis für Käufer ·Drittanbieter-Lizenzen (EN)