verification/docs/openapi.yaml

165 lines
6.4 KiB
YAML
Raw Normal View History

openapi: 3.0.3
2023-06-12 14:19:10 +00:00
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":
2023-06-12 14:19:10 +00:00
description: успешное получение данных
content:
application/json:
schema:
$ref: "#/components/schemas/Verification"
"401":
2023-06-12 14:19:10 +00:00
description: Неавторизован
/verification:
get:
description: метод для получения текущего статуса верификации текущего пользователя
tags:
- verification
responses:
"200":
2023-06-12 14:19:10 +00:00
description: успешное получение данных
content:
application/json:
schema:
$ref: "#/components/schemas/Verification"
"401":
2023-06-12 14:19:10 +00:00
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"
2023-06-12 14:19:10 +00:00
inn:
type: string
format: base64
2023-06-12 14:19:10 +00:00
rule:
type: string
format: base64
2023-06-12 14:19:10 +00:00
certificate:
type: string
2023-06-12 14:19:10 +00:00
description: только для status == nko
format: base64
2023-06-12 14:19:10 +00:00
responses:
"200":
2023-06-12 14:19:10 +00:00
description: успешный запрос на верификацию
content:
application/json:
schema:
$ref: "#/components/schemas/Verification"
"401":
2023-06-12 14:19:10 +00:00
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"
2023-06-12 14:19:10 +00:00
comment:
type: string
accepted:
type: boolean
2023-10-25 07:58:55 +00:00
taxnumber:
type: string
description: ИНН пользователя
2023-10-25 08:02:09 +00:00
example: "987654321098"
2023-06-12 14:19:10 +00:00
responses:
"200":
2023-06-12 14:19:10 +00:00
description: успешное подтверждение или отклонение верификации
"401":
description: Неавторизован
/verification/file:
patch:
description: "метод для обновления файла/файлов верификации"
tags:
- verification
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
inn:
type: string
format: base64
rule:
type: string
format: base64
certificate:
type: string
description: только для status == nko
format: base64
responses:
"200":
description: успешно
"401":
2023-06-12 14:19:10 +00:00
description: Неавторизован
components:
schemas:
Verification:
type: object
properties:
_id:
type: string
description: айдишник юзера, который запросил верификацию
accepted:
type: boolean
status:
$ref: "#/components/schemas/Status"
2023-06-12 14:19:10 +00:00
updated_at:
type: string
format: "date-time"
comment:
type: string
files:
type: array
items:
$ref: "#/components/schemas/File"
2023-06-12 14:19:10 +00:00
File:
type: object
properties:
name:
type: string
url:
type: string
Status:
type: string
description: только no, nko или org
example: nko
enum:
- no
- nko
- org