Návratové hodnoty

Odpovědi na založení záznamů

Lenka Haringerová avatar
Autor: Lenka Haringerová
Aktualizováno před více než týdnem

V návodu se podíváme na návratové hodnoty. Ve dvou předchozích článcích jste se naučili zakládat nové záznamy do ABRA Flexi, tento článek poodhalí, co ABRA Flexi na tuto akci odpovídá.

Flexi na požadavek typu PUT nebo POST vrací strukturu, která informuje uživatele o změnách.

Pokud posíláte data na adresu XML, vrátí ABRA Flexi strukturu v XML formátu.

<?xml version="1.0"?>
<winstrom version="1.0">
  <success>true</success>
  <stats>
    <created>1</created>
    <updated>0</updated>
    <deleted>0</deleted>
    <skipped>0</skipped>
    <failed>0</failed>
  </stats>
  <results>
    <result>
      <id>804</id>
      <ref>/c/demo/adresar/804.xml</ref>
    </result>
  </results>
</winstrom>

Pokud ale zvolíme adresu JSON, tak systém návratovou hodnotu také vrátí ve formátu JSON.

{
    "winstrom": {
        "@version": "1.0",
        "success": "true",
        "stats": {
            "created": "1",
            "updated": "0",
            "deleted": "0",
            "skipped": "0",
            "failed": "0"
        },
        "results": [
            {
                "id": "805",
                "ref": "\/c\/demo\/adresar\/805.json"
            }
        ]
    }
}

Návratové hodnoty je možné zpracovat a zjistit z nich potřebné informace.

Návratová hodnota obsahuje pole:

1. success

Možné hodnoty jsou true a false. V případě, že se zápis podařil, návratovou hodnotou je true. Pokud při zápisu došlo k chybě, vrací ABRA Flexi hodnotu false.

2. stats

Flexi také vrací statistiky obsahující informace, kolik objektů bylo vytvořeno (created), změněno (updated), smazáno (deleted). Kolik objektů bylo přeskočeno (skipped) a kolik objektů se nepodařilo vložit kvůli nějaké chybě (failed).

3. results

Tato kolekce obsahuje identifikátory objektů, které byly v ABRA Flexi založeny a případné výpisy chyb u jednotlivých objektů.

<?xml version="1.0"?>
<winstrom version="1.0">
  <success>false</success>
  <stats>
    <created>0</created>
    <updated>0</updated>
    <deleted>0</deleted>
    <skipped>0</skipped>
    <failed>1</failed>
  </stats>
  <results>
    <result>
      <errors>
        <error for="kod" code="INVALID"> Zkratku 'CHARLIEB' ji&#x17E; pou&#x17E;&#xED;v&#xE1; jin&#xFD; z&#xE1;znam. [CHARLIEB] </error>
      </errors>
    </result>
  </results>
</winstrom>

Ukázka chybové XML návratové hodnoty.

{
    "winstrom": {
        "@version": "1.0",
        "success": "false",
        "stats": {
            "created": "0",
            "updated": "0",
            "deleted": "0",
            "skipped": "0",
            "failed": "1"
        },
        "results": [
            {
                "errors": [
                    {
                        "message": "Zkratku 'CHARLIEB' ji\u017e pou\u017e\u00edv\u00e1 jin\u00fd z\u00e1znam. [CHARLIEB]",
                        "for": "kod",
                        "code": "INVALID"
                    }
                ]
            }
        ]
    }
}

Ukázka chybové JSON návratové hodnoty.

Vaše aplikace tedy hned pozná, co se v ABRA Flexi odehrálo. Může zkontrolovat zda došlo k založení všech objektů a při případné chybě vypsat uživateli chybové hlášení a nechat ho data opravit.

Dostali jste odpověď na svou otázku?