Obsah
Dokumentace k REST API OrImport
Toto API poskytuje přístup k funkcím OR-SYSTEM Open prostřednictvím jednoho endpointu avšak s rozlišením na úrovni atributů.
Autentizace
Pro přístup k API je vyžadována autentizace. Každý požadavek musí obsahovat platný autentizační token v hlavičce. Token je získán prostřednictvím přihlašovacího procesu.
1. Přihlášení
- URL: `/auth/login`
- Metoda: `POST`
- Formát vstupu: `application/json`
- Formát výstupu: `application/json`
Parametry:
- `username` (string): Login do OR-SYSTEM Open.
- `password` (string): Heslo do OR-SYSTEM Open.
== Příklad požadavku: == <code json> { "username": "uzivatel", "password": "tajneheslo" } </code>
== Příklad odpovědi: == <code json> { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." } </code>
2. Odhlášení
- URL: `/auth/logout`
- Metoda: `POST`
- Formát vstupu: `application/json`
- Formát výstupu: `application/json`
Parametry:
- `token` (string): Autentizační token, který má být zneplatněn.
== Příklad požadavku: == <code json> { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." } </code>
== Příklad odpovědi: == <code json> { "status": "OK" } </code>
3. Obnovení tokenu
- URL: `/auth/refresh`
- Metoda: `POST`
- Formát vstupu: `application/json`
- Formát výstupu: `application/json`
Parametry:
- `refreshToken` (string): Token pro obnovení autentizace.
== Příklad požadavku: == <code json> { "refreshToken": "dGVzdHJlZnJlc2h0b2tlbg==" } </code>
== Příklad odpovědi: == <code json> { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "refreshToken": "dGVzdHJlZnJlc2h0b2tlbg==" } </code>
Endpointy
metoda setData
- URL: `/orimport/data`
- Metoda: `POST`
- Formát vstupu: `application/json`
- Formát výstupu: `application/json`
Parametry:
- json (object): JSON reprezentující data k zpracování.
Příklad požadavku:
{ "EntityType": "type1", "Id": "123", "Properties": { "PropertyDesciptor": [ {"Name": "Property1", "Value": "Value1"}, {"Name": "Property2", "Value": "Value2"} ] } }
Příklad odpovědi:
{ "status": "success", "message": "Data were processed successfully." }
Výjimky a chyby
V případě chyb nebo výjimek API vrací chybové zprávy s popisem problému.
Příklad chybové odpovědi:
KO Chybová zpráva
### Chybové stavy - Popis: API může vrátit chybové stavy při selhání interních operací. Specifické kódy chyb a popisy nejsou definovány.
### Logování - API loguje důležité operace do souboru. Formát a obsah logování nejsou plně specifikovány.
EntityType
Tabulka s přípustnými hodnotami `EntityType`.
EntityType | Popis Entity |
OR_IMPORT_SERVANT | Spuštění tiskového reportu na základě zadaných parametrů GA |
ENTITY_WEB_SERVICE | Integrace dvou OR-SYSTEM Open. Například poboča může nahlížet na data centrály. |
UNITS | Export měrných jednotek do MES |
PERSONS | Export pracovníků do MES |
DEFLECTION | Export typů odchylek z MES |
NONCONFORMITIES | Export typů neshod z MES |
DOWNTIME | Export typů prostojů z MES |
WORK_CENTER | Export pracovních středisek do MES |
MATERIAL | Export katalogu položek - materiálů do MES |
EQUIPMENT | Export nářadí do MES |
TOOLS | Export přípravku do MES |
WORK_ORDER | Export výrobního příkazu do MES |
PRODUCT_DEFINITION_OPERATION | Export pracovního postupu do MES |
WORK_ORDER_OPERATION | Export operací výrobního příkazu |
STATEMENT_OF_DOWNTIME | Import prostojů z MES |
STATEMENT_OF_WORK | Import hlášení výkonu z MES |
STATEMENT_OF_NONCONFORMITIES | Import hlášení neshod z MES |
BUSINESS_PARTNERS | Export katalogu odběratelů do externího systému |
STOCKING | Import skladové transakce z MES |
ENABIDKA | Import nabídek z Excelu |
EPRODOBJ | Import prodejních objednávek z Excelu |
EPOPTAVKA | Import poptávek z Excelu |
CPOLOZKA_IMPORT | Import katalogu položek |
CNARADI_IMPORT | Import nářadí |
OUZIV_IMPORT | Import uživatelů |
CODBERATEL_IMPORT | Import odběratelů |
CDODAVATEL_IMPORT | Import dodavatelů |
CADRESAFIRMY_IMPORT | Import adres firmy |
OHKON_IMPORT | Import kontaktů |
CSTROJ_IMPORT | Import strojů |
CSTAND_KUS_KOMP_IMP | Import standardního kusovníku |
CKONSTR_KUS_KOMP_IMP | Import konstrukčního kusovnku |
CTECH_POSTUP_OP_IMP | Import technologického postupu |
SHLASENI_OPERACE | Hlášení |
SLBT_DOKLAD | |
SLBT_POHYB | |
SPOHYB_TXT | |
PALETIZACE | |
INTERNI_LOGISTIKA | |
SBALIKOVE_TRANSAKCE | |
SPOHYB_MOBILNI_APLIKACE | |
SMOBILNI_APLIKACE | |
ELEKTROTEST | |
SERIAL_NUMBER_SERVICE | |
TLAKOVA_ZKOUSKA | |
KONSTRUKCNI_KUSOVNIK | |
ODHLASOVANI_PRIDELENYCH_OPERACI | |
ODVADENI_VYROBY | |
HLASENI_VYROBY | |
PRIPRAVA_EXPEDICE_ZAKAZEK | |
SW_KONSTR_KUS_HLAV_IMP | |
SW_KONSTR_KUS_KOMP_IMP | |
SW_POLOZKA_ZADANKA | |
MOVEIT_PRODEJNI_NABIDKA | |
MOVEIT_PRODEJNI_NABIDKA_RADEK | |
MOVEIT_KONFIGURATOR_POLOZKA_ULOZENI | |
VYROBA_JADRA | |
ENTITY_IMPORT | |
FORMOVANI |
Příklad zavolání reportu
Request má strukturu, která je uvedena na příkladu volání SKL003:
Důležité atributy, které je potřeba naplnit:
- `gaTask` - jméno volby - ve vašem případě by to bylo SKL003
- `maska` - jméno tiskové masky - u vás skl003 (bude se hledat firemní)
- `program` - jméno programu skl003
- `listina` - název listiny - jméno vzniknuvšího souboru s obsahem reportu (nevrací se base64)
- `gaLp` - jméno výstupu (S = pdf), možno i tiskárna z COBCAP např. B_prodejna
- `login` - login pod kterým se provede spuštění
- Dále je potřeba naplnit požadované vstupní údaje GA volby. Např. `gatTyp01 = M` atd.
{ "entityType": "OrImportServant", "id": "startPrint", "properties": { "propertyDesciptor": [ {"name": "gaTyp01", "value": "M"}, {"name": "gaTvon01", "value": "918277764"}, {"name": "gaTvon02", "value": "918277764"}, {"name": "gaTask", "value": "SKL003"}, {"name": "maska", "value": "skl003"}, {"name": "program", "value": "skl003"}, {"name": "listina", "value": "LSKL003"}, {"name": "gaLp", "value": "S"}, {"name": "login", "value": "orfadmin"}, {"name": "gaKom01", "value": "9B"} ] } }
RESPONSE potom vrací jméno sestavy:
{ "SetResponse": { "SetResult": { "DataChangeHandle": null, "DataDescriptorId": "startPrint", "Incidents": null, "InnerResults": null, "Message": "/dlf1/orfdat/firm/polna/listiny/LSKL003_6E.pdf", "OperationCategory": "Set", "Status": "Succeeded" } } }