Pentru a apela un serviciu se apelează https://api.socratecloud.com/scwi/rest/workflow/run/{versiune}?LocationWarehouse_ID={ID gestiune}&WorkflowCode={cod serviciu}, unde:
LocationWarehouse_ID - este un parametru numeric obligatoriu și reprezintă ID-ul gestiunii din/în care operează apelantul. Acesta are rolul de a securiza datele astfel încât să se evite intervenția accidentală în alt depozit. Pentru operațiuni generice se recomandă folosirea unei gestiuni generice.
WorkflowCode - este un parametru de tip alfanumeric obligatoriu și reprezintă codul serviciului așa cum a fost el definit în aplicație.
Apelul este de tip POST.
În body trebuie să se regăsească datele necesare pentru serviciu, așa cum au fost ele definite în aplicație, în format JSON.
Datele folosite în interogări trebuiesc incluse într-o listă de parametrii numită "WhereClause".
{
"WhereClause": [
{
"Numar": 1067991
}
]
}
Serviciile se definesc în cadrul aplicației, la nivel de titular. Se pot defini doar de utilizatori care au drept de administrator de sistem (la nivel de server, nu doar la nivel de titular).
Toate definirile trebuiesc făcute pe baza unui tabel. Accesul la date se face securizat și ține cont de politicile de rol așa cum sunt ele definite în cadrul aplicației.
Acțiunile disponibile prin fluxuri sunt:
SELECT - citește înregistrări.
UPDATE - actualizează înregistrări.
DELETE - șterge înregistrări.
Adaugă atașament - adaugă atașament.
Rulare Proces - rulează procesul specificat în flux.
Actualizare înregistrare - modifică o înregistrare înainte ca ea să fie salvată în baza de date (similar beforeSave).
Acțiune document - face o acțiune pe un document (finalizare, redeschidere, anulare etc.). Sunt accesibile doar acele documente care sunt folosite în relația cu WMS: comenzi client, comenzi furnizor, avize, recepții, bonuri consum, bonuri primire, bonuri transfer.
Push data - trimite informații către un serviciu extern. Pentru aceasta trebuie configurat serviciul:
link
timeout
se poate specifica o listă de parametrii care vor fi puși în link sau în header în funcție de tipul lor
se poate specifica un flux care să fie folosit pentru procesarea răspunsului.
Trimiterea de date se face tranzacțional în timp real; astfel, dacă apare vreo eroare la transmiterea datelor, operațiunea curentă nu se poate încheia. La fel și procesarea răspunsului este efectuată în timp real, pe aceeași tranzacție cu trimiterea datelor.
În secțiunea de câmpuri se definesc acele câmpuri ce se doresc a fi folosite. Dacă se dorește li se pot da alte denumiri decât cele din aplicație.
Un tip important de câmp este câmpul de tip flux api, care practic ne permite să inserăm ierarhic date care au o cheie de legătură.
În exemplul anterior, apelul serviciului GetReceiving (http://api.socratecloud.com/scwi/rest/workflow/run/4?LocationWarehouse_ID=12345678&WorkflowCode=GetReceiving) va returna comanda de recepție cu ID-ul 1067991 precum și detaliile acesteia.
{
"GetReceiving": [
{
"Cod": "1003200",
"Numar": 1067991,
"ID": 1067991,
"Linii": [
{
"ID": 1067991,
"Cantitate": 2,
"ID_Articol": 1168636
},
{
"ID": 1067991,
"Cantitate": 10,
"ID_Articol": 1168637
}
]
}
],
"totalRows": 1
}
Pentru adăugarea de atașamente se apelează https://api.socratecloud.com/scwi/rest/workflow/attach/{versiune}?LocationWarehouse_ID={ID gestiune}&WorkflowCode={cod serviciu}&FileName={nume fișier}&Record_ID={ID înregistrare}, unde:
LocationWarehouse_ID - este un parametru numeric obligatoriu și reprezintă ID-ul gestiunii din/în care operează apelantul. Acesta are rolul de a securiza datele astfel încât să se evite intervenția accidentală în alt depozit. Pentru operațiuni generice se recomandă folosirea unei gestiuni generice.
WorkflowCode - este un parametru de tip alfanumeric obligatoriu și reprezintă codul serviciului așa cum a fost el definit în aplicație.
FileName - numele fișierului. Se poate specifica și în header.
Record_ID - ID-ul înregistrării la care se dorește să se aplice atașamentul.
Apelul este de tip POST.
Pentru adăugarea de atașamente este necesar ca în body să fie conținutul fișierului.