Przejdź do głównej treści
← Wróć do CutOptim ConfiguratorWłasna platforma

Integracja zamówień na cięcie na wymiar z własnym sklepem lub ERP

CutOptim Configurator łączy się z własnym sklepem lub ERP przez dwie weryfikacje na Twoim serwerze: podpisaną wycenę i podpisany webhook. Oba to zwykły HMAC-SHA256, który zweryfikuje każdy język, a przykłady referencyjne w Node i PHP pokazują, jak to zrobić.

Krótka odpowiedź

Aby przyjmować zamówienia z konfiguratora we własnej platformie, Twój serwer robi dwie rzeczy. Weryfikuje podpisaną wycenę, zanim pozycja trafi do koszyka, i weryfikuje podpisany webhook, zanim zapisze zamówienie. CutOptim nie pobiera płatności i nie hostuje sklepu: koszyk, płatność i rekord zamówienia zostają u Ciebie.

Dwie weryfikacje, obie na Twoim serwerze

Własna platforma nie ma wtyczki, na której mogłaby się oprzeć, więc zaufanie opiera się na dwóch podpisach. Przeglądarka może pokazać cenę, ale tylko Twój serwer decyduje, czy jej uwierzyć.

ChwilaCo przychodziCo sprawdza Twój serwer
Klient zamawia na stronieZdarzenie cutoptim:order z zamówieniem i podpisaną wycenąToken wyceny, z Twoim kluczem tajnym pod /cfg/v1/quote/verify
Zamówienie zostaje złożonePodpisany webhook na zarejestrowany przez Ciebie adresPodpis, pięciominutowe okno czasowe i identyfikator zdarzenia
Ponowna próba lub ponowne wysłanieTo samo zdarzenie jeszcze razNic nowego: identyfikator zdarzenia jest już zapisany

Sprawdź wycenę przed koszykiem

Token wyceny to obietnica ceny. Twój serwer pyta CutOptim, czy jest autentyczny, nieprzeterminowany i jeszcze niewykorzystany, a potem porównuje jego oświadczenia z pozycją koszyka.

  1. Odbierz zamówienie

    Strona przekazuje Twojemu skryptowi zdarzenie cutoptim:order z zamówieniem i jego tokenem wyceny.

  2. Zapytaj CutOptim

    Twój serwer wysyła token pod /cfg/v1/quote/verify z Twoim kluczem tajnym. Odpowiedź mówi, czy jest ważny, czy użyło go już jakieś zamówienie i jakie oświadczenia niesie.

  3. Porównaj oświadczenia

    Najemca, waluta, termin ważności i skrót wycenionych pozycji muszą zgadzać się z pozycją, którą chcesz dodać. Wszystko inne jest odrzucane.

  4. Dodaj albo odrzuć

    Do koszyka trafia tylko token, który przejdzie weryfikację. Cena zmieniona w przeglądarce odpada tutaj.

Klucz podpisujący nigdy nie jest wydawany sklepom. Lokalne sprawdzenie kształtu i ważności tokenu oszczędza jedno zapytanie, ale podpis potwierdzi wyłącznie /cfg/v1/quote/verify.

Odbieraj zamówienia przez webhook

Gdy zamówienie zostaje złożone, CutOptim wysyła je na zarejestrowany przez Ciebie adres, podpisane, byś mógł poznać, że pochodzi od nas.

  • — Nagłówek CutOptim-Signature niesie znacznik czasu t i podpis v1: HMAC-SHA256 znacznika czasu, kropki i surowej treści.
  • — Weryfikuj surowe bajty dokładnie tak, jak przyszły; treść sparsowana i zapisana ponownie już się nie zgadza.
  • — Odrzucaj znacznik czasu starszy lub nowszy niż pięć minut i porównuj podpisy w stałym czasie.
  • — Zapisz identyfikator zdarzenia i odpowiadaj sukcesem na identyfikator, który już znasz: ponowna próba go powtarza.

Kod referencyjny w Node i PHP

Dwa małe przykłady robią dokładnie to, bez frameworka i bez zależności: moduł Node i pojedynczy plik PHP. Skopiuj ten, który pasuje, zastąp magazyn w pamięci tabelą z unikalnym kluczem na identyfikatorze zdarzenia i trzymaj sekrety w środowisku.

Kod referencyjny: weryfikacja webhooka (Node)
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();

Co zostaje u Ciebie

Konfigurator wycenia i planuje cięcie; Twoja platforma zachowuje wszystko, co następuje potem.

  • — Koszyk, kasa i płatność: CutOptim nie pobiera płatności.
  • — Rekord zamówienia i jego realizacja, w Twojej bazie danych lub ERP.
  • — Twoi klienci i strony Twojego sklepu: nie ma hostowanego sklepu.

Uruchom bezpłatny sandbox w konsoli, aby dostać klucze i sekret webhooka. Przykłady referencyjne pobierzesz na tej stronie.

Gdzie to pasuje

Każdy system, który potrafi przyjąć żądanie HTTPS i obliczyć HMAC, może przyjmować te zamówienia: sklep napisany we własnym zakresie, headless storefront, narzędzie do wycen albo ERP. Jeśli potrzebujesz samego silnika rozkroju, bez ekranu zamówień, służy do tego Engine API.

Najczęstsze pytania

Czy potrzebuję wtyczki, żeby podłączyć własną platformę?
Nie. Własna platforma potrzebuje dwóch weryfikacji na swoim serwerze, podpisanej wyceny i podpisanego webhooka, a przykłady w Node i PHP pokazują obie. Nie ma kodu CutOptim, który trzeba by instalować w Twoim sklepie.
Skąd wiem, że cena nie została zmieniona w przeglądarce?
Twój serwer wysyła token wyceny pod /cfg/v1/quote/verify z Twoim kluczem tajnym i porównuje jego oświadczenia z pozycją koszyka. Token zmieniony lub przeterminowany jest zgłaszany jako nieważny. Token, który zamówienie już wykorzystało, pozostaje ważny, ale wraca z redeemed: true: sprawdzaj oba pola i prowadź własny rejestr wykorzystanych tokenów.
Co się stanie, jeśli mój endpoint nie działa, gdy przyjdzie zamówienie?
CutOptim ponawia dostarczenie według rosnącego harmonogramu, do sześciu prób w ciągu kilku godzin. Każda ponowna próba niesie ten sam identyfikator zdarzenia, więc odbiorca zapisujący identyfikatory przetworzy zamówienie tylko raz.
Czy CutOptim pobiera płatność lub hostuje mój sklep?
Nie. Konfigurator wycenia i planuje cięcie oraz przekazuje podpisane zamówienie Twojej platformie. Koszyk, płatność i realizacja zostają w Twoim własnym systemie.
Jakie języki programowania obejmują przykłady?
Node i PHP. Podpis to zwykły HMAC-SHA256 nad surową treścią, więc te same kilka linijek działa w Pythonie, Javie, C# i każdym innym języku z biblioteką kryptograficzną.

Powiązane kalkulatory, poradniki i branże

Więcej o konfiguratorze

Potrzebujesz tylko silnika rozkroju? Zobacz Engine API

Informacje prawneWarunki konfiguratora (EN) ·Umowa powierzenia przetwarzania danych (EN) ·Informacja o prywatności dla kupujących ·Licencje stron trzecich (EN)