Přeskočit na hlavní obsah

API: Odpojit / připojit firmu

Jak v API odpojit nebo naopak připojit firmu?

Autor: Petr Pech

Při integraci ABRA Flexi přes API může nastat potřeba připojit firmu do instance — tedy zpřístupnit ji uživatelům — nebo ji naopak odpojit a skrýt. K tomu slouží endpointy /c/ a /c-all/.


Kdy použít /c/ a kdy /c-all/?

Endpoint

S čím pracuje

/c/

Pouze s připojenými firmami.

/c-all/

Se všemi firmami, tedy i s těmi odpojenými.

Potřebujete-li firmu připojit nebo odpojit, používejte proto vždy /c-all/.

🚨 Odpojenou firmu už přes /c/ neoslovíte — jakýkoli dotaz na její data vrací 404 s kódem firmaNeexistuje a hlášením Firma … neexistuje. Připojit ji zpátky proto lze jen přes /c-all/. Data zůstávají v databázi nedotčená.


Připojení a odpojení firmy

URL

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

Podporované metody jsou PUT a POST. Úspěšná operace vrací 201 s prázdným tělem.

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>

Co jednotlivé hodnoty znamenají?

Klíč

Popis

show

true = firma bude připojená a viditelná, false = firma se odpojí.

name

Libovolný název, který se zobrazí v centrální databázi.

licenseGroup

ID licenční skupiny, pod kterou firma běží. Musí jít o existující skupinu — jinak požadavek skončí chybou 400 s kódem licenseGroupNotFound.

Žádný z klíčů není povinný. Neuvedené hodnoty zůstanou beze změny, takže k pouhému připojení nebo odpojení stačí poslat samotný show. Neznámé klíče se tiše ignorují.

ℹ️ Platné ID licenční skupiny zjistíte z výpisu firem — GET /c-all.json vrací u každé firmy kromě show také licenseGroup, dbNazev, nazev, stavEnum a createDt.


Příklady

Připojení firmy

Chci, aby byla firma dostupná ve výběru firem:

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

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

Odpojení firmy

Firma zůstane v databázi, ale nebude vidět ve výběru firem:

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

{
"show": false
}

Odpojená firma z výpisu GET /c.json zmizí, ale ve GET /c-all.json zůstane s hodnotou show nastavenou na false.


Chybové stavy

Stav

Kód chyby

Příčina

404

firmaNeexistuje

Databázový identifikátor firmy neexistuje — nebo je firma odpojená a použili jste /c/ místo /c-all/.

400

licenseGroupNotFound

Uvedená licenční skupina neexistuje.

⚠️ Tento endpoint nemá příponu formátu, takže se chyby vracejí jako HTML stránka. Strojově čitelnou odpověď s messageCode dostanete, když v požadavku uvedete hlavičku Accept: application/json (nebo application/xml).


Shrnutí

  • Pro manipulaci s firmami v centrální databázi používejte endpoint /c-all/, protože pracuje i s odpojenými firmami.

  • Připojení a odpojení firmy provedete nastavením hodnoty show.

  • Podporovány jsou formáty JSON i XML.


Související

Dostali jste odpověď na svou otázku?