Τι χρειάζεσαι
Η σύνδεση γίνεται μέσω των 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 της επιχείρησής σου. Καλύτερα να μπεις με χρήστη που έχει δικαιώματα διαχειριστή.
(ανοίγει σε νέα καρτέλα)Διεύθυνση S1, από τον σειριακό αριθμό
Πάτησε το «?» πάνω δεξιά και μετά «Ταυτότητα». Στο παράθυρο «Σχετικά» φαίνεται το Serial No. Η διεύθυνση φτιάχνεται έτσι:
https://<SERIAL>.oncloud.gr/s1servicesΣτο πεδίο Διεύθυνση S1 (από τον τεχνικό) μπορείς να γράψεις όλη τη διεύθυνση ή μόνο τον σειριακό αριθμό. Τη διεύθυνση τη φτιάχνει τότε η φόρμα.
(ανοίγει σε νέα καρτέλα)Αν η εγκατάσταση είναι 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).
(ανοίγει σε νέα καρτέλα)Εταιρεία (COMPANY) και υποκατάστημα (BRANCH)
Φαίνονται στην οθόνη εισόδου του Soft1, εκεί που διαλέγεις εταιρεία και υποκατάστημα, ή στις ρυθμίσεις εταιρειών και υποκαταστημάτων. Σημείωσε τον κωδικό, όχι την επωνυμία.
(ανοίγει σε νέα καρτέλα)
(ανοίγει σε νέα καρτέλα)Χρήστης για τη σύνδεση
Καλύτερα ένας ξεχωριστός χρήστης μόνο για το 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. Με το Αποστολή στον τεχνικό μου στέλνεις τα βήματα στον τεχνικό σου με email, χωρίς κωδικούς. Εκείνος μπορεί να κάνει τη δοκιμή με PowerShell για πιο καθαρό μήνυμα.
Για τεχνικούς: δοκιμή με PowerShell
Η δοκιμή τρέχει την είσοδο απευθείας, χωρίς τη φόρμα, και δίνει πιο καθαρό μήνυμα λάθους. Άνοιξε PowerShell, όχι cmd (αν βρεθείς σε cmd, γράψε powershell και πάτησε Enter). Βάλε τα δικά σου στοιχεία στη θέση των <SERIAL> και USERNAME. Τον κωδικό τον γράφεις στο παράθυρο που ανοίγει, ώστε να μη μείνει στο ιστορικό του 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. Τον κωδικό τον γράφεις πάλι στο παράθυρο που ανοίγει.
$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.
Test-NetConnection "<SERIAL>.oncloud.gr" -Port 443Αν η 443 είναι ανοιχτή και η είσοδος επιστρέφει μήνυμα του SoftOne, το δίκτυο είναι εντάξει. Το πρόβλημα είναι στα στοιχεία εισόδου ή στο App ID, όχι σε θύρα. Μη σαρώνεις όλες τις θύρες ενός cloud server: μοιάζει με επίθεση και μπορεί να αποκλειστεί η διεύθυνση IP σου.
Αν κάτι δεν περνά
«Login fails due to invalid login credentials» (errorcode -1)
Ο server σε ακούει, αλλά απορρίπτει την είσοδο. Οι αιτίες, από την πιο πιθανή:
- Λάθος μορφή ονόματος χρήστη. Μπαίνεις στο Soft1 με email ή με λογαριασμό cloud, ενώ τα Web Services θέλουν το εσωτερικό όνομα εισόδου. Οι κωδικοί ξεχωρίζουν κεφαλαία και πεζά· πρόσεξε και το ελληνικό πληκτρολόγιο.
- Ο χρήστης δεν έχει πρόσβαση στα Web Services. Μπαίνει στο Soft1 αλλά όχι μέσω Web Services. Την ανοίγει ο συνεργάτης σου ή ο διαχειριστής.
- Λάθος App ID. Σε κάποιες εγκαταστάσεις βγάζει το ίδιο γενικό μήνυμα. Το σωστό App ID το δίνει ο συνεργάτης σου.
- Η άδεια 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 Services | 970 · Web Services Connector: υπάρχει |
| Διεύθυνση S1 | https://<SERIAL>.oncloud.gr/s1services |
Συχνό σενάριο: η διεύθυνση απαντά και η 443 είναι ανοιχτή, αλλά η είσοδος απορρίπτεται με «invalid login credentials», όποια παραλλαγή ονόματος χρήστη ή App ID κι αν δοκιμάσεις. Τότε το επόμενο βήμα είναι του συνεργάτη σου: το App ID και η πρόσβαση του χρήστη στα Web Services (τι να ζητήσεις).