Για να συνδεθείτε με το SoftOne περιβάλλον σας, χρειάζεται να συμπληρώσετε τα παρακάτω πεδία στην φόρμα Connection settings για να γίνει η κλήση στο login service.
Το URL του SoftOne περιβάλλοντος.
Π.χ. https://example.oncloud.gr/s1services.
Το όνομα χρήστη για την σύνδεση στο SoftOne περιβάλλον.
Ο κωδικός πρόσβασης για την σύνδεση στο SoftOne περιβάλλον.
Το Web Service ID (AppId) που έχει οριστεί στο SoftOne περιβάλλον για την διασύνδεση.
Π.χ. 2001.
Σε περίπτωση που γνωρίζετε τον χρήστη, μπορείτε να συμπληρώσετε τα στοιχεία του στα παρακάτω πεδία.
Ο κωδικός της εταιρείας στην οποία ανήκει ο χρήστης.
Π.χ. 1000.
Ο κωδικός του υποκαταστήματος στην οποία ανήκει ο χρήστης.
Π.χ. 1000.
Ο κωδικός του module στο οποίο ανήκει ο χρήστης.
Π.χ. 0.
Το Ref ID του χρήστη.
Π.χ. 1.
{
"service": "login",
"username": "demo",
"password": "secret",
"appId": 2001
}
{
"success": true,
"clientID": "Wj8T3tvs...tlrT8",
"objs": [
{
"COMPANY": "1000",
"COMPANYNAME": "Demo Company SA",
"BRANCH": "1000",
"BRANCHNAME": "Athens",
"MODULE": "0",
"MODULENAME": "Center",
"REFID": "1",
"REFNAME": "Administrator"
}
]
}
{
"service": "login",
"username": "demo",
"password": "secret",
"appId": 2001,
"company": 1000,
"branch": 1000,
"module": 0,
"refid": 1
}
{
"success": true,
"clientID": "Wj8T3tvs...tlrT8"
}
Απαιτούνται 3 κλήσεις: μία για τα προϊόντα, μία για τις τιμές και μία για τα αποθέματα. Τα δεδομένα που χρειάζονται για την εισαγωγή περιγράφονται στις αντίστοιχες ενότητες για το Magento και το WooCommerce.
Η εισαγωγή δεδομένων μπορεί να γίνει με browser, με custom endpoint ή με SQL data.
Συνήθως επιλέγεται η χρήση των endpoints διότι υπάρχει μεγαλύτερη ευελιξία στα δεδομένα που μπορούμε να έχουμε στη διάθεσή μας. Σε κάθε περίπτωση μας ενδιαφέρει να λαμβάνουμε από το ERP τα differentials.
Για να γίνει η λήψη των differentials, το Sébastien στέλνει με την κλήση την τελευταία ημερομηνία συγχρονισμού που έγινε επιτυχώς. Το SoftOne θα πρέπει να επιστρέφει μόνο τα δεδομένα που έχουν ενημερωθεί μετά από αυτή την ημερομηνία. Σε περίπτωση που δε σταλεί πεδίο με ημερομηνία, τότε θα πρέπει να επιστραφούν όλα τα δεδομένα.
Το όνομα του browser που αποστέλλεται στην παράμετρο list στο service getBrowserInfo.
Π.χ. getProducts.
Το όνομα του πεδίου από τον πίνακα ITEM που αποστέλλεται στην παράμετρο filters.
Π.χ. ITEM.WEBVIEW.
Η τιμή που αποστέλλεται στην παραπάνω παράμετρο φίλτρου.
Π.χ. 1.
{
"service": "getBrowserInfo",
"clientID": "Wj8T3tvs...tlrT8",
"appId": 2001,
"object": "ITEM",
"list": "getProducts",
"filters": "ITEM.WEBVIEW=1"
}
{
"success": true,
"upddate": "20251001 00:00:00",
"formDesign": "ITEM",
"reqID": "A1A000000A0AA0A0A",
"totalcount": 1000,
"fields": [
{
"name": "ZOOMINFO",
"type": "string"
},
{
"name": "ITEM.CODE",
"type": "string"
},
{
"name": "ITEM.NAME",
"type": "string"
}
],
"columns": [
{
"dataIndex": "ITEM.CODE",
"header": "Κωδικός s1",
"width": 180,
"decs": 0,
"hidden": false,
"sortable": true
},
{
"dataIndex": "ITEM.NAME",
"header": "Περιγραφή",
"width": 420,
"decs": 0,
"hidden": false,
"sortable": true
},
]
}
{
"service": "getBrowserData",
"clientID": "Wj8T3tvs...tlrT8",
"appId": 2001,
"reqID": "A1A000000A0AA0A0A",
"start": 0,
"limit": 1000
}
{
"success": true,
"totalcount": 1000,
"rows": [
[
"ITEM;0001",
"001-001-0001",
"Όνομα προϊόντος"
]
]
}
Το request method είναι GET και τα δεδομένα φιλτράρονται με παραμέτρους query string.
Το response πρέπει να είναι σε μορφή JSON και πρέπει να έχει ένα πεδίο data που να περιέχει έναν πίνακα με τα δεδομένα.
Το URL του custom endpoint που θα φέρει τα δεδομένα.
Π.χ. https://example.oncloud.gr/s1services/js/getPrices.
Το όνομα του πεδίου που θα χρησιμοποιηθεί για φιλτράρισμα των δεδομένων με βάση την ημερομηνία.
Π.χ. from.
Η μορφή ημερομηνίας ISO 8601 που θα χρησιμοποιηθεί για φιλτράρισμα των δεδομένων με βάση την ημερομηνία.
Π.χ. YYYY-MM-DD hh:mm:ss.
Το όνομα του πεδίου που θα χρησιμοποιηθεί για να οριστεί ο αριθμός σελίδας.
Η αρχική σελίδα είναι 1.
Π.χ. page.
Το όνομα του πεδίου που θα χρησιμοποιηθεί για να οριστεί ο αριθμός αποτελεσμάτων ανά σελίδα.
Π.χ. per_page.
Ο αριθμός των αποτελεσμάτων ανά σελίδα.
Π.χ. 1000.
{
"success": true,
"data": [
{
"ITEM": "1001",
"Price": 29.99
},
{
"ITEM": "1002",
"Price": 19.99
}
],
}
Το όνομα του SQL data που αποστέλλεται στην παράμετρο SqlName στο service SqlData.
Το όνομα της παραμέτρου που θα χρησιμοποιηθεί για να φιλτράρει τα δεδομένα με βάση την ημερομηνία.
Π.χ. date.
Η μορφή ISO 8601 της ημερομηνίας που θα χρησιμοποιηθεί για να φιλτράρει τα δεδομένα με βάση την ημερομηνία.
Π.χ. YYYY-MM-DD hh:mm:ss.
Πρόσθετες παράμετροι σε μορφή query string μπορούν να χρησιμοποιηθούν για να φιλτράρουν τα δεδομένα.
Αυτές οι παράμετροι προστίθενται απευθείας στο JSON payload.
Π.χ. οι παράμετροι eshop=1&status=active στέλνονται ως {"eshop": "1", "status": "active"}.
{
"service": "SqlData",
"clientID": "Wj8T3tvs...tlrT8",
"appId": "2001",
"SqlName": "getStocks",
"eshop": "1",
"status": "active",
"date": "2025-01-01 00:00:00",
"ROWCNT": 2000,
"OFFSET": 0
}
{
"success": true,
"totalcount": 1000,
"rows": [
{
"ITEM": "1001",
"QTY": 50
},
{
"ITEM": "1002",
"QTY": 20
}
]
}
Η διαδικασία εισαγωγής παραγγελίας στο SoftOne περιγράφεται στα παρακάτω βήματα:
Για την αποφυγή αποστολής πολλαπλών παραγγελιών, υπάρχει δυνατότητα να γίνεται έλεγχος στο SoftOne μέσω SqlData για υπάρχουσα παραγγελία. Αυτή η κλήση γίνεται με μία παράμετρο η οποία έχει ένα μοναδικό αναγνωριστικό της παραγγελίας. Στο διαχειριστικό του Sébastien στην καρτέλα Integrations > Softone > Order Settings, στην ενότητα Check if order exists συμπληρώστε τα παρακάτω πεδία:
Το όνομα του SQL data που θα χρησιμοποιηθεί για την αναζήτηση της παραγγελίας στο SoftOne.
Π.χ. findOrder.
Το όνομα της παραμέτρου που θα χρησιμοποιηθεί για να φιλτράρει τις παραγγελίες
Π.χ. orderNumber.
Το πεδίο της παραγγελίας που θα σταλεί στην παραπάνω παράμετρο.
Π.χ. Order > Increment ID.
Το όνομα του πεδίου στο object της πρώτης γραμμής των αποτελεσμάτων που καθορίζει αν η παραγγελία υπάρχει ή όχι.
Π.χ. orderFound.
{
"service": "SqlData",
"clientID": "Wj8T3tvs...tlrT8",
"appId": "2001",
"SqlName": "findOrder",
"orderNumber": "00001234"
}
{
"success": true,
"totalcount": 1,
"rows": [
{
"orderFound": true
}
]
}
Στο διαχειριστικό του Sébastien στις καρτέλες CUSTOMER, CUSBRANCH, CUSEXTRA, SALDOC, ITELINES, MTRDOC, EXPANAL υπάρχει η δυνατότητα να γίνει αντιστοίχιση των δεδομένων της παραγγελίας του e-shop με τα πεδία των πινάκων του SoftOne.