ЕСОЗ - публічна документація

(GraphQL) Get Global Parameters

Purpose

This WS is designed to allow NHS employee with assigned appropriate scopes to get information about global parameters.

Specification

Link

Посилання на Apiary або Swagger

Resource

/graphql

Посилання на ресурс, наприклад: /api/persons/create

Scope

global_parameters:read

Scope для доступу

Components

GlobalParameters

Зазначається перелік бізнес компонентів, які використовують цей метод, наприклад: ePrescription

Microservices

fe/admin-web

Перелік мікросервісів, які використовує метод API, наприклад: Auth, ABAC

Protocol type

GraphQL

Тип протоколу, який використовується запитом, наприклад: SOAP | REST

Request type

POST

Тип запиту API, наприклад: GET, POST, PATCH…

Sync/Async

Sync

Метод є синхронним чи асинхронним?

Public/Private/Internal

Private

Потрібно зазначити тип методу за ступенем доступності

Logic

This is a graphQl query method used in Administration panel only to get global parameters data . Only authenticated and authorized NHS employee with appropriate scope can get global parameters data.

Request structure

 

Example:

{ "operationName":"GlobalParametersQuery", "variables":{}, "query":"query GlobalParametersQuery {globalParameters {...GlobalParameters __typename }}fragment GlobalParameters on GlobalParameters {adultAge billingDate declarationRequestExpiration employeeRequestExpiration verificationRequestExpiration declarationLimit declarationTerm phoneNumberAuthLimit medicationDispensePeriod biUrl __typename}" }

Authorize

Request to process the request using a token in the headers.

  1. Verify the validity of access token

    1. Return 401 in case validation fails

  2. Verify that token is not expired

    1. in case of error - return (401, 'Invalid access token')

  3. Check user scopes

    1. global_parameters:read in order to get global parameters

      1. Return 403 in case invalid scope(s) "Your scope does not allow to access this resource. Missing allowances: global_parameters:read

Headers

Content-Type:application/json

Authorization:Bearer {{access_token}}

Request data validation

Processing

  1. Get data from prm DB.

  2. Render a response according to specification.

Response structure

Example:

{ "data": { "globalParameters": { "__typename": "GlobalParameters", "adultAge": 18, "biUrl": "https://app.powerbi.com/view?r=eyJrIjoiYTkxMWZmOTYtY2M5OS00YTYzLTk4MWItZmQwZTVkOGU1NjZhIiwidCI6IjA0ZWM2MTdmLTkwMWMtNDMzMS04OTVlLWE2YTZmNGJiMWI3YiIsImMiOjl9", "billingDate": 2, "declarationLimit": 2000, "declarationRequestExpiration": 1, "declarationTerm": 99, "employeeRequestExpiration": 28, "medicationDispensePeriod": 10, "phoneNumberAuthLimit": 600, "verificationRequestExpiration": 1 } }, "extensions": { "requestId": "c0a5041a-dd4e-4e0d-8eb8-69d46da1f423#36" } }

HTTP status codes

HTTP status code

Message

What caused the error

HTTP status code

Message

What caused the error

 200

 Response

 

401

Access denied

Invalid token

403

Your scope does not allow to access this resource. Missing allowances: {{scope}}

Scope is missing

 

ЕСОЗ - публічна документація