SmartForms API
V této části dokumentu najdete postup, jak získat a upravit metadata formulářů pomocí GraphQL API.
GraphQL je dotazovací jazyk pro tvorbu rozhraní pro programování aplikací (API, tedy Application Programming Interface).
Jaká potřebujete oprávnění
Upravovat metadata SmartForms může pouze přihlášený uživatel. Ten musí být obsazen v roli administrátora nebo v roli správce agend. Upravovat metadata může také běžící agenda.
Jak získat seznam SmartForms
Seznam SmartForms lze získat dotazem položeným prostřednictvím dotazovacího jazyka GraphQL.
-
Koncový bod: /api/sofa/v1/graphql
-
Metoda: POST
-
Hlavičky: Content-Type: application/json
Příklad zadání
Zde je uveden příklad položení dotazu v GraphQL.
query SmartForms { forms { forms{ category code department description(language: CZ) description_Localization { cz en # sk } displayName(language: CZ) displayName_Localization { cz en # sk } division from icon id link mode orgUnit state to type } } }
Příklad výsledku
A tak může vypadat odpovídající výsledek.
{ "data": { "forms": { "forms": [ { "category": "1", "code": "SMART_FORM", "department": null, "description": null, "description_Localization": null, "displayName": "Formulář", "displayName_Localization": { "cz": "Formulář", "en": "Form" }, "division": null, "from": null, "icon": "https://sofa.602.cz:44317/Images/empty-image_48_obecna.png", "id": "17f50d95-566e-47fb-8309-a9ce54f346a4", "link": "https://sofa.602.cz/fas/formservice/filler.open?filingid=ffc39fae-9a98-413d-bc2b-d46b3f4a1f8e", "mode": "RESPONSIVE", "orgUnit": "3", "state": "3", "to": null, "type": "SINGLE" } ] } } }
Jak upravit metadata SmartForm
V této kapitole je uveden příklad, jak metadata ve SmartForm upravit.
Příklad zadání
Zde je uveden příklad položení dotazu v GraphQL.
mutation updateSmartForms { forms { updateForm(form: { id: "17f50d95-566e-47fb-8309-a9ce54f346a4" displayName_Localization: { cz: "Změněný název" en: "changed name" } description_Localization: { cz: "Poznámka" en: "Note" } code: "kód" category: "1" state: "1" orgUnit: "1" department: "1" division: "1" from: null to: null }) { category code department description(language: CZ) description_Localization { cz en # sk } displayName(language: CZ) displayName_Localization { cz en # sk } division from icon id link mode orgUnit state to type } } }
Příklad výsledku
A tak může vypadat odpovídající výsledek.
{ "data": { "forms": { "updateForm": { "category": "1", "code": "kód 1", "department": null, "description": null, "description_Localization": null, "displayName": "Změněný název", "displayName_Localization": { "cz": "Změněný název", "en": "changed name" }, "division": null, "from": null, "icon": "https://sofa.602.cz:44317/Images/empty-image_48_obecna.png", "id": "17f50d95-566e-47fb-8309-a9ce54f346a4", "link": "https://sofa.602.cz/fas/formservice/filler.open?filingid=ffc39fae-9a98-413d-bc2b-d46b3f4a1f8e", "mode": "RESPONSIVE", "orgUnit": "3", "state": "1", "to": null, "type": "SINGLE" } } } }
Data číselníků
V této kapitole je popsán postup, jak pomocí dotazu v GraphQL získat data číselníku ze SmartForms.
Nejprve si uveďme, jaká jsou Id číselníků, které jsou použity v metadatech SmartForms.
-
Kategorie Id: ‘sys_form_category’
-
Stav formuláře Id: ‘sys_form_state’
-
Organizační jednotka Id: ‘sys_org_unit’
-
Oddělení: Id: ‘sys_department’
-
Odbor: Id: ‘sys_division’