1. Advisable.AI
  2. Οδηγοί
  3. Σύνδεση SoftOne ERP

Σύνδεση του SoftOne ERP στο Advisable AI

Πού βρίσκεις στο Soft1 κάθε στοιχείο που χρειάζεται η σύνδεση, πώς το γράφεις στη φόρμα, πώς τη δοκιμάζεις και τι ζητάς από τον συνεργάτη SoftOne σου όταν κάτι δεν περνά. Για εσένα και για τον τεχνικό σου.

Τι χρειάζεσαι

Η σύνδεση γίνεται μέσω των Web Services του SoftOne (s1services). Χρειάζονται τέσσερα στοιχεία. Τα υπόλοιπα είναι προαιρετικά και συνήθως τα επιστρέφει το ίδιο το SoftOne με την πρώτη σύνδεση που πετυχαίνει.

ΣτοιχείοΑπαραίτητο;Από πού
Διεύθυνση S1 (API URL των s1services)ΝαιΑπό τον σειριακό αριθμό της εγκατάστασης
Κωδικός εφαρμογής (App ID)ΝαιΑπό τον συνεργάτη SoftOne σου· δεν φαίνεται στο Soft1
Χρήστης (Username)ΝαιΧρήστης του Soft1 με πρόσβαση στα Web Services
Κωδικός (Password)ΝαιΟ κωδικός αυτού του χρήστη
Εταιρεία (COMPANY)ΠροαιρετικόΟ κωδικός της εταιρείας
Υποκατάστημα (BRANCH)ΠροαιρετικόΟ κωδικός του υποκαταστήματος
Ενότητα (MODULE) και αριθμός χρήστη (REFID)ΠροαιρετικόΣχεδόν πάντα MODULE 0· το REFID το επιστρέφει η σύνδεση

Χρειάζεται η άδεια «Web Services Connector» (970). Χωρίς αυτήν δεν περνά καμία σύνδεση, όποια στοιχεία κι αν βάλεις. Θα την ελέγξεις πιο κάτω.

Πού βρίσκεις κάθε στοιχείο στο Soft1

Όλα βρίσκονται μέσα στο Soft1 της επιχείρησής σου. Καλύτερα να μπεις με χρήστη που έχει δικαιώματα διαχειριστή.

Το Soft1 με ανοιχτό το μενού «?» πάνω δεξιά. Στην ομάδα «Εγκατάσταση» σημειώνονται οι επιλογές «Άδειες Web and Mobile» και «Ταυτότητα». (ανοίγει σε νέα καρτέλα)
Το μενού «?» πάνω δεξιά. Στην ομάδα «Εγκατάσταση» θα βρεις την «Ταυτότητα» (σειριακός αριθμός) και τις «Άδειες Web and Mobile».

Διεύθυνση S1, από τον σειριακό αριθμό

Πάτησε το «?» πάνω δεξιά και μετά «Ταυτότητα». Στο παράθυρο «Σχετικά» φαίνεται το Serial No. Η διεύθυνση φτιάχνεται έτσι:

URL
https://<SERIAL>.oncloud.gr/s1services

Στο πεδίο Διεύθυνση S1 (από τον τεχνικό) μπορείς να γράψεις όλη τη διεύθυνση ή μόνο τον σειριακό αριθμό. Τη διεύθυνση τη φτιάχνει τότε η φόρμα.

Το παράθυρο «Σχετικά» του Soft1. Σημειώνεται η γραμμή Serial No. Ο σειριακός αριθμός, οι εκδόσεις και τα άλλα στοιχεία της εγκατάστασης είναι κρυμμένα. (ανοίγει σε νέα καρτέλα)
Το Serial No στο παράθυρο «Σχετικά». Τα στοιχεία της εγκατάστασης είναι κρυμμένα.

Αν η εγκατάσταση είναι Soft1 Cloud (στο «Installation directory» βλέπεις κάτι σαν …\Softone\Azure\), ισχύει η μορφή oncloud.gr. Αν το SoftOne τρέχει σε δικό σου server, η διεύθυνση είναι διαφορετική και σου τη δίνει ο συνεργάτης SoftOne σου.

Άδεια Web Services (970)

Στο ίδιο μενού: «Εγκατάσταση» → «Άδειες Web and Mobile». Στη λίστα πρέπει να υπάρχει η γραμμή 970 · Web Services Connector με πλήθος 1 ή περισσότερο. Αν λείπει, το πρώτο που ζητάς από τον συνεργάτη σου είναι να την ενεργοποιήσει.

Οι αριθμοί της στήλης Code δεν είναι App ID. Το 970, το 960 και οι υπόλοιποι είναι κωδικοί αδειών. Μην τους γράψεις στο πεδίο Κωδικός εφαρμογής (App ID).

Η λίστα «Άδειες Web & Mobile» του Soft1. Σημειώνεται η γραμμή 970, Web Services Connector, με πλήθος 1. Τα πλήθη των άλλων αδειών είναι κρυμμένα. (ανοίγει σε νέα καρτέλα)
Η λίστα «Άδειες Web & Mobile». Χρειάζεται η γραμμή 970 · Web Services Connector με πλήθος 1 ή περισσότερο.

Εταιρεία (COMPANY) και υποκατάστημα (BRANCH)

Φαίνονται στην οθόνη εισόδου του Soft1, εκεί που διαλέγεις εταιρεία και υποκατάστημα, ή στις ρυθμίσεις εταιρειών και υποκαταστημάτων. Σημείωσε τον κωδικό, όχι την επωνυμία.

Η οθόνη εισόδου του Soft1 στην επιλογή εταιρείας. Σημειώνεται ο κωδικός στη στήλη «Κωδικός». Η επωνυμία και ο ΑΦΜ είναι κρυμμένα. (ανοίγει σε νέα καρτέλα)
Ο κωδικός εταιρείας (COMPANY) στη στήλη «Κωδικός». Η επωνυμία και ο ΑΦΜ είναι κρυμμένα.
Η οθόνη εισόδου του Soft1 στην επιλογή υποκαταστήματος. Σημειώνεται ο κωδικός 1000, Έδρα. (ανοίγει σε νέα καρτέλα)
Ο κωδικός υποκαταστήματος (BRANCH) στη στήλη «Κωδικός».

Χρήστης για τη σύνδεση

Καλύτερα ένας ξεχωριστός χρήστης μόνο για το Advisable AI, όχι ο προσωπικός χρήστης κάποιου. Στο «Menu search» του Soft1 γράψε «Χρήστες» και πάτησε Enter (χρειάζονται δικαιώματα διαχειριστή). Στην καρτέλα του χρήστη:

  • Σημείωσε το ακριβές όνομα εισόδου (login name). Αυτό γράφεις στο πεδίο Χρήστης, όχι email ή ονοματεπώνυμο.
  • Έλεγξε ότι έχει ενεργή πρόσβαση στα Web Services.
  • Ο κωδικός (ID) του χρήστη είναι το REFID.
  • Δώσ’ του μόνο τα δικαιώματα που χρειάζονται: συνήθως ανάγνωση σε είδη, πελάτες και παραστατικά πωλήσεων.

Δεν βλέπεις τους «Χρήστες»; Αν δεν εμφανίζονται ούτε με διαχειριστή, τον χρήστη και την πρόσβαση στα Web Services τα ρυθμίζει ο συνεργάτης SoftOne σου.

Η άδεια μόνη της δεν αρκεί. Το ότι υπάρχει η άδεια 970 στην εγκατάσταση δεν σημαίνει ότι ο συγκεκριμένος χρήστης μπορεί να συνδεθεί μέσω Web Services. Η πρόσβαση πρέπει να είναι ενεργή για τον χρήστη που θα γράψεις στη φόρμα. Ένας χρήστης μπορεί να μπαίνει κανονικά στο Soft1 και να απορρίπτεται στα Web Services. Αυτή είναι η πιο συχνή αιτία του μηνύματος «Login fails due to invalid login credentials».

Συμπλήρωση της φόρμας σύνδεσης

Στη συζήτηση, πάτησε Σύνδεση στην κάρτα του SoftOne. Αν δεν έχεις κάρτα, πάτησε «+» → Συνδέσεις → Σύνδεση συστήματος → SoftOne ERP. Τα προαιρετικά πεδία ανοίγουν από τα Προχωρημένα.

ΠεδίοΤι γράφεις
Διεύθυνση S1 (από τον τεχνικό)https://<SERIAL>.oncloud.gr/s1services, ή μόνο τον σειριακό αριθμό
Κωδικός εφαρμογής (App ID)Αυτόν που σου δίνει ο συνεργάτης σου. Για δοκιμή συχνά είναι 1001.
Χρήστης και ΚωδικόςΟ χρήστης για τη σύνδεση και ο κωδικός του
Εταιρεία (COMPANY) και Υποκατάστημα (BRANCH)Οι κωδικοί τους, ή κενά
Ενότητα (MODULE)0· είναι ήδη συμπληρωμένο
Αριθμός χρήστη (REFID)Κενό· το επιστρέφει η σύνδεση
Να επιτρέπονται εγγραφές (…)Κλειστό στην αρχή: ξεκινάς μόνο με ανάγνωση
Όνομα σύνδεσηςΈνα όνομα που θα αναγνωρίζεις, π.χ. «SoftOne κεντρικό». Αν δεν το αλλάξεις, μένει «SoftOne ERP».

Κράτα κλειστό το Να επιτρέπονται εγγραφές μέχρι να το χρειαστείς. Είναι το ζωντανό σου ERP, με παραστατικά και στοιχεία πελατών. Και όταν το ανοίξεις, κάθε αλλαγή δείχνει πρώτα προεπισκόπηση και θέλει την επιβεβαίωσή σου.

Η φόρμα σύνδεσης του SoftOne στο Advisable AI, συμπληρωμένη με ενδεικτικά στοιχεία και με ανοιχτά τα «Προχωρημένα». Σημειώνεται το «Να επιτρέπονται εγγραφές», που μένει κλειστό. (ανοίγει σε νέα καρτέλα)
Η φόρμα με ενδεικτικά στοιχεία και ανοιχτά τα «Προχωρημένα». Το «Να επιτρέπονται εγγραφές» μένει κλειστό στην αρχή.

Πάτησε Δοκιμή και σύνδεση. Αν περάσει, τελείωσες. Αν όχι, η κάρτα γράφει τι απάντησε το SoftOne. Με το Αποστολή στον τεχνικό μου στέλνεις τα βήματα στον τεχνικό σου με email, χωρίς κωδικούς. Εκείνος μπορεί να κάνει τη δοκιμή με PowerShell για πιο καθαρό μήνυμα.

Για τεχνικούς: δοκιμή με PowerShell

Η δοκιμή τρέχει την είσοδο απευθείας, χωρίς τη φόρμα, και δίνει πιο καθαρό μήνυμα λάθους. Άνοιξε PowerShell, όχι cmd (αν βρεθείς σε cmd, γράψε powershell και πάτησε Enter). Βάλε τα δικά σου στοιχεία στη θέση των <SERIAL> και USERNAME. Τον κωδικό τον γράφεις στο παράθυρο που ανοίγει, ώστε να μη μείνει στο ιστορικό του PowerShell.

PowerShell
$c = (Get-Credential -UserName "USERNAME" -Message "Soft1").GetNetworkCredential()
$body = @{service="login";username=$c.UserName;password=$c.Password;appId="1001"} | ConvertTo-Json
Invoke-RestMethod -Uri "https://<SERIAL>.oncloud.gr/s1services" -Method Post -Body $body -ContentType "application/json; charset=utf-8" | ConvertTo-Json -Depth 5

Πέτυχε, αν βλέπεις "success": true και τη λίστα objs με COMPANY, BRANCH, MODULE και REFID. Αυτά είναι έτοιμα για τη φόρμα.

Δοκιμή με κεφαλαία και πεζά στο όνομα χρήστη

Αν δεν ξέρεις αν το όνομα χρήστη γράφεται με κεφαλαία ή πεζά, δοκίμασε και τις τρεις μορφές μαζί. Γράψε το δικό σου όνομα, σε κάθε μορφή, στη θέση των User, user και USER. Τον κωδικό τον γράφεις πάλι στο παράθυρο που ανοίγει.

PowerShell
$p = (Get-Credential -UserName "User" -Message "Soft1").GetNetworkCredential().Password
foreach ($u in "User","user","USER") {
  $body = @{service="login";username=$u;password=$p;appId="1001"} | ConvertTo-Json
  $r = Invoke-RestMethod -Uri "https://<SERIAL>.oncloud.gr/s1services" -Method Post -Body $body -ContentType "application/json; charset=utf-8"
  "$u -> success=$($r.success) $($r.error)"
}

Έλεγχος ότι η διεύθυνση απαντά

Χρειάζεται μόνο αν υποψιάζεσαι πρόβλημα δικτύου. Κανονικά απαντά μόνο η θύρα 443.

PowerShell
Test-NetConnection "<SERIAL>.oncloud.gr" -Port 443

Αν η 443 είναι ανοιχτή και η είσοδος επιστρέφει μήνυμα του SoftOne, το δίκτυο είναι εντάξει. Το πρόβλημα είναι στα στοιχεία εισόδου ή στο App ID, όχι σε θύρα. Μη σαρώνεις όλες τις θύρες ενός cloud server: μοιάζει με επίθεση και μπορεί να αποκλειστεί η διεύθυνση IP σου.

Αν κάτι δεν περνά

«Login fails due to invalid login credentials» (errorcode -1)

Ο server σε ακούει, αλλά απορρίπτει την είσοδο. Οι αιτίες, από την πιο πιθανή:

  1. Λάθος μορφή ονόματος χρήστη. Μπαίνεις στο Soft1 με email ή με λογαριασμό cloud, ενώ τα Web Services θέλουν το εσωτερικό όνομα εισόδου. Οι κωδικοί ξεχωρίζουν κεφαλαία και πεζά· πρόσεξε και το ελληνικό πληκτρολόγιο.
  2. Ο χρήστης δεν έχει πρόσβαση στα Web Services. Μπαίνει στο Soft1 αλλά όχι μέσω Web Services. Την ανοίγει ο συνεργάτης σου ή ο διαχειριστής.
  3. Λάθος App ID. Σε κάποιες εγκαταστάσεις βγάζει το ίδιο γενικό μήνυμα. Το σωστό App ID το δίνει ο συνεργάτης σου.
  4. Η άδεια 970 είναι ήδη δεσμευμένη, π.χ. από το e-shop. Ίσως χρειάζεται δεύτερη άδεια ή κοινή χρήση.

«$body is not recognized…»

Τρέχεις τη δοκιμή σε cmd αντί για PowerShell. Γράψε powershell, πάτησε Enter και τρέξε την ξανά.

«Timeout», «could not resolve host» ή 404

Η διεύθυνση ή ο σειριακός αριθμός δεν είναι σωστά. Έλεγξε τον σειριακό και ζήτησε την ακριβή διεύθυνση από τον συνεργάτη σου.

Τι να ζητήσεις από τον συνεργάτη SoftOne σου

Αν η σύνδεση δεν περνά ενώ ο χρήστης μπαίνει κανονικά στο Soft1, το θέμα είναι στη μεριά του server. Στείλε στον συνεργάτη σου το παρακάτω μήνυμα, με τον σειριακό αριθμό και το όνομα χρήστη στη θέση των <SERIAL> και <USERNAME>.

Μήνυμα
Για τον σειριακό <SERIAL> (Soft1 Cloud): η είσοδος στο https://<SERIAL>.oncloud.gr/s1services επιστρέφει errorcode -1 «Login fails due to invalid login credentials», ενώ ο χρήστης μπαίνει κανονικά στο Soft1. Χρειαζόμαστε:

1) Το App ID για το Web Services Connector (άδεια 970).
2) Ενεργή πρόσβαση στα Web Services για τον συγκεκριμένο χρήστη «<USERNAME>». Δεν αρκεί να υπάρχει η άδεια στην εγκατάσταση· ο χρήστης πρέπει να έχει δικαίωμα σύνδεσης μέσω Web Services.

Ιδανικά, έναν νέο, ξεχωριστό χρήστη για τη σύνδεση, με δικαιώματα ανάγνωσης σε είδη, πελάτες και παραστατικά πωλήσεων.

Ασφάλεια

  • Πάντα HTTPS (θύρα 443). Ποτέ δοκιμές εισόδου μέσω http://, γιατί ο κωδικός θα ταξίδευε χωρίς κρυπτογράφηση.
  • Ξεχωριστός χρήστης για τη σύνδεση, με ισχυρό κωδικό. Όχι ο προσωπικός χρήστης κάποιου: αλλιώς οι ενέργειες καταγράφονται στο όνομά του και πιάνει μία άδεια χρήστη.
  • Μόνο τα δικαιώματα που χρειάζονται. Ξεκίνα μόνο με ανάγνωση· εγγραφές μόνο όταν τις χρειαστείς.
  • Μη γράφεις κωδικούς σε μηνύματα, σε συζητήσεις ή σε κοινόχρηστα αρχεία. Κράτα τους σε διαχειριστή κωδικών (password manager). Στη φόρμα, ο κωδικός πηγαίνει κατευθείαν στη σύνδεση, αποθηκεύεται κρυπτογραφημένος και δεν τον βλέπει το AI.

Παράδειγμα συμπλήρωσης

Ένα ανώνυμο παράδειγμα, από εγκατάσταση Soft1 Cloud, για να δεις πώς μοιάζουν τα στοιχεία όταν τα μαζέψεις. Οι τιμές είναι ενδεικτικές: εσύ γράφεις τις δικές σου.

ΣτοιχείοΕνδεικτική τιμή
Serial No<SERIAL>
ΠροϊόνSoft1 Cloud ERP · Series 6
Εταιρεία (COMPANY)1001
Υποκατάστημα (BRANCH)1000 (Έδρα)
Ενότητα (MODULE)0
Άδεια Web Services970 · Web Services Connector: υπάρχει
Διεύθυνση S1https://<SERIAL>.oncloud.gr/s1services

Συχνό σενάριο: η διεύθυνση απαντά και η 443 είναι ανοιχτή, αλλά η είσοδος απορρίπτεται με «invalid login credentials», όποια παραλλαγή ονόματος χρήστη ή App ID κι αν δοκιμάσεις. Τότε το επόμενο βήμα είναι του συνεργάτη σου: το App ID και η πρόσβαση του χρήστη στα Web Services (τι να ζητήσεις).

Θέλεις να συνδέσεις το SoftOne;

Χρειάζεσαι βοήθεια; Γράψε μας στο welcome@advisable.ai ή στο advisable.ai/contact.