Qui trovi una guida completa su come creare un ordine in Skyplanner con tutti i dati correlati. Alcuni di questi aspetti sono già stati trattati nel tutorial sull’integrazione, ma qui analizziamo la struttura dei dati di Skyplanner e il processo di integrazione in modo più dettagliato.
Struttura dei dati #
Per prima cosa vedremo come è strutturato un ordine di Skyplanner. I punti API per le entità di dati citate sono evidenziati come segue: /phaser-ordini
Al livello superiore abbiamo l’ordine(/phaser-orders)
Ogni ordine deve avere un cliente(/clienti).
Ogni ordine può avere più voci d’ordine(/phaser-Order-items)
Ogni articolo-ordine può avere un prodotto(/products) collegato, ma non è obbligatorio. Ogni prodotto ha uno stock(/saldos). Si noti che l’entità stock viene creata automaticamente quando si crea un prodotto con l’API.
Ogni articolo-ordine può avere più lavori (alias fasi del processo)(/phaser-jobs).
Ogni lavoro deve avere una fase di lavoro(/workstages).
Flusso di lavoro dell’integrazione #
Ecco un esempio passo dopo passo di come potresti strutturare l’integrazione tra il tuo sistema ERP e Skyplanner.
- Recupera le vendite/ordini di lavoro dall’ERP
- Crea un cliente (ottieni l’id del cliente nella risposta)
- Crea un ordine con l’id del cliente (ottieni l’id dell’ordine nella risposta)
- Recupera i dati degli ordini di vendita/lavorazione dall’ERP
- Crea un prodotto (ottieni l’id del prodotto nella risposta)
- Crea l’articolo dell’ordine con l’id dell’ordine e altri dati (ottieni l’id dell’articolo dell’ordine nella risposta)
- Recupera i dati delle fasi del processo dall’ERP
- Crea un workstage (ottieni l’id del workstage nella risposta)
- Crea un lavoro con l’id del workstage e altri dati
Consigli extra #
Per l’eliminazione #
L’eliminazione di phaser-ordini, phaser-ordini-item o phaser-lavori attraverso l’API (e dall’interfaccia utente) avviene in maniera soft delete. Ciò significa che i dati non vengono effettivamente cancellati dal database, ma vengono contrassegnati come archiviati. In effetti, l’attributo is_archive dell’entità viene impostato su true quando viene eliminata. Le entità archiviate/cancellate sono comunque accessibili con l’API utilizzando il parametro include_archived. Quando include_archived=true, una richiesta GET recupera l’entità anche se è archiviata.
Tieni presente che la cancellazione morbida non è disponibile in tutti gli endpoint API! Quindi devi fare attenzione perché l’eliminazione, ad esempio, di clienti, persone ecc. è permanente!
Utilizza le fasi di processo predefinite per il tuo ordine #
Se hai creato delle fasi di processo predefinite per il prodotto che l’articolo d’ordine sta producendo, puoi dire al sistema di inserire i valori predefiniti nell’articolo d’ordine tramite l’API utilizzando l’attributo get_default_steps.
Aggiunta di materiali all’ordine #
Se hai allegato dei materiali al prodotto realizzato, questi vengono automaticamente allegati alla riga dell’ordine.
Tuttavia, se non vuoi utilizzare i materiali allegati al prodotto (ad esempio, se l’articolo è un ordine speciale e vuoi utilizzare materiali diversi) puoi utilizzare l’attributo use_custom_materials.