Zamówienie zaczyna się, gdy Twój klient potwierdza wycenę w konfiguratorze. Od tej chwili jest zapisanym, podpisanym rekordem, a CutOptim informuje Cię o nim na dwa sposoby.
Czym jest zamówienie
Dokument zamówienia zawiera listę cięcia, użyte pełne płyty, okucia, panele klejone, plan cięcia oraz wycenę z jej pozycjami i sumami w całych najmniejszych jednostkach waluty (minor units). Jest podpisany, więc nie można go później zmienić. Dwukrotne wysłanie tego samego żądania zamówienia zwraca to samo zamówienie, nigdy drugie.
Ponieważ cena pochodziła z Twoich opublikowanych reguł na serwerze, Twój sklep nie ufa w tej sprawie przeglądarce. Zanim Twój koszyk przyjmie pozycję, Twój serwer prosi CutOptim o weryfikację wyceny za pomocą klucza tajnego. Gotowym sposobem jest wtyczka WooCommerce; dla innych sklepów zobacz platformy niestandardowe.
Dostarczanie przez webhook
Dodaj webhook do listy channels.webhooks swojej konfiguracji (kategoria Advanced, edytor JSON) i opublikuj. Każdy wpis ma id, url i events, które chcesz otrzymywać. Adres URL musi być publicznym adresem HTTPS; adresy prywatne, lokalne i wewnętrzne są odrzucane przy zapisie i ponownie przy wysyłaniu. Wysyłane są dwa zdarzenia:
- order.created, gdy klient składa zamówienie.
- order.status_changed, gdy przenosisz zamówienie do nowego statusu.
Każde dostarczenie to POST z kanoniczną treścią JSON i następującymi nagłówkami: CutOptim-Signature, CutOptim-Event-Id, CutOptim-Event-Type, CutOptim-Delivery-Attempt i CutOptim-Delivery-Id. Podpis ma postać t=<unix seconds>,v1=<hex> i jest HMAC-SHA256 z <t>.<raw body> liczonym sekretem odbiorcy. Twój odbiorca powinien:
- odczytać surową treść przed jej parsowaniem;
- sprawdzić, że znacznik czasu mieści się w granicach kilku minut, i porównać podpis w stałym czasie;
- zaakceptować dowolną z kilku wartości
v1, które pojawiają się podczas rotacji sekretu; - szybko odpowiedzieć statusem 2xx i obsłużyć każdy identyfikator zdarzenia tylko raz.
Sekret odbiorcy jest ujawniany Twojemu serwerowi przez POST /cfg/v1/admin/webhooks/<id>/secret w usłudze, za pomocą klucza tajnego. Nie jest pokazywany w konsoli.
Odpowiedź inna niż 2xx, przekroczenie czasu lub przekierowanie jest liczone jako niepowodzenie. Ponowienia czekają 1, 5, 25 i 125 minut, a potem 6 godzin, a szósta nieudana próba oznacza dostarczenie jako martwe. Ponowne dostarczenie powtarza ten sam identyfikator zdarzenia, aby Twój odbiorca mógł je rozpoznać. Inne typy zdarzeń w konfiguracji, takie jak zdarzenia wyceny lub projektu, są akceptowane, ale nigdy nie są wysyłane.
W sekcji channels.email konfiguracji wymieniasz adresy odbiorców sklepu (tenantRecipients) i możesz włączyć kopię dla klienta (sendCustomerCopy). Wiadomość dla sklepu zawiera arkusz roboczy i PDF z etykietami; kopia dla klienta jest wysyłana tylko wtedy, gdy ją włączysz, a zamówienie zawiera odniesienie do klienta z zapisanym adresem, i odpowiedź na nią trafia do Twojego pierwszego odbiorcy. E-mail o statusie jest wysyłany tylko wtedy, gdy o to poprosisz przy zmianie statusu. Niepowodzenie wysyłki nigdy nie blokuje zamówienia. Sandbox wysyła pocztę tylko na potwierdzony adres właściciela i nigdy do klienta.
Konsola zamówień
Obszar Orders w konsoli wyświetla zamówienia według statusu i daty, a po otwarciu zamówienia pokazuje jego listę cięcia, pozycje cenowe, sumy i historię. Owner i admin widzą też dzienniki dostarczania webhooków i e-maili z przyciskiem Redeliver, który kolejkuje kopię zakończonego, nieudanego lub martwego dostarczenia. Dostarczenia oczekującego lub trwającego nie można dostarczyć ponownie.
Aby zmienić status, wybierasz następny status, dodajesz opcjonalną notatkę i decydujesz, czy wysłać klientowi e-mail. Dozwolone przejścia to:
| Z | Do |
|---|---|
| received (przyjęte) | confirmed (potwierdzone), cancelled (anulowane) |
| confirmed (potwierdzone) | in production (w produkcji), cancelled (anulowane) |
| in production (w produkcji) | shipped (wysłane), cancelled (anulowane) |
| shipped (wysłane) | completed (zrealizowane) |
Zamówienia zrealizowane i anulowane nie zmieniają statusu. Zamówienia nigdy nie są usuwane z konsoli; są dokumentami biznesowymi.
Strona śledzenia
Link śledzenia klienta pokazuje numer zamówienia, nazwę Twojego sklepu, kroki statusu z czasem każdego z nich, liczbę elementów i sumę, w jednym z dziesięciu języków. Nie pokazuje adresu ani e-maila, listy cięcia ani nigdy Twoich notatek i nie zawiera skryptów. Linku nie da się odgadnąć, należy do jednego zamówienia i wygasa 365 dni po zamówieniu. Jeśli potrzebujesz linku do rozmowy telefonicznej, Twój serwer może go zażądać za pomocą klucza tajnego; konsola go nie pokazuje.
Pliki produkcyjne
Każde zamówienie można pobrać jako siedem plików ze szczegółów zamówienia:
| Plik | Zastosowanie |
|---|---|
| Lista elementów (CSV) | elementy z wymiarami i ilościami |
| Rozmieszczenie (CSV) | gdzie leży każdy element na każdej płycie |
| Rysunek (SVG) | plan do obejrzenia lub wydruku |
| Rysunek CNC (DXF) | dla oprogramowania CNC |
| Etykiety (PDF) | etykiety elementów |
| Arkusz roboczy (PDF) | arkusz dla warsztatu |
| Wyciąg ERP (JSON) | dla Twojego systemu ERP |
Pliki PDF są odbudowywane z zamówienia i odrzucane, gdy planu nie da się dokładnie odtworzyć; wtedy pozostałe pliki są nadal dostępne. Pliki PDF są po angielsku. Nie ma eksportu Excel dla zamówienia, a zamówienia 1D ani drewna jeszcze nie istnieją, więc nic dla nich nie jest eksportowane.
Czego to nie obejmuje
- Konfigurator nie pobiera płatności; płatność i realizacja pozostają w Twoim sklepie.
- Nie ma zbiorczej zmiany statusu.
- Linku śledzenia nie można unieważniać pojedynczo; wygasa samoczynnie.