Sari la conținutul principal
Pe această pagină▾

O comandă începe când clientul tău confirmă o ofertă în Configurator. Din acel moment este o înregistrare stocată și semnată, iar CutOptim te anunță despre ea în două moduri.

Ce este o comandă

Un document de comandă conține lista de tăieri, plăcile întregi folosite, feroneria, panourile încleiate, planul de tăiere și oferta cu liniile și totalurile ei în unități monetare minore întregi. Este semnat, deci nu poate fi modificat ulterior. Trimiterea de două ori a aceleiași cereri de comandă returnează aceeași comandă, niciodată una a doua.

Deoarece prețul provine din regulile tale publicate, pe server, magazinul tău nu se bazează pe browser pentru el. Înainte ca coșul tău să accepte o linie, serverul tău îi cere lui CutOptim să verifice oferta cu cheia ta secretă. Calea gata făcută este plug-in-ul WooCommerce; pentru alte magazine vezi platformele proprii.

Livrarea prin webhook

Adaugă un webhook în lista channels.webhooks a configurației tale (categoria Advanced, editorul JSON) și publică. Fiecare intrare are un id, un url și events pe care le dorești. URL-ul trebuie să fie o adresă HTTPS publică; adresele private, locale și interne sunt refuzate la salvare și din nou la trimitere. Se trimit două evenimente:

  • order.created când un client plasează o comandă.
  • order.status_changed când muți o comandă într-o stare nouă.

Fiecare livrare este un POST cu un corp JSON canonic și aceste antete: CutOptim-Signature, CutOptim-Event-Id, CutOptim-Event-Type, CutOptim-Delivery-Attempt și CutOptim-Delivery-Id. Semnătura este t=<unix seconds>,v1=<hex>, un HMAC-SHA256 al lui <t>.<raw body> cu secretul receptorului. Receptorul tău ar trebui:

  1. să citească corpul brut înainte de a-l interpreta;
  2. să verifice că marcajul de timp se încadrează în câteva minute și să compare semnătura în timp constant;
  3. să accepte oricare dintre mai multe valori v1, care apar în timp ce un secret este rotit;
  4. să răspundă rapid cu un status 2xx și să trateze un id de eveniment o singură dată.

Secretul receptorului este dezvăluit serverului tău prin POST /cfg/v1/admin/webhooks/<id>/secret pe serviciu, cu cheia ta secretă. Nu este afișat în consolă.

Un răspuns non-2xx, o expirare a timpului sau o redirecționare contează ca eșec. Reîncercările așteaptă 1, 5, 25 și 125 de minute, apoi 6 ore, iar a șasea încercare eșuată marchează livrarea ca moartă (dead). O relivrare repetă același id de eveniment, astfel încât receptorul tău o poate recunoaște. Alte tipuri de evenimente din configurație, precum evenimentele de ofertă sau de proiect, sunt acceptate, dar nu sunt trimise niciodată.

E-mail

În secțiunea channels.email a configurației listezi adresele destinatarilor magazinului (tenantRecipients) și poți activa o copie pentru client (sendCustomerCopy). E-mailul magazinului poartă o fișă de lucru și un PDF cu etichete; copia pentru client pleacă doar dacă ai activat-o și comanda poartă o referință de client cu o adresă înregistrată, iar un răspuns la ea ajunge la primul tău destinatar. E-mailul de stare pleacă doar când îl ceri în timp ce schimbi o stare. O eroare de trimitere nu blochează niciodată comanda. Un sandbox trimite e-mail doar la adresa confirmată a proprietarului și niciodată unui client.

Consola de comenzi

Zona Orders a consolei listează comenzile după stare și dată și deschide o comandă pentru a-i arăta lista de tăieri, liniile de preț, totalurile și istoricul. Proprietarul și administratorul văd și jurnalele de livrare pentru webhook și e-mail, cu un buton Redeliver care pune în coadă o copie a unei livrări încheiate, eșuate sau moarte. O livrare care încă așteaptă sau rulează nu poate fi relivrată.

Pentru a schimba o stare, alegi starea următoare, adaugi o notă opțională și decizi dacă trimiți un e-mail clientului. Mutările permise sunt:

Din În
primită (received) confirmată (confirmed), anulată (cancelled)
confirmată (confirmed) în producție (in production), anulată (cancelled)
în producție (in production) expediată (shipped), anulată (cancelled)
expediată (shipped) finalizată (completed)

Comenzile finalizate și anulate nu se mai mută. Comenzile nu sunt șterse niciodată din consolă; sunt înregistrări comerciale.

Pagina de urmărire

Linkul de urmărire al clientului arată numărul comenzii, numele magazinului tău, pașii de stare cu momentul fiecăruia, numărul de piese și totalul, într-una din zece limbi. Nu arată nicio adresă sau e-mail, nicio listă de tăieri și niciodată notele tale, și nu are scripturi. Linkul nu poate fi ghicit, aparține unei singure comenzi și expiră la 365 de zile după comandă. Dacă ai nevoie de link pentru un apel telefonic, serverul tău îl poate cere cu cheia secretă; consola nu îl afișează.

Fișiere de producție

Fiecare comandă poate fi descărcată ca șapte fișiere din detaliile comenzii:

Fișier Utilizare
Part list (CSV) piesele cu dimensiuni și cantități
Placements (CSV) unde se află fiecare piesă pe fiecare placă
Drawing (SVG) planul, pentru vizualizare sau tipărire
CNC drawing (DXF) pentru software CNC
Labels (PDF) etichete de piese
Worksheet (PDF) o fișă pentru atelier
ERP extract (JSON) pentru sistemul tău ERP

PDF-urile sunt reconstruite din comandă și sunt refuzate când planul nu poate fi reprodus exact; în acest caz celelalte fișiere rămân disponibile. PDF-urile sunt în engleză. Nu există export Excel pentru o comandă, iar comenzile 1D sau de cherestea nu există încă, deci pentru ele nu se exportă nimic.

Ce nu este acoperit

  • Configuratorul nu încasează plăți; plata și onorarea comenzii rămân în magazinul tău.
  • Nu există schimbare de stare în masă.
  • Un link de urmărire nu poate fi revocat individual; expiră de la sine.

FAQ

Cum primesc o comandă?
În două moduri simultan, așa cum le configurezi: un webhook semnat către serverul tău și un e-mail către adresele pe care le listezi. E-mailul poartă o fișă de lucru și etichete ca fișiere PDF. Fiecare comandă este de asemenea stocată și vizibilă în consolă, deci un webhook ratat nu pierde niciodată o comandă.
De unde știu că un webhook vine cu adevărat de la CutOptim?
Fiecare livrare poartă un antet CutOptim-Signature, un HMAC-SHA256 calculat peste octeții exacți ai corpului, cu un marcaj de timp. Serverul tău îl recalculează cu secretul receptorului, pe care serverul tău îl obține de la CutOptim cu cheia sa secretă, și refuză o semnătură greșită sau un marcaj de timp vechi. Verifică corpul brut înainte de a-l interpreta și ignoră un id de eveniment pe care l-ai tratat deja, deoarece livrarea este cel puțin o dată.
Ce se întâmplă dacă serverul meu este oprit când sosește o comandă?
Comanda este stocată mai întâi, iar livrarea este reîncercată: după 1, 5, 25 și 125 de minute și apoi după 6 ore. După a șasea încercare eșuată, livrarea este marcată ca moartă (dead). Proprietarii și administratorii pot vedea jurnalul de livrare în consolă și pot pune în coadă o relivrare a aceluiași eveniment cu un singur clic.
Care sunt stările comenzii?
Primită (received), confirmată (confirmed), în producție (in production), expediată (shipped) și finalizată (completed), plus anulată (cancelled). O comandă avansează câte un pas și poate fi anulată până când a fost expediată; finalizată și anulată sunt stări finale. Baza de date impune acest lucru, deci nicio cale nu poate muta o comandă înapoi. Fiecare schimbare este înregistrată cu persoana care a făcut-o.
Își poate urmări clientul meu comanda?
Da. Când schimbi o stare, poți bifa o casetă pentru a trimite clientului un e-mail, iar acel e-mail poartă un link de urmărire. Pagina arată numărul comenzii, numele magazinului tău, pașii de stare și momentul fiecăruia, numărul de piese și totalul. Nu arată nicio adresă, nicio listă de tăieri și niciuna dintre notele tale. Linkul încetează să funcționeze la 365 de zile după comandă.
Ce fișiere de producție pot descărca?
Șapte, pentru fiecare comandă: lista de piese (CSV), amplasările (CSV), un desen al planului (SVG), un desen CNC (DXF), un PDF cu etichete, un PDF cu fișa de lucru și un extras ERP (JSON). Fișierele SVG, DXF și de amplasări sunt aceleași pe care le produce Engine API pentru același plan.

Actualizat: 19 octombrie 2026