Preskoči na glavno vsebino

Vytvorenie a zrušenie účelu GDPR

Ako pracovať s účelmi GDPR cez REST API

Avtor: Petr Pech

Účel GDPR spája konkrétny záznam s definíciou účelu spracovania osobných údajov. Cez REST API sa účely nezakladajú samostatným volaním — vytvárajú a rušia sa vnorenými elementmi vytvor-ucel a zrus-ucel vo vnútri importovaného záznamu. Tento návod popisuje oba prípady vrátane toho, ako zistiť identifikátor už existujúceho účelu.


Predpoklady

Aby sa vnorené elementy vykonali, musia byť splnené tri podmienky:

  • Spracovanie GDPR je zapnuté v nastaveniach firmy. Kým nie je zapnuté, import skončí chybou a nezmení sa nič.

  • Definícia účelu je ručne generovateľná. Účely, ktoré si ABRA Flexi zakladá sama, nemožno cez API vytvoriť.

  • Definícia účelu je použiteľná v danej evidencii. Každá definícia je naviazaná na typ záznamu, ku ktorému patrí — definíciu pre vydané faktúry nemožno použiť na prijatú faktúru.

⚠️ Kým je spracovanie GDPR vypnuté, nie sú dostupné ani evidencie ucel a definice-ucelu — dotaz na ne vracia chybu akcePristupOdepren.


Vytvorenie účelu

Účel sa vytvorí elementom vytvor-ucel vo vnútri záznamu evidencie, ktorá podporuje GDPR:

<?xml version="1.0"?>
<winstrom version="1.0">
<faktura-vydana>
<!-- záznam, může být z kterékoliv podporované evidence -->
<id>code:FAKTURA1</id>
<!-- lze normálně uvést další vlastnosti záznamu jako při běžném importu -->
<vytvor-ucel>
<definiceUcelu>code:DEFINICE</definiceUcelu>
<poznam>Uživatelská poznámka</poznam>
<!-- nepovinné -->
</vytvor-ucel>
</faktura-vydana>
</winstrom>

Element vytvor-ucel prijíma:

Element

Povinný

Popis

definiceUcelu

áno

Odkaz na záznam evidencie definice-ucelu. Možno uviesť číselné ID aj skratku v tvare code:.

poznam

nie

Používateľská poznámka k účelu.

Samotný záznam, ku ktorému účel patrí, sa identifikuje rovnako ako pri bežnom importe — číselným ID, skratkou alebo externým identifikátorom.

ℹ️ V návratových hodnotách je ako updated uvedený nadradený záznam, nie účel — vytvorený ani zrušený účel sa do created a deleted nepočíta. Import s parametrom ?dry-run=true iba skontroluje vstup a účel nevytvorí.


Zrušenie účelu

Účel sa od záznamu odviaže a vymaže elementom zrus-ucel, do ktorého sa uvedie identifikátor účelu:

<?xml version="1.0"?>
<winstrom version="1.0">
<faktura-vydana>
<!-- záznam, může být z kterékoliv podporované evidence -->
<id>code:FAKTURA1</id>
<!-- lze normálně uvést další vlastnosti záznamu jako při běžném importu -->
<zrus-ucel>
<id>1</id>
</zrus-ucel>
</faktura-vydana>
</winstrom>


Zistenie identifikátora účelu

Identifikátor účelu sa získa dotazom na konkrétnu evidenciu. Evidencie, ktoré podporujú GDPR, obsahujú reláciu ucely:

GET https://demo.flexibee.eu/c/demo/faktura-vydana/1.json?relations=ucely

Odpoveď obsahuje identifikátory účelov naviazaných na záznam:

{
"winstrom": {
"@version": "1.0",
"faktura-vydana": [
{
"id": "1",
"ucely": [
{ "id": "1" }
]
}
]
}
}

Podrobnosti o účeloch vracia samostatná evidencia ucel — okrem naviazanej definície obsahuje aj platnosť účelu a príznaky pozastaveno a vyreseno:

GET https://demo.flexibee.eu/c/demo/ucel.json?detail=full

Evidencie s reláciou ucely

Reláciu ucely majú tieto evidencie:

Oblasť

Evidencia

Adresár

adresar, kontakt

Faktúry a ostatné pohľadávky a záväzky

faktura-vydana, faktura-prijata, pohledavka, zavazek

Obchodné doklady

objednavka-prijata, nabidka-vydana, poptavka-prijata a ďalšie obchodné doklady

Peňažné a interné doklady

banka, pokladni-pohyb, interni-doklad

Sklad

skladovy-pohyb

Zmluvy a zákazky

smlouva, zakazka

📝 Neznámy názov relácie API ticho ignoruje — v odpovedi sa potom žiadna relácia neobjaví. Ak v odpovedi kľúč ucely chýba, evidencia GDPR nepodporuje, alebo je spracovanie GDPR vypnuté.


Chybové stavy

Všetky nižšie uvedené prípady vracajú 400 a celý import sa nevykoná:

Kód chyby

Príčina

gdprVypnuto

Spracovanie GDPR je v nastaveniach firmy vypnuté.

definiceUceluNegener

Uvedená definícia účelu nie je ručne generovateľná — účely podľa nej zakladá ABRA Flexi sama.

definiceUceluNeVEvid

Uvedená definícia účelu nie je použiteľná v evidencii, do ktorej importujete.

nestedObjectNotFound

Element definiceUcelu odkazuje na neexistujúcu definíciu účelu, alebo element id vo vnútri zrus-ucel na neexistujúci účel.


Súvisiace

Ste s tem dobili odgovor na svoje vprašanje?