141 lines
5.8 KiB
YAML
141 lines
5.8 KiB
YAML
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
|
||
egrule:
|
||
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:
|
||
description: метод подтверждения или отклонения верификации. При подтверждении надо передать статус верификации в customer сервис. Эндпоинт для этого получить из переменных окружения. Документация для этого эндпоинта - https://penahub.gitlab.yandexcloud.net/pena-services/customer/-/blob/dev/openapi.yaml PATCH /account/{userId}. Слать запрос туда лучше через воркер, сохраняя задачи на отправку запросов в базу, чтобы не потерялись при перезагрузке сервиса.
|
||
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 |