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:
- să citească corpul brut înainte de a-l interpreta;
- să verifice că marcajul de timp se încadrează în câteva minute și să compare semnătura în timp constant;
- să accepte oricare dintre mai multe valori
v1, care apar în timp ce un secret este rotit; - 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ă.
Î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.