Preskoči na glavno vsebino

API: Odpojiť / pripojiť spoločnosť

Ako v API odpojiť alebo naopak pripojiť firmu?

Avtor: Alexander Pečeňák

Pri integrácii ABRA Flexi cez API môže nastať potreba pripojiť firmu do inštancie — teda sprístupniť ju používateľom — alebo ju naopak odpojiť a skryť. Na to slúžia endpointy /c/ a /c-all/.


Kedy použiť /c/ a kedy /c-all/?

Endpoint

S čím pracuje

/c/

Iba s pripojenými firmami.

/c-all/

So všetkými firmami, teda aj s odpojenými.

Ak potrebujete firmu pripojiť alebo odpojiť, používajte preto vždy /c-all/.

🚨 Odpojenú firmu už cez /c/ neoslovíte — akýkoľvek dopyt na jej dáta vracia 404 s kódom firmaNeexistuje a hlásením Firma … neexistuje. Pripojiť ju späť preto možno len cez /c-all/. Dáta zostávajú v databáze nedotknuté.


Pripojenie a odpojenie firmy

URL

PUT https://demo.flexibee.eu/c-all/{firma}

Podporované metódy sú PUT a POST. Úspešná operácia vracia 201 s prázdnym telom.

JSON

{
"show": true,
"name": "název firmy v Centrální databázi",
"licenseGroup": "id_licencni_skupiny"
}

XML

<companyInfo>
<show>true</show>
<name>Název firmy</name>
<licenseGroup>id_licencni_skupiny</licenseGroup>
</companyInfo>

Čo jednotlivé hodnoty znamenajú?

Kľúč

Popis

show

true = firma bude pripojená a viditeľná, false = firma sa odpojí.

name

Ľubovoľný názov, ktorý sa zobrazí v centrálnej databáze.

licenseGroup

ID licenčnej skupiny, pod ktorou firma beží. Musí ísť o existujúcu skupinu — inak požiadavka skončí chybou 400 s kódom licenseGroupNotFound.

Žiadny z kľúčov nie je povinný. Neuvedené hodnoty zostanú nezmenené, takže na samotné pripojenie alebo odpojenie stačí poslať iba show. Neznáme kľúče sa potichu ignorujú.

ℹ️ Platné ID licenčnej skupiny zistíte z výpisu firiem — GET /c-all.json vracia pri každej firme okrem show aj licenseGroup, dbNazev, nazev, stavEnum a createDt.


Príklady

Pripojenie firmy

Chcem, aby bola firma dostupná vo výbere firiem:

PUT https://demo.flexibee.eu/c-all/moje_firma

{
"show": true,
"name": "Moje firma s.r.o.",
"licenseGroup": "1"
}

Odpojenie firmy

Firma zostane v databáze, ale nebude viditeľná vo výbere firiem:

PUT https://demo.flexibee.eu/c-all/moje_firma

{
"show": false
}

Odpojená firma z výpisu GET /c.json zmizne, ale v GET /c-all.json zostane s hodnotou show nastavenou na false.


Chybové stavy

Stav

Kód chyby

Príčina

404

firmaNeexistuje

Databázový identifikátor firmy neexistuje — alebo je firma odpojená a použili ste /c/ namiesto /c-all/.

400

licenseGroupNotFound

Uvedená licenčná skupina neexistuje.

⚠️ Tento endpoint nemá príponu formátu, takže sa chyby vracajú ako HTML stránka. Strojovo čitateľnú odpoveď s messageCode dostanete, keď v požiadavke uvediete hlavičku Accept: application/json (alebo application/xml).


Zhrnutie

  • Na manipuláciu s firmami v centrálnej databáze používajte endpoint /c-all/, pretože pracuje aj s odpojenými firmami.

  • Pripojenie a odpojenie firmy vykonáte nastavením hodnoty show.

  • Podporované sú formáty JSON aj XML.


Súvisiace

Ste s tem dobili odgovor na svoje vprašanje?