Web API Odpovědi v ABRA Gen
Zde jsou uvedeny možnosti dotazování v ABRA API, které nejsou zcela typické a mohou vyžadovat podrobnější vysvětlení.
 Položky typu Heslo, privátní klíč atd v odpovědi
Položky typu Heslo, privátní klíč atd v odpovědi
                                                        Výstup položek do API, do kterých lze jen zapisovat. Jedná se o různá hesla a další citlivé údaje, které se v databázi neukládají ve formě zadané uživatelem. Místo vyvolání výjimky se vrátí pro takovou položku hodnota null a doprovodná informace ”<fieldname>@masked”: true., aby bylo zřejmé, že položka není nulová, ale data v databázi slouží pouze pro zápis..
Příklad vrácené odpovědi pro dotaz na Uživatele.
[
  {
    "id": "3300000101",
    "secpassword": null,
    "secpassword@masked": true,
    "displayname": "PEBL Petr Blok"
  },
  {
    "id": "4300000101",
    "secpassword": null,
    "secpassword@masked": true,
    "displayname": "DARA Daniel Rasák"
  },
  .......
                                                             ODpověď, kdy uživatel nemá právo na BO dotazovaný pomocí tečkové notace
ODpověď, kdy uživatel nemá právo na BO dotazovaný pomocí tečkové notace
                                                        Pokud se dotazujeme skrze jeden BO na jiný, tedy přes rozvinutou tečkovou notaci a na tento odkazovaný objekt nemá daný API uživatel právo, vrátí se hodnota jako null ale s pomocnou informací <fieldname>@unauthorized: true, aby bylo zřejmé, že položka není nulová, ale uživatel nemá k položce přístup.
Příklad vrácené odpovědi, kdy se uživatel z Faktury vydané dotazuje přes tečkovou notaci na informace k objednávce přijaté, ale nemá na některé položky BO objektu oprávnění.Uživatel tak vidí z objednávek pouze její ID.
{
    "description": "test",
    "id": "2540000101",
    "ordnumber": 1,
    "ReceivedOrder_ID": "2540000101",
    "ReceivedOrder_ID.OrdNumber": null,
    "ReceivedOrder_ID.OrdNumber@unauthorized": true,
    "ReceivedOrder_ID.DocQueue_ID.Code": null,
    "ReceivedOrder_ID.DocQueue_ID.Code@unauthorized": true,
                                                             Klíče na firmě - dotaz a vrácená odpověď
Klíče na firmě - dotaz a vrácená odpověď
                                                        Pokud potřebujeme zapsat i současně získat položky Klíče z nějaké konkrétní firmy můžeme použít serverstate a přes něj poslat dotaz, který provede současně uložení nějakých údajů a vypsání údajů existujících. Používá se k tomu pole AdrKeysDefinitionsBlobStructure, které se nachází v BO Globdata. Pole zpřístupňuje názvy klíčů a jejich hodnot. Objekt navázaný na pole AdrKeysDefinitionsBlobStructure obsahuje 16 polí Key00..Key15, která odkazují na další objekt s poli Name, ValueName000..ValueName255.
V tomto příkladu si ukážeme případ, kdy do klíče key00 zapisujeme hodnoty do položek Valuename005 a do položky key15 zapisujeme do položek Name, valuename000, Valuename001. Na zbytek hodnot se doptáváme.
Dotaz:
POST http://localhost:81/demodata/serverstate
					{
    "cacheid": "",
    "type": "load",
    "data": {
        "class": "globdatas",
        "object_id": "1000000000",
        "object_data": {
            "adrkeysdefinitionsblobstructure": {
                "key00": {
                    "valuename005": "ahoj"
                },
                "key15": {
                    "name": "Obchodní vztah",
                    "valuename000": "Dodavatel",
                    "valuename001": "Odběratel"
                }
            }
        },
        "query": {
            "select": [
                "adrkeysdefinitionsblob",
                "adrkeysdefinitionsblobstructure.key00.name",
                "adrkeysdefinitionsblobstructure.key00.valuename000",
                "adrkeysdefinitionsblobstructure.key00.valuename001",
                "adrkeysdefinitionsblobstructure.key00.valuename002",
                "adrkeysdefinitionsblobstructure.key00.valuename003",
                "adrkeysdefinitionsblobstructure.key00.valuename004",
                "adrkeysdefinitionsblobstructure.key00.valuename005",
                "adrkeysdefinitionsblobstructure.key00.valuename006",
                "adrkeysdefinitionsblobstructure.key00.valuename007",
                "adrkeysdefinitionsblobstructure.key01.name",
                "adrkeysdefinitionsblobstructure.key01.valuename000",
                "adrkeysdefinitionsblobstructure.key01.valuename001",
                "adrkeysdefinitionsblobstructure.key15.name",
                "adrkeysdefinitionsblobstructure.key15.valuename000"
            ]
        }
    }
}
                                                                Odpověď:
{
    "data": {
        "adrkeysdefinitionsblob":"AgESAAAAAAACAwIBBgEwAAIHAgIGB0tleU5hbWUAAgAUDwAAAE9iY2hvZG7DrSB2enRhaAICBgEwAAIABglEb2RhdmF0ZWwCAgYBMQACABQTAAAAT2RixJtyYXRlbCBrb25jb3bDvQICBgEyAAIABhFQcm9kZWpjZSAvIGRlYWxlcgICBgEzAAIAFBwAAABTdMOhdG7DrSBpbnN0aXR1Y2UgYSDDusWZYWR5AgIGATQAAgAGClZJUCBrbGllbnQCAgYBNQACAAYEYWhvagIBBgExAAIGAgIGB0tleU5hbWUAAgAUEAAAAFpwxa9zb2Iga29udGFrdHUCAgYBMAACAAYJeiBpbnplcmNlAgIGATEAAgAUDgAAAHogV1dXIHN0csOhbmVrAgIGATIAAgAUDAAAAG9kIHpuw6Ftw6lobwICBgEzAAIAFAoAAAB6IHbDvXN0YXZ5AgIGATQAAgAGDnogZGlyZWN0IG1haWx1AgEGAjE1AAIDAgIGB0tleU5hbWUAAgAUDwAAAE9iY2hvZG7DrSB2enRhaAICBgEwAAIABglEb2RhdmF0ZWwCAgYBMQACABQKAAAAT2RixJtyYXRlbA==",
        "adrkeysdefinitionsblobstructure.key00.name": "Obchodní vztah",
        "adrkeysdefinitionsblobstructure.key00.valuename000": "Dodavatel",
        "adrkeysdefinitionsblobstructure.key00.valuename001": "Odběratel koncový",
        "adrkeysdefinitionsblobstructure.key00.valuename002": "Prodejce / dealer",
        "adrkeysdefinitionsblobstructure.key00.valuename003": "Státní instituce a úřady",
        "adrkeysdefinitionsblobstructure.key00.valuename004": "VIP klient",
        "adrkeysdefinitionsblobstructure.key00.valuename005": "ahoj",
        "adrkeysdefinitionsblobstructure.key00.valuename006": "",
        "adrkeysdefinitionsblobstructure.key00.valuename007": "",
        "adrkeysdefinitionsblobstructure.key01.name": "Způsob kontaktu",
        "adrkeysdefinitionsblobstructure.key01.valuename000": "z inzerce",
        "adrkeysdefinitionsblobstructure.key01.valuename001": "z WWW stránek",
        "adrkeysdefinitionsblobstructure.key15.name": "Obchodní vztah",
        "adrkeysdefinitionsblobstructure.key15.valuename000": "Dodavatel",
        "@meta": {
            "version": 1
        }
    }
}