---
title: Přihlášení/odhlášení + uvolnění terminálu
description: "Od verze aplikace 1.75.2 a AIDL knihovny 1.28 je možné se pomocí app2app API přihlásit/odhlásit do aplikace přímo z Vašeho systému. Zároveň je možné si terminál uvolnit v případě, že se již používal na jiném zařízení. # # **Přihlášení do…"
url: "https://www.gptom.com/el/docs/api/app2app/login-logout-uvolneni-terminalu/"
updated: "2026-10-21"
category: app2app API
tags:
  - android
---

# Přihlášení/odhlášení + uvolnění terminálu

Od verze aplikace 1.75.2 a AIDL knihovny 1.28 je možné se pomocí app2app API přihlásit/odhlásit do aplikace přímo z Vašeho systému. Zároveň je možné si terminál uvolnit v případě, že se již používal na jiném zařízení.

#

#

**Přihlášení do aplikace**

**Request**

Vstupní hodnotou jsou parametry, které jsou obsaženy jako json v LoginEntity:

**Povinné atributy:**

- - **username**: e-mail pro přihlášení do aplikace Genius mobile pay
  - **password**: heslo pro daného uživatele do aplikace Genius mobile pay
  - **terminalId**: TID/ id terminálu

**Nepovinné atributy:**

- **authCode**: Autentizační kód, který je použit k uvolnění obsazeného TID

***void login(String username, String password, String terminalId)***

*LoginEntity(*

*/\* username = \*/ username,*

*/\* password = \*/ password,*

*/\* terminalId = \*/ terminalId,*

*/\* authCode = \*/ authCode*

*`)`*

**Response - stavy**

Tabulka níže uvádí seznam stavů, které můžete obdržet. Jako úspěšný stav se považuje **`USER_LOGGED_IN`** nebo **`TID_ASSIGNED_AND_LOGGED_IN`**.

V případě, pokud obdržíte stavový kód **`TID_RELEASE_REQUEST`**, je nutné zavolat login API znova a tentokrát vyplnit parametr **`authCode`**, který je automaticky zaslán do emailu. Systém následně vrátí status **`TID_ASSIGNED_AND_LOGGED_IN`** - systém přiřadil TID danému uživateli a přihlásil jej.

Zbylé stavy indikují chybový stav a důvod vzniku této chyby.

Pokud v rámci přihlášení je vrácen stav **`PASSWORD_CHANGE_REQUIRED`**, jedná se o první přihlášení, v rámci kterého je nutné nejprve provést změnu hesla.

**Prvotní přihlášení do aplikace se změnou hesla**

Pokud obdržíte stav **`PASSWORD_CHANGE_REQUIRED`**, jedná se o první přihlášení daného uživatele a je třeba nastavit nové heslo. Nové heslo se nastavuje dvoukrokově.

 

***void changePassword (String oldPass, String newPass, String authCode, boolean validationOnly)***

**V prvním kroku jsou v rámci requestu vyplněny atributy:**

- **oldPass** - prvotní heslo uživatele
- **newPass** - nové heslo uživatele
- **authCode** - null
- **validationOnly** - true

Tím dojde k vygenerování autorizačního kódu, který je odeslán na email. V rámci tohoto kroku je vám vrácen stav **`PASSWORD_PENDING_CONFIRMATION`**.

**Autorizační kód je nutné použít ve druhém kroku, kde jsou atributy vyplněny následovně:**

- **oldPass** - prvotní heslo uživatele
- **newPass** - nové heslo uživatele
- **authCode** - kód zaslaný do emailu
- **validationOnly** - false

Pokud je validační kód správný je vám vrácen status **`PASSWORD_CHANGED`**. V tomto momentě má uživatel změněné heslo a můžete jej přihlásit do aplikace.

**Odhlášení z aplikace**

V rámci app2app API je také možné daného uživatele z vybraného TID odhlásit a to prostřednictvím endpointu.

***void logout()***

Po úspěšném odhlášení je vám vrácen stav **`USER_LOGGED_OUT`**. Pokud by odhlášení skončilo chybou je vrácen stav **`LOGOUT_FAILED`**.

**Příklady použití**

**Login**

***val intent = Intent("com.globalpayments.atom.BIND_TO_LOGIN_SERVICE")****context.bindService(intent, connection,** **Context.BIND_AUTO_CREATE)***

``

service?.registerCallback(callback)

*val loginEntity = LoginEntity(*

*/\* username = \*/ username,*

*/\* password = \*/ password,*

*/\* terminalId = \*/ terminalId,*

*/\* authCode = \*/ authCode*

*)*

***service?.login(Gson().toJson(loginEntity))***

*``*

**Změna hesla**

**// Step 1 – validation (request code)**

***val changePasswordValidationEntity = ChangePasswordEntity(***

*/\* oldPass = \*/ currentPassword,*
*/\* newPass = \*/ newPassword,*
*/\* authCode = \*/ null,*
*/\* validationOnly = \*/ true,*
*)*
***service?.changePassword(Gson().toJson(changePasswordValidationEntity))***

**// Step 2 – apply new password with code**

***val changePasswordEntity = ChangePasswordEntity(***

/\* oldPass = \*/ currentPassword,

/\* newPass = \*/ newPassword,

/\* authCode = \*/ authCode,

/\* validationOnly = \*/ false,
)
***service?.changePassword(Gson().toJson(changePasswordEntity))***

**Odhlášení**

***service?.logout()***

**Stavové kódy**

     Kód / Code
 USER_LOGGED_IN
 USER_LOGGED_OUT
 LOGIN_FAILED
 LOGOUT_FAILED
 INVALID_CREDENTIALS
 INVALID_ARGUMENT
 TID_NOT_ASSIGNED_TO_THIS_USER
 ANOTHER_TID_USED_ON_THIS_DEVICE
 TID_ASSIGNED_AND_LOGGED_IN
 TID_NOT_FOUND
 TID_NOT_ACTIVE
 TID_NOT_SELECTED
 TID_RELEASE_REQUEST
 TID_RELEASE_INVALID_CODE
 PASSWORD_CHANGE_REQUIRED
 PASSWORD_PENDING_CONFIRMATION
 PASSWORD_CHANGED
 PASSWORD_CHANGE_FAILED   Popis / Description
 CZ: Uživatel byl úspěšně přihlášen.
EN: User successfully logged in.
 CZ: Uživatel byl úspěšně odhlášen.
EN: User successfully logged out.
 CZ: Pokus o přihlášení byl neúspěšný.
EN: Login attempt failed.
 CZ: Pokus o odhlášení byl neúspěšný.
EN: Logout attempt failed.
 CZ: Nesprávné uživatelské jméno nebo heslo.
EN: Invalid username or password.
 CZ: Chybějící nebo nesprávný údaj.
EN: Missing or invalid parameter.
 CZ: ID terminálu není přiřazeno k tomuto uživateli.
EN: Terminal ID not linked to this user.
 CZ: K tomuto TID/uživateli je již přiřazeno jiné zařízení.
EN: Another TID/user is active on this device.
 CZ: Terminál byl úspěšně přiřazen a uživatel byl přihlášen.
EN:Terminal successfully assigned and user logged in.
 CZ: ID terminálu nebylo nalezeno.
EN: Terminal ID not found.
 CZ: ID terminálu je deaktivováno nebo neplatné.
EN: Terminal ID is inactive or disabled.
 CZ: Žádný terminál nebyl nalezen.
EN: No terminal selected for this session.
 CZ: Pokud je Terminal ID již obsazeno někým jiným a není poskytnut autorizační kód, služba požádá o autorizační kód k uvolnění TID.
 EN: If the Terminal ID is already occupied by someone else and no authorization Code is provided, the service will request an authorization code to release the TID.
 CZ: Byl vložen nesprávný autorizační kód pro uvolnění terminálu.
 EN: Wrong authCode for TID release was provided.
 CZ: Uživatel musí změnit heslo než se přihlásí.
EN: User must change password before login.
 CZ: Autorizační kód pro změnu hesla byl odeslán.
EN: Confirmation code sent for password change.
 CZ: Heslo bylo úspěšně změněno.
EN: Password successfully changed.
 CZ: Pokus o změnu hesla selhal.
EN: Password change attempt failed.
