Identifikátory a datové typy¶
Identifikátory záznamů¶
Název |
Ukázka |
Poznámka |
|---|---|---|
Interní ID |
|
Přiděluje AbraFlexi, nelze měnit. Databázová sekvence — nikdy se nepřidělí dvakrát (ani po smazání záznamu), ale nezaručuje číselnou návaznost (rollback číslo zahodí). |
Kód / zkratka |
|
Uživatelské označení, lze měnit v aplikaci. |
Key (interní UUID) |
|
Náhodný identifikátor přidělený dokladům, neměnný. |
PLU |
|
Identifikační kód pro prodej (typicky 4–5 místné číslo). |
EAN |
|
Čárový kód; lze dohledat i podle EAN balení. |
Externí identifikátor |
|
Skládá se z identifikátoru externího systému a identifikátoru řádku v něm. Musí být unikátní v rámci celé evidence. Nelze měnit z aplikace, jen z externích systémů. |
Hybridní identifikátor |
|
Chová se podle kontextu: pokud UUID firmy odpovídá cílové firmě,
funguje jako interní ID; jinak jako externí ID. Aktivuje se
|
VAT ID |
|
DIČ (ČR) / IČ DPH (SK). |
IČO |
|
Identifikátor dle IČO. |
IBAN |
|
Identifikátor dle kódu IBAN. |
Vytvoření/aktualizace podle identifikátoru: pokud identifikátor jiného typu než interní neexistuje, vytvoří se nový záznam; jinak se aktualizuje existující:
{"winstrom": {"cenik": [{"id": "code:T100", "nazev": "Téčko 100 mm"}]}}
Vícenásobné identifikátory (musí ukazovat na tentýž záznam, jinak chyba; neexistující se ignorují — vhodné pro postupné doplňování z externích systémů):
<cenik>
<id>123</id>
<id>code:KRABICE</id>
</cenik>
Mimo importní XML (URL, ostatní pole) se více identifikátorů zapisuje
speciální syntaxí se závorkami: [123][code:CZK][ext:SHOP:abc] (znaky
[, ], , uvnitř identifikátoru je nutné escapovat zpětným
lomítkem a URL-encode celku).
Postupné přidávání dalších externích identifikátorů k existujícímu záznamu (inkrementální aktualizace):
<cenik id="123">
<id>ext:SHOP:abc</id>
<id>ext:SYSTEM3:xyz</id>
</cenik>
V JSON je validní i kombinovaný zápis: "cenik": "[code:NIKON][123][ext:SHOP:abc]".
Mazání externích identifikátorů: atribut evidence removeExternalIds,
jehož hodnota je prefix mazaných identifikátorů (prázdný řetězec = smazat
všechny; prefix ext: v hodnotě není nutné uvádět):
<cenik removeExternalIds="SYSTEM">
<id>123</id>
<id>ext:SHOP:123</id>
</cenik>
U položek dokladu lze removeExternalIds uvést společně pro všechny
položky, nebo přímo na konkrétní položce (má přednost).
Filtrování dle externího ID:
/c/firma/faktura-vydana/(id=='ext:EXTERNI_ID')
Podporované datové typy¶
Používají se při exportu/importu i při filtraci.
Typ |
Název |
Poznámka |
Ukázka |
|---|---|---|---|
|
Řetězec |
Kódování unicode, libovolný znak. |
|
|
Celé číslo |
Bez mezer; 4bajtový integer se znaménkem, rozsah může být u konkrétního pole omezen. |
|
|
Desetinné číslo |
Bez mezer, desetinná tečka; 8bajtový double. |
|
|
Datum |
|
|
|
Datum + čas |
|
|
|
Logická hodnota |
|
|
|
Výběr z hodnot |
Reprezentován jako řetězec. |
|
|
Vazba na jinou evidenci |
Hodnotou je libovolný podporovaný identifikátor. |
|
Identifikátor firmy¶
Firemní identifikátor (dbNazev, používaný jako {firma} ve všech
/c/{firma}/... URL) se odvozuje z názvu firmy při jejím založení: malá
písmena, číslice a podtržítko, ostatní znaky nahrazeny podtržítkem; při
kolizi se doplní pořadové číslo. Zůstává neměnný i po přejmenování firmy;
smazaná firma může uvolnit svůj identifikátor pro novou firmu.
Seznam všech firem na serveru (bez nutnosti znát konkrétní firemní identifikátor předem, jen serverová autentizace):
GET /c.json?limit=0
Pole odpovědi: dbNazev (identifikátor), nazev (zobrazovaný název),
id, createDt, licenseGroup, show (viditelná), watchingChanges
(zapnuté Changes API), stavEnum: ESTABLISHING | ESTABLISHED |
MAINTENANCE.