verification/openapi.yaml

137 lines
5.7 KiB
YAML
Raw Normal View History

2023-05-25 14:55:20 +00:00
openapi: 3.0.1
info:
title: Сервис логики верификации аккаунта пользователя
description: |-
Область отвественности сервиса - получить на вход набор файлов необходимый для подтверждения статуса пользователя, оповещение менеджера для обработки поступившей заявки и оповещение польовательского сервиса о подтверждении статуса верификации пользователя
version: 1.0.0
tags:
- name: verification
paths:
/verification/{userId}:
get:
description: метод для получения текущего статуса верификации текущего пользователя
parameters:
- name: userId
in: path
required: true
schema:
type: string
tags:
- verification
responses:
'200':
description: успешное получение данных
content:
application/json:
schema:
$ref: '#/components/schemas/Verification'
'401':
description: Неавторизован
/verification:
get:
description: метод для получения текущего статуса верификации текущего пользователя
tags:
- verification
responses:
'200':
description: успешное получение данных
content:
application/json:
schema:
$ref: '#/components/schemas/Verification'
'401':
description: Неавторизован
post:
description: метод подания запроса на верификацию. При получении запроса отправить сообщение в канал телеграмма. Айдишник канала и токен бота передавать через переменные окружения. Файл с шаблоном сообщения встраивать в приложение. В тексте сообщения должно быть место для вставки урла для получения страницы админки с этим запросом, вида https://admin.pena.digital/user/{Id}/verification
tags:
- verification
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
status:
$ref: '#/components/schemas/Status'
inn:
type: file
contentMediaType: application/pdf
contentEncoding: base64
rule:
type: file
contentMediaType: application/pdf
contentEncoding: base64
certificate:
type: file
description: только для status == nko
contentMediaType: application/pdf
contentEncoding: base64
responses:
'200':
description: успешный запрос на верификацию
content:
application/json:
schema:
$ref: '#/components/schemas/Verification'
'401':
description: Неавторизован
patch:
2023-06-09 13:11:55 +00:00
description: метод подтверждения или отклонения верификации. При подтверждении надо передать статус верификации в customer сервис. Эндпоинт для этого получить из переменных окружения. Документация для этого эндпоинта - https://penahub.gitlab.yandexcloud.net/pena-services/customer/-/blob/dev/openapi.yaml PATCH /account/{userId}. Слать запрос туда лучше через воркер, сохраняя задачи на отправку запросов в базу, чтобы не потерялись при перезагрузке сервиса.
2023-05-25 14:55:20 +00:00
tags:
- verification
requestBody:
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: айдишник юзера
status:
$ref: '#/components/schemas/Status'
comment:
type: string
accepted:
type: boolean
responses:
'200':
description: успешное подтверждение или отклонение верификации
'401':
description: Неавторизован
components:
schemas:
Verification:
type: object
properties:
_id:
type: string
description: айдишник юзера, который запросил верификацию
accepted:
type: boolean
status:
$ref: '#/components/schemas/Status'
updated_at:
type: string
format: "date-time"
comment:
type: string
files:
type: array
items:
$ref: '#/components/schemas/File'
File:
type: object
properties:
name:
type: string
url:
type: string
Status:
type: string
description: только no, nko или org
example: nko
enum:
- no
- nko
- org