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

[DRAFT] Get Personal info [API-005-010-006-0207]

Сторінка знаходиться в процесі розробки. Інформація на ній може бути застарілою.

REST API method / Метод REST API (настанова) (remove the link block before publishing the document)

Properties of a REST API method document

Document type

Метод REST API

Document title

[DRAFT] Get Personal info [API-005-010-006-0207]

Guideline ID

GUI-0011

Author

@Viacheslav Tybin (SoE eHealth)

Document version

1

Document status

DRAFT

Date of creation

ХХ.ХХ.ХХХХ (дата фінальної версії документа – RC або PROD)

Date of update

ХХ.ХХ.ХХХХ (дата зміни версії)

Method API ID

API-005-010-006-0207

Microservices (namespace)

IL

Component

Patient Cabinet

Component ID

COM-005-010

Link на API-специфікацію

https://ehealthmisapi1.docs.apiary.io/#reference/public.-patient-cabinet/cabinet/get-personal-info

Resource

{{host}}/api/cabinet/persons

Scope

 

Protocol type

REST

Request type

GET

Sync/Async

Sync

Public/Private

Public

Purpose

This WS is designed to get the personal information of patient by token

Logic

N/A

Configuration parameters

N/A

Dictionaries

N/A

Input parameters

Input parameter

Mandatory

Type

Description

Example

Input parameter

Mandatory

Type

Description

Example

1

 

 

 

 

 

2

 

 

 

 

 

Request structure

See on API-specification

Headers

Headers

Request data validation

Validate token

  • Check token existance

    • in case error return 404 - token was not found

  • Check expiration date tokens.expires_at 

    • if  tokens.expires_at < now() return 401 - access denied

  • Extract user_id from token

Validate role

  • Check users_roles.user_id=&.user and user_roles.role_id = roles.id where roles.name = CABINET

    • in case error return 403

Validate person

  • Check if mithril.users.person_id = mpi.persons.id and mithril.users.tax_id = mpi.persons.tax_id

    • in case error return 401

  • Check if users.is_blocked = false

    • in case error return 401

  • Check users password is not expired

    • in case error return 401 - password expired

Processing

In case nothing found return 404 - user was not found

Response structure examples

See on API-specification

{ "meta": { "code": 200, "url": "https://example.com/resource", "type": "object", "request_id": "6617aeec-15e2-4d6f-b9bd-53559c358f97#17810" }, "data": { "first_name": "Петро", "last_name": "Іванов", "second_name": "Миколайович", "id": "7e9cffd9-c75f-45fb-badf-6e8d20b6a8a8" } }

HTTP status codes

Response code

HTTP Status code

Message

Internal name

Description

Response code

HTTP Status code

Message

Internal name

Description

1

Базові

2

 

200

 Response

 

 

3

 

401

 

Validation failed

 

4

 

403

 

Validation failed

 

5

 

404

 

Validation failed

 

6

Специфічні

7

 

 

 

 

 

Post-processing processes

N/A

Technical modules where the method is used

 

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