Integračná dokumentácia Help

Integrácia cez REST API (ANDROID)

Zariadenie podporuje vzdialené vykonávanie skriptov pomocou jednoduchého rozhrania. Pre integrátorov je poskytnutá jednoduchá tirieda v Jave pre vykonávanie skriptov.

Použitie

Typ zariadenia

poznámka

eKasa

áno

eKasa + POS

áno

POS

áno

Triedu LdmRestAPI v Java je možné stiahnuť na:

Odkaz

V zariadení musí byť nainštalovaná aplikácia EpoPay REST API Server

Vlastnosti

  • Uchováva sa posledných 128 vykonaných skriptov

  • Skripty sa uchovávajú v RAM, tj. nie perzistentne - po reštarte zariadenia nie je možné získať vykonané skripty pred reštartom.

  • Skripty sú vykonávané asynchrónne, tj. skript sa zaradí na spracovanie a pomocou endpointu API je možné sa dotazovať na stav spracovania.

Konštruktor

public LdmRestAPI(String ip, int port) public LdmRestAPI(String ip, int port, String userName, String password)

Synchrónny prístup

Blokujúce vykonanie skriptu.

public String processFmScript(String script) throws RestException

Príklad synchrónneho volania

String script = "getVariable:B51\r\n"; LdmRestAPI ldmRestAPI = new LdmRestAPI("192.168.50.123", 48080); String responseScript; try { responseScript = ldmRestAPI.processFmScript(script); } catch (RestException e) { throw new RuntimeException(e); } if (responseScript != null && !responseScript.isEmpty()) { System.out.println(responseScript); }

Asynchrónny prístup

API umožňuje asynchrónne vykonanie skriptu. Najskôr je potrebné zaradiť skript na spracovanie pomocou metódy pegasScript. Následne je možné sa dotazovať na stav spracovania pomocou metódy getTaskStatus.

public long pegasScript(String script) throws RestException public TasksResponse getTaskStatus(long id) throws RestException

Príklad asynchrónneho volania

String script = "getVariable:B51\r\n"; LdmRestAPI ldmRestAPI = new LdmRestAPI("192.168.50.123", 48080); // Zaradenie skriptu na spracovanie long taskId; taskId = ldmRestAPI.pegasScript(script); // Získanie stavu spracovania TasksResponse tasksResponse; do { tasksResponse = ldmRestAPI.getTaskStatus(taskId); } while (tasksResponse.getStatus() == TasksResponse.Status.RUNNING); // Vyhodnotenie odpovede switch (tasksResponse.getStatus()) { case FINISHED: return tasksResponse.getReport(); case TASK_DOES_NOT_EXIST: throw new TaskDoesNotExistsException("Internal error. Task does not exist"); case FAILURE: throw new TaskProcessingException("Internal error. Task processing error"); default: throw new InternalErrorException("Internal error. Throwing exception because taskResponse status is: " + tasksResponse.getStatus().name()); }

Popis koncových bodov

V prípade potreby integrácie do iného jazyku je možné priame využitie endpointov REST Serveru

Authenticate

Vygenerovanie autentifikačného tokenu

GET http://192.168.50.123:48080/api/authenticate GET /api/authenticate HTTP/1.1 Host: 192.168.50.123:48080 Content-Type: application/json Content-Length: 52 { "userName":"admin", "password":"1111" }

Zaradenie Pegas skriptu na spracovanie

http://192.168.50.123:48080/api/pegas-script POST /api/pegas-script HTTP/1.1 Host: 192.168.50.123:48080 Content-Type: application/json Authorization: Bearer 34cdbf847f579409a876d250454a361a Content-Length: 45 { "pegasScript":"getVariable:B51\r\n" }

Získanie stavu spracovania

http://192.168.50.123:48080/api/tasks/0 GET /api/tasks/1 HTTP/1.1 Host: 192.168.50.123:48080 Authorization: Bearer 34cdbf847f579409a876d250454a361a
Last modified: 23 februára 2026