@gyramais/mcp-server 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/gyra-mcp-internal.d.ts +3 -0
- package/dist/bin/gyra-mcp-internal.d.ts.map +1 -0
- package/dist/bin/gyra-mcp-internal.js +8 -0
- package/dist/bin/gyra-mcp-internal.js.map +1 -0
- package/dist/bin/gyra-mcp.d.ts +7 -0
- package/dist/bin/gyra-mcp.d.ts.map +1 -0
- package/dist/bin/gyra-mcp.js +7 -0
- package/dist/bin/gyra-mcp.js.map +1 -0
- package/dist/enrichments/auth.enrichment.d.ts +3 -0
- package/dist/enrichments/auth.enrichment.d.ts.map +1 -0
- package/dist/enrichments/auth.enrichment.js +20 -0
- package/dist/enrichments/auth.enrichment.js.map +1 -0
- package/dist/enrichments/credential.enrichment.d.ts +3 -0
- package/dist/enrichments/credential.enrichment.d.ts.map +1 -0
- package/dist/enrichments/credential.enrichment.js +62 -0
- package/dist/enrichments/credential.enrichment.js.map +1 -0
- package/dist/enrichments/credit-policy.enrichment.d.ts +3 -0
- package/dist/enrichments/credit-policy.enrichment.d.ts.map +1 -0
- package/dist/enrichments/credit-policy.enrichment.js +48 -0
- package/dist/enrichments/credit-policy.enrichment.js.map +1 -0
- package/dist/enrichments/index.d.ts +10 -0
- package/dist/enrichments/index.d.ts.map +1 -0
- package/dist/enrichments/index.js +23 -0
- package/dist/enrichments/index.js.map +1 -0
- package/dist/enrichments/insight.enrichment.d.ts +3 -0
- package/dist/enrichments/insight.enrichment.d.ts.map +1 -0
- package/dist/enrichments/insight.enrichment.js +37 -0
- package/dist/enrichments/insight.enrichment.js.map +1 -0
- package/dist/enrichments/public-endpoints.d.ts +15 -0
- package/dist/enrichments/public-endpoints.d.ts.map +1 -0
- package/dist/enrichments/public-endpoints.js +44 -0
- package/dist/enrichments/public-endpoints.js.map +1 -0
- package/dist/enrichments/report.enrichment.d.ts +3 -0
- package/dist/enrichments/report.enrichment.d.ts.map +1 -0
- package/dist/enrichments/report.enrichment.js +133 -0
- package/dist/enrichments/report.enrichment.js.map +1 -0
- package/dist/enrichments/section.enrichment.d.ts +3 -0
- package/dist/enrichments/section.enrichment.d.ts.map +1 -0
- package/dist/enrichments/section.enrichment.js +24 -0
- package/dist/enrichments/section.enrichment.js.map +1 -0
- package/dist/enrichments/types.d.ts +26 -0
- package/dist/enrichments/types.d.ts.map +1 -0
- package/dist/enrichments/types.js +2 -0
- package/dist/enrichments/types.js.map +1 -0
- package/dist/enrichments/webhook.enrichment.d.ts +3 -0
- package/dist/enrichments/webhook.enrichment.d.ts.map +1 -0
- package/dist/enrichments/webhook.enrichment.js +61 -0
- package/dist/enrichments/webhook.enrichment.js.map +1 -0
- package/dist/scripts/enrich-spec.d.ts +3 -0
- package/dist/scripts/enrich-spec.d.ts.map +1 -0
- package/dist/scripts/enrich-spec.js +128 -0
- package/dist/scripts/enrich-spec.js.map +1 -0
- package/dist/scripts/fetch-spec.d.ts +3 -0
- package/dist/scripts/fetch-spec.d.ts.map +1 -0
- package/dist/scripts/fetch-spec.js +34 -0
- package/dist/scripts/fetch-spec.js.map +1 -0
- package/dist/scripts/generate-internal.d.ts +3 -0
- package/dist/scripts/generate-internal.d.ts.map +1 -0
- package/dist/scripts/generate-internal.js +45 -0
- package/dist/scripts/generate-internal.js.map +1 -0
- package/dist/scripts/generate-mintlify.d.ts +3 -0
- package/dist/scripts/generate-mintlify.d.ts.map +1 -0
- package/dist/scripts/generate-mintlify.js +98 -0
- package/dist/scripts/generate-mintlify.js.map +1 -0
- package/dist/scripts/validate-spec.d.ts +3 -0
- package/dist/scripts/validate-spec.d.ts.map +1 -0
- package/dist/scripts/validate-spec.js +67 -0
- package/dist/scripts/validate-spec.js.map +1 -0
- package/dist/src/auth.d.ts +14 -0
- package/dist/src/auth.d.ts.map +1 -0
- package/dist/src/auth.js +50 -0
- package/dist/src/auth.js.map +1 -0
- package/dist/src/client.d.ts +22 -0
- package/dist/src/client.d.ts.map +1 -0
- package/dist/src/client.js +51 -0
- package/dist/src/client.js.map +1 -0
- package/dist/src/config.d.ts +13 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +16 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +35 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/server.d.ts +5 -0
- package/dist/src/server.d.ts.map +1 -0
- package/dist/src/server.js +104 -0
- package/dist/src/server.js.map +1 -0
- package/dist/src/tools/index.d.ts +4 -0
- package/dist/src/tools/index.d.ts.map +1 -0
- package/dist/src/tools/index.js +3 -0
- package/dist/src/tools/index.js.map +1 -0
- package/dist/src/tools/param-resolver.d.ts +13 -0
- package/dist/src/tools/param-resolver.d.ts.map +1 -0
- package/dist/src/tools/param-resolver.js +44 -0
- package/dist/src/tools/param-resolver.js.map +1 -0
- package/dist/src/tools/tool-factory.d.ts +18 -0
- package/dist/src/tools/tool-factory.d.ts.map +1 -0
- package/dist/src/tools/tool-factory.js +156 -0
- package/dist/src/tools/tool-factory.js.map +1 -0
- package/package.json +44 -0
- package/spec/openapi-external.json +1007 -0
- package/spec/openapi-internal.json +2087 -0
|
@@ -0,0 +1,1007 @@
|
|
|
1
|
+
{
|
|
2
|
+
"openapi": "3.0.0",
|
|
3
|
+
"info": {
|
|
4
|
+
"title": "GYRA+ API - MCP Server",
|
|
5
|
+
"description": "API da Gyra+ para analise de credito. Spec curada para uso com agentes AI via MCP.",
|
|
6
|
+
"version": "1.0",
|
|
7
|
+
"contact": {}
|
|
8
|
+
},
|
|
9
|
+
"servers": [],
|
|
10
|
+
"paths": {
|
|
11
|
+
"/auth/authenticate": {
|
|
12
|
+
"post": {
|
|
13
|
+
"operationId": "AuthController_generateAccessToken",
|
|
14
|
+
"parameters": [
|
|
15
|
+
{
|
|
16
|
+
"name": "gyra-client-secret",
|
|
17
|
+
"in": "header",
|
|
18
|
+
"description": "Client Secret da integracao. Obtido no painel Toolbox em Configuracoes > Integracao.",
|
|
19
|
+
"schema": {
|
|
20
|
+
"type": "string"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"name": "gyra-client-id",
|
|
25
|
+
"in": "header",
|
|
26
|
+
"description": "Client ID da integracao. Obtido no painel Toolbox em Configuracoes > Integracao.",
|
|
27
|
+
"schema": {
|
|
28
|
+
"type": "string"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"responses": {
|
|
33
|
+
"200": {
|
|
34
|
+
"description": "Objeto com accessToken (JWT) e expiresIn (tempo em segundos)."
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"tags": [
|
|
38
|
+
"auth"
|
|
39
|
+
],
|
|
40
|
+
"summary": "Gerar token de acesso JWT",
|
|
41
|
+
"description": "Autentica via client credentials (client-id e client-secret) e retorna um JWT.\n\nEste e o primeiro passo para usar a API. O token retornado deve ser enviado\nno header Authorization de todas as requisicoes subsequentes.\n\nNOTA: No MCP server, a autenticacao e automatica — este tool e exposto apenas\npara uso manual ou debug. O server gerencia o token internamente."
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"/integration/credential": {
|
|
45
|
+
"post": {
|
|
46
|
+
"operationId": "CredentialController_create",
|
|
47
|
+
"parameters": [],
|
|
48
|
+
"requestBody": {
|
|
49
|
+
"required": true,
|
|
50
|
+
"content": {
|
|
51
|
+
"application/json": {
|
|
52
|
+
"schema": {
|
|
53
|
+
"$ref": "#/components/schemas/CreateDto"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"responses": {
|
|
59
|
+
"200": {
|
|
60
|
+
"description": "Credencial criada com id, nome, tipo e status."
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"tags": [
|
|
64
|
+
"integration/credential"
|
|
65
|
+
],
|
|
66
|
+
"security": [
|
|
67
|
+
{
|
|
68
|
+
"authorization": []
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"summary": "Criar credencial de integracao",
|
|
72
|
+
"description": "Cria uma credencial para integracao com servicos externos (Serasa, SCR, etc.).\n\nCredenciais sao necessarias para que o Gyra+ consulte fontes de dados externas\ndurante a geracao de relatorios. O tipo de integracao determina quais dados\nserao consultados.\n\nRequer permissao can-manage-settings."
|
|
73
|
+
},
|
|
74
|
+
"get": {
|
|
75
|
+
"operationId": "CredentialController_findAll",
|
|
76
|
+
"parameters": [],
|
|
77
|
+
"responses": {
|
|
78
|
+
"200": {
|
|
79
|
+
"description": "Array de credenciais com id, nome, tipo e integrationType."
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"tags": [
|
|
83
|
+
"integration/credential"
|
|
84
|
+
],
|
|
85
|
+
"security": [
|
|
86
|
+
{
|
|
87
|
+
"authorization": []
|
|
88
|
+
}
|
|
89
|
+
],
|
|
90
|
+
"summary": "Listar credenciais de integracao",
|
|
91
|
+
"description": "Lista todas as credenciais de integracao da organizacao.\nRetorna os metadados das credenciais (sem senhas expostas)."
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"/integration/credential/{id}": {
|
|
95
|
+
"get": {
|
|
96
|
+
"operationId": "CredentialController_findOne",
|
|
97
|
+
"parameters": [
|
|
98
|
+
{
|
|
99
|
+
"name": "id",
|
|
100
|
+
"required": true,
|
|
101
|
+
"in": "path",
|
|
102
|
+
"schema": {
|
|
103
|
+
"type": "string"
|
|
104
|
+
},
|
|
105
|
+
"description": "ID da credencial."
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
"responses": {
|
|
109
|
+
"200": {
|
|
110
|
+
"description": "Credencial com id, nome, tipo, integrationType e metadados."
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
"tags": [
|
|
114
|
+
"integration/credential"
|
|
115
|
+
],
|
|
116
|
+
"security": [
|
|
117
|
+
{
|
|
118
|
+
"authorization": []
|
|
119
|
+
}
|
|
120
|
+
],
|
|
121
|
+
"summary": "Consultar credencial por ID",
|
|
122
|
+
"description": "Retorna detalhes de uma credencial de integracao especifica."
|
|
123
|
+
},
|
|
124
|
+
"put": {
|
|
125
|
+
"operationId": "CredentialController_update",
|
|
126
|
+
"parameters": [
|
|
127
|
+
{
|
|
128
|
+
"name": "id",
|
|
129
|
+
"required": true,
|
|
130
|
+
"in": "path",
|
|
131
|
+
"schema": {
|
|
132
|
+
"type": "string"
|
|
133
|
+
},
|
|
134
|
+
"description": "ID da credencial a atualizar."
|
|
135
|
+
}
|
|
136
|
+
],
|
|
137
|
+
"requestBody": {
|
|
138
|
+
"required": true,
|
|
139
|
+
"content": {
|
|
140
|
+
"application/json": {
|
|
141
|
+
"schema": {
|
|
142
|
+
"$ref": "#/components/schemas/EditDto"
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
"responses": {
|
|
148
|
+
"200": {
|
|
149
|
+
"description": "Credencial atualizada."
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
"tags": [
|
|
153
|
+
"integration/credential"
|
|
154
|
+
],
|
|
155
|
+
"security": [
|
|
156
|
+
{
|
|
157
|
+
"authorization": []
|
|
158
|
+
}
|
|
159
|
+
],
|
|
160
|
+
"summary": "Atualizar credencial de integracao",
|
|
161
|
+
"description": "Atualiza uma credencial de integracao existente.\nPode alterar nome, tipo ou as credenciais de acesso (username/password)."
|
|
162
|
+
},
|
|
163
|
+
"delete": {
|
|
164
|
+
"operationId": "CredentialController_delete",
|
|
165
|
+
"parameters": [
|
|
166
|
+
{
|
|
167
|
+
"name": "id",
|
|
168
|
+
"required": true,
|
|
169
|
+
"in": "path",
|
|
170
|
+
"schema": {
|
|
171
|
+
"type": "string"
|
|
172
|
+
},
|
|
173
|
+
"description": "ID da credencial a remover."
|
|
174
|
+
}
|
|
175
|
+
],
|
|
176
|
+
"responses": {
|
|
177
|
+
"200": {
|
|
178
|
+
"description": "Confirmacao de remocao."
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
"tags": [
|
|
182
|
+
"integration/credential"
|
|
183
|
+
],
|
|
184
|
+
"security": [
|
|
185
|
+
{
|
|
186
|
+
"authorization": []
|
|
187
|
+
}
|
|
188
|
+
],
|
|
189
|
+
"summary": "Deletar credencial de integracao",
|
|
190
|
+
"description": "Remove uma credencial de integracao. Relatorios futuros que dependam\ndesta integracao podem falhar se nao houver outra credencial configurada."
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
"/webhook": {
|
|
194
|
+
"post": {
|
|
195
|
+
"operationId": "WebhookController_create",
|
|
196
|
+
"parameters": [],
|
|
197
|
+
"requestBody": {
|
|
198
|
+
"required": true,
|
|
199
|
+
"content": {
|
|
200
|
+
"application/json": {
|
|
201
|
+
"schema": {
|
|
202
|
+
"$ref": "#/components/schemas/CreateWebhookDto"
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
"responses": {
|
|
208
|
+
"200": {
|
|
209
|
+
"description": "Webhook criado com id, type, url e organizationId."
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
"tags": [
|
|
213
|
+
"webhook"
|
|
214
|
+
],
|
|
215
|
+
"summary": "Criar webhook para notificacoes",
|
|
216
|
+
"description": "Registra uma URL de webhook para receber notificacoes em tempo real.\n\nTipos de webhook disponiveis:\n- REPORT: notificado quando um relatorio muda de status (PENDING → APPROVED/DENIED/ALERT)\n- REPORT_FINISHED: notificado quando o processamento do relatorio finaliza\n- REPORT_STATUS: notificado em cada mudanca de status intermediaria\n- CREDIT_POLICY: notificado quando a politica de credito e avaliada\n- OPTIN: notificado quando um opt-in e processado\n\nO webhook recebe um POST na URL configurada com o payload do evento.\nSe apiKey for informada, sera enviada no header api-key da requisicao.\n\nRECOMENDADO: Sempre configure um webhook ao criar relatorios. Evita\na necessidade de polling com get_report."
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
"/webhook/findBy": {
|
|
220
|
+
"get": {
|
|
221
|
+
"operationId": "WebhookController_find",
|
|
222
|
+
"parameters": [
|
|
223
|
+
{
|
|
224
|
+
"name": "webhookId",
|
|
225
|
+
"required": false,
|
|
226
|
+
"in": "query",
|
|
227
|
+
"description": "ID do webhook especifico (opcional). Sem este parametro, retorna todos.",
|
|
228
|
+
"example": "664b63037707171ba58cf311",
|
|
229
|
+
"schema": {
|
|
230
|
+
"type": "string"
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
],
|
|
234
|
+
"responses": {
|
|
235
|
+
"200": {
|
|
236
|
+
"description": "Webhook(s) com id, type, url, apiKey e organizationId."
|
|
237
|
+
}
|
|
238
|
+
},
|
|
239
|
+
"tags": [
|
|
240
|
+
"webhook"
|
|
241
|
+
],
|
|
242
|
+
"summary": "Consultar webhooks cadastrados",
|
|
243
|
+
"description": "Busca webhooks cadastrados na organizacao.\n\nSe webhookId for informado, retorna o webhook especifico.\nCaso contrario, retorna todos os webhooks da organizacao autenticada."
|
|
244
|
+
}
|
|
245
|
+
},
|
|
246
|
+
"/webhook/{id}": {
|
|
247
|
+
"delete": {
|
|
248
|
+
"operationId": "WebhookController_delete",
|
|
249
|
+
"parameters": [
|
|
250
|
+
{
|
|
251
|
+
"name": "id",
|
|
252
|
+
"required": true,
|
|
253
|
+
"in": "path",
|
|
254
|
+
"description": "ID do webhook a remover.",
|
|
255
|
+
"example": "664b63037707171ba58cf311",
|
|
256
|
+
"schema": {
|
|
257
|
+
"type": "string"
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
],
|
|
261
|
+
"responses": {
|
|
262
|
+
"200": {
|
|
263
|
+
"description": "Confirmacao de remocao."
|
|
264
|
+
}
|
|
265
|
+
},
|
|
266
|
+
"tags": [
|
|
267
|
+
"webhook"
|
|
268
|
+
],
|
|
269
|
+
"summary": "Deletar webhook",
|
|
270
|
+
"description": "Remove um webhook cadastrado. A URL deixa de receber notificacoes imediatamente."
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
"/report/section/{id}": {
|
|
274
|
+
"get": {
|
|
275
|
+
"operationId": "SectionController_get",
|
|
276
|
+
"parameters": [
|
|
277
|
+
{
|
|
278
|
+
"name": "id",
|
|
279
|
+
"required": true,
|
|
280
|
+
"in": "path",
|
|
281
|
+
"schema": {
|
|
282
|
+
"type": "string"
|
|
283
|
+
},
|
|
284
|
+
"description": "ID da secao (ObjectId). Disponivel no array sections[] do relatorio."
|
|
285
|
+
}
|
|
286
|
+
],
|
|
287
|
+
"responses": {
|
|
288
|
+
"200": {
|
|
289
|
+
"description": "Secao completa com dados detalhados, status de finalizacao e metadados."
|
|
290
|
+
}
|
|
291
|
+
},
|
|
292
|
+
"tags": [
|
|
293
|
+
"report"
|
|
294
|
+
],
|
|
295
|
+
"security": [
|
|
296
|
+
{
|
|
297
|
+
"authorization": []
|
|
298
|
+
}
|
|
299
|
+
],
|
|
300
|
+
"summary": "Consultar secao por ID",
|
|
301
|
+
"description": "Retorna os dados detalhados de uma secao especifica de um relatorio.\n\nCada relatorio e composto por varias secoes que contem dados de diferentes fontes:\n- Informacoes basicas (CNPJ/CPF, endereco, socios, QSA)\n- Processos judiciais\n- Protestos em cartorio\n- Dividas Pefin/Refin (Serasa)\n- Dados SCR (Banco Central)\n- PEP e sancoes internacionais\n- Resultado da politica de credito\n\nUse get_report para obter a lista de secoes e seus IDs."
|
|
302
|
+
}
|
|
303
|
+
},
|
|
304
|
+
"/report": {
|
|
305
|
+
"post": {
|
|
306
|
+
"operationId": "ReportController_create",
|
|
307
|
+
"parameters": [],
|
|
308
|
+
"requestBody": {
|
|
309
|
+
"required": true,
|
|
310
|
+
"content": {
|
|
311
|
+
"application/json": {
|
|
312
|
+
"schema": {
|
|
313
|
+
"$ref": "#/components/schemas/CreateReportDto"
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
},
|
|
318
|
+
"responses": {
|
|
319
|
+
"200": {
|
|
320
|
+
"description": "Objeto do relatorio com id, status (PENDING), document, type e createdAt."
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
"tags": [
|
|
324
|
+
"report"
|
|
325
|
+
],
|
|
326
|
+
"security": [
|
|
327
|
+
{
|
|
328
|
+
"authorization": []
|
|
329
|
+
}
|
|
330
|
+
],
|
|
331
|
+
"summary": "Criar relatorio de analise de credito",
|
|
332
|
+
"description": "Cria um novo relatorio de analise de credito para um CPF ou CNPJ.\n\nO processamento e ASSINCRONO: voce recebe o reportId imediatamente com status PENDING.\nPara saber quando o relatorio ficou pronto:\n 1. Configure um webhook (create_webhook) para receber notificacao automatica\n 2. Ou consulte periodicamente com get_report ate o status mudar\n\nStatus possiveis: PENDING → APPROVED, DENIED ou ALERT.\nO tipo de relatorio (SIMPLES, ESSENCIAL, COMPLETO, COMPLETO+) e determinado\npela politica de credito (policyId) utilizada.\n\nUse list_policies para obter os policyIds disponiveis na organizacao."
|
|
333
|
+
}
|
|
334
|
+
},
|
|
335
|
+
"/report/list": {
|
|
336
|
+
"get": {
|
|
337
|
+
"operationId": "ReportController_list",
|
|
338
|
+
"parameters": [],
|
|
339
|
+
"responses": {
|
|
340
|
+
"200": {
|
|
341
|
+
"description": "Array de relatorios com metadados (sem secoes detalhadas)."
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
|
+
"tags": [
|
|
345
|
+
"report"
|
|
346
|
+
],
|
|
347
|
+
"security": [
|
|
348
|
+
{
|
|
349
|
+
"authorization": []
|
|
350
|
+
}
|
|
351
|
+
],
|
|
352
|
+
"summary": "Listar relatorios da organizacao",
|
|
353
|
+
"description": "Lista relatorios com filtros opcionais. Retorna relatorios da organizacao\nautenticada. Analistas de credito veem apenas os proprios relatorios.\n\nSuporta paginacao e filtros por status, documento, periodo etc."
|
|
354
|
+
}
|
|
355
|
+
},
|
|
356
|
+
"/report/count": {
|
|
357
|
+
"get": {
|
|
358
|
+
"operationId": "ReportController_count",
|
|
359
|
+
"parameters": [],
|
|
360
|
+
"responses": {
|
|
361
|
+
"200": {
|
|
362
|
+
"description": "Objeto com count (numero de relatorios)."
|
|
363
|
+
}
|
|
364
|
+
},
|
|
365
|
+
"tags": [
|
|
366
|
+
"report"
|
|
367
|
+
],
|
|
368
|
+
"security": [
|
|
369
|
+
{
|
|
370
|
+
"authorization": []
|
|
371
|
+
}
|
|
372
|
+
],
|
|
373
|
+
"summary": "Contar relatorios",
|
|
374
|
+
"description": "Retorna a contagem de relatorios que correspondem aos filtros aplicados.\nUtil para dashboards e analytics sem carregar os dados completos."
|
|
375
|
+
}
|
|
376
|
+
},
|
|
377
|
+
"/report/export/{id}": {
|
|
378
|
+
"get": {
|
|
379
|
+
"operationId": "ReportController_export",
|
|
380
|
+
"parameters": [
|
|
381
|
+
{
|
|
382
|
+
"name": "id",
|
|
383
|
+
"required": true,
|
|
384
|
+
"in": "path",
|
|
385
|
+
"schema": {
|
|
386
|
+
"type": "string"
|
|
387
|
+
},
|
|
388
|
+
"description": "ID do relatorio a exportar."
|
|
389
|
+
}
|
|
390
|
+
],
|
|
391
|
+
"responses": {
|
|
392
|
+
"200": {
|
|
393
|
+
"description": "HTTP 202 Accepted. O arquivo sera processado em background."
|
|
394
|
+
}
|
|
395
|
+
},
|
|
396
|
+
"tags": [
|
|
397
|
+
"report"
|
|
398
|
+
],
|
|
399
|
+
"security": [
|
|
400
|
+
{
|
|
401
|
+
"authorization": []
|
|
402
|
+
}
|
|
403
|
+
],
|
|
404
|
+
"summary": "Exportar relatorio",
|
|
405
|
+
"description": "Exporta um relatorio em formato PDF ou Excel.\n\nA exportacao e processada de forma assincrona (retorna HTTP 202 Accepted).\nO arquivo sera enviado por email ou disponibilizado para download."
|
|
406
|
+
}
|
|
407
|
+
},
|
|
408
|
+
"/report/{id}": {
|
|
409
|
+
"get": {
|
|
410
|
+
"operationId": "ReportController_get",
|
|
411
|
+
"parameters": [
|
|
412
|
+
{
|
|
413
|
+
"name": "id",
|
|
414
|
+
"required": true,
|
|
415
|
+
"in": "path",
|
|
416
|
+
"schema": {
|
|
417
|
+
"type": "string"
|
|
418
|
+
},
|
|
419
|
+
"description": "ID do relatorio (ObjectId). Retornado pelo create_report."
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
"name": "details",
|
|
423
|
+
"required": false,
|
|
424
|
+
"in": "query",
|
|
425
|
+
"description": "Defina como \"false\" para omitir detalhes das secoes. Util para verificar status rapidamente.",
|
|
426
|
+
"schema": {
|
|
427
|
+
"type": "string"
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
],
|
|
431
|
+
"responses": {
|
|
432
|
+
"200": {
|
|
433
|
+
"description": "Relatorio completo com secoes, decisao e metadados."
|
|
434
|
+
}
|
|
435
|
+
},
|
|
436
|
+
"tags": [
|
|
437
|
+
"report"
|
|
438
|
+
],
|
|
439
|
+
"security": [
|
|
440
|
+
{
|
|
441
|
+
"authorization": []
|
|
442
|
+
}
|
|
443
|
+
],
|
|
444
|
+
"summary": "Consultar relatorio por ID",
|
|
445
|
+
"description": "Retorna o relatorio completo com secoes, decisao da politica e score.\n\nSe o relatorio esta em processamento, o status sera PENDING.\nQuando pronto, o objeto retornado contem:\n- status: APPROVED, DENIED ou ALERT\n- policyResult: decisao automatica com regras avaliadas\n- sections[]: array de secoes (BASIC_INFORMATION, PROCESSES, PROTESTS, SCR, etc.)\n- commentary: analise do analista (se houver)\n\nUse details=false para obter apenas metadados sem o conteudo das secoes."
|
|
446
|
+
}
|
|
447
|
+
},
|
|
448
|
+
"/report/{id}/section/{sectionType}": {
|
|
449
|
+
"get": {
|
|
450
|
+
"operationId": "ReportController_getReportSection",
|
|
451
|
+
"parameters": [
|
|
452
|
+
{
|
|
453
|
+
"name": "id",
|
|
454
|
+
"required": true,
|
|
455
|
+
"in": "path",
|
|
456
|
+
"schema": {
|
|
457
|
+
"type": "string"
|
|
458
|
+
},
|
|
459
|
+
"description": "ID do relatorio."
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
"name": "sectionType",
|
|
463
|
+
"required": true,
|
|
464
|
+
"in": "path",
|
|
465
|
+
"schema": {
|
|
466
|
+
"type": "string"
|
|
467
|
+
},
|
|
468
|
+
"description": "Tipo da secao (ex: BASIC_INFORMATION, PROCESSES, SCR, CREDIT_POLICY)."
|
|
469
|
+
}
|
|
470
|
+
],
|
|
471
|
+
"responses": {
|
|
472
|
+
"200": {
|
|
473
|
+
"description": "Secao com dados detalhados do tipo solicitado."
|
|
474
|
+
}
|
|
475
|
+
},
|
|
476
|
+
"tags": [
|
|
477
|
+
"report"
|
|
478
|
+
],
|
|
479
|
+
"security": [
|
|
480
|
+
{
|
|
481
|
+
"authorization": []
|
|
482
|
+
}
|
|
483
|
+
],
|
|
484
|
+
"summary": "Consultar secao especifica do relatorio",
|
|
485
|
+
"description": "Retorna uma secao especifica de um relatorio pelo tipo.\n\nTipos de secao disponiveis:\n- BASIC_INFORMATION: dados cadastrais, endereco, socios\n- PROCESSES: processos judiciais\n- PROTESTS: protestos em cartorio\n- PEFIN_REFIN: dividas Pefin/Refin (Serasa)\n- SCR: dados do Sistema de Informacoes de Credito do Banco Central\n- PEP_SANCTIONS: Pessoa Politicamente Exposta e sancoes\n- CREDIT_POLICY: resultado da avaliacao da politica de credito"
|
|
486
|
+
}
|
|
487
|
+
},
|
|
488
|
+
"/report/analyze": {
|
|
489
|
+
"post": {
|
|
490
|
+
"operationId": "ReportController_analyze",
|
|
491
|
+
"parameters": [],
|
|
492
|
+
"requestBody": {
|
|
493
|
+
"required": true,
|
|
494
|
+
"content": {
|
|
495
|
+
"application/json": {
|
|
496
|
+
"schema": {
|
|
497
|
+
"$ref": "#/components/schemas/AnalyzeDto"
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
},
|
|
502
|
+
"responses": {
|
|
503
|
+
"200": {
|
|
504
|
+
"description": "Relatorio atualizado com a analise registrada."
|
|
505
|
+
}
|
|
506
|
+
},
|
|
507
|
+
"tags": [
|
|
508
|
+
"report"
|
|
509
|
+
],
|
|
510
|
+
"security": [
|
|
511
|
+
{
|
|
512
|
+
"authorization": []
|
|
513
|
+
}
|
|
514
|
+
],
|
|
515
|
+
"summary": "Analisar/aprovar relatorio",
|
|
516
|
+
"description": "Registra a analise de um relatorio por um analista de credito.\n\nDefine o status de aprovacao, comentarios do analista e decisao manual.\nUsado quando a decisao automatica da politica precisa de revisao humana."
|
|
517
|
+
}
|
|
518
|
+
},
|
|
519
|
+
"/report/re-analyze": {
|
|
520
|
+
"post": {
|
|
521
|
+
"operationId": "ReportController_reAnalyze",
|
|
522
|
+
"parameters": [],
|
|
523
|
+
"requestBody": {
|
|
524
|
+
"required": true,
|
|
525
|
+
"content": {
|
|
526
|
+
"application/json": {
|
|
527
|
+
"schema": {
|
|
528
|
+
"$ref": "#/components/schemas/AnalyzeDto"
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
},
|
|
533
|
+
"responses": {
|
|
534
|
+
"200": {
|
|
535
|
+
"description": "Relatorio atualizado com a nova analise."
|
|
536
|
+
}
|
|
537
|
+
},
|
|
538
|
+
"tags": [
|
|
539
|
+
"report"
|
|
540
|
+
],
|
|
541
|
+
"security": [
|
|
542
|
+
{
|
|
543
|
+
"authorization": []
|
|
544
|
+
}
|
|
545
|
+
],
|
|
546
|
+
"summary": "Re-analisar relatorio",
|
|
547
|
+
"description": "Re-analisa um relatorio previamente analisado. Verifica se o usuario\ntem permissao para editar relatorios com base na politica de credito configurada.\n\nUtil quando dados adicionais foram obtidos ou a decisao precisa ser revisada."
|
|
548
|
+
}
|
|
549
|
+
},
|
|
550
|
+
"/credit-policy/policy": {
|
|
551
|
+
"get": {
|
|
552
|
+
"operationId": "PolicyController_find",
|
|
553
|
+
"parameters": [
|
|
554
|
+
{
|
|
555
|
+
"name": "enabled",
|
|
556
|
+
"required": false,
|
|
557
|
+
"in": "query",
|
|
558
|
+
"description": "Filtrar por politicas ativas. \"true\" ou \"false\" (como string).",
|
|
559
|
+
"schema": {
|
|
560
|
+
"type": "boolean"
|
|
561
|
+
}
|
|
562
|
+
},
|
|
563
|
+
{
|
|
564
|
+
"name": "protected",
|
|
565
|
+
"required": false,
|
|
566
|
+
"in": "query",
|
|
567
|
+
"description": "Incluir politicas protegidas do sistema. \"true\" ou \"false\" (como string).",
|
|
568
|
+
"schema": {
|
|
569
|
+
"type": "boolean"
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
],
|
|
573
|
+
"responses": {
|
|
574
|
+
"200": {
|
|
575
|
+
"description": "Array de politicas com id, name, enabled, documentType, grupos de regras e configuracoes."
|
|
576
|
+
}
|
|
577
|
+
},
|
|
578
|
+
"tags": [
|
|
579
|
+
"credit-policy/policy"
|
|
580
|
+
],
|
|
581
|
+
"security": [
|
|
582
|
+
{
|
|
583
|
+
"authorization": []
|
|
584
|
+
}
|
|
585
|
+
],
|
|
586
|
+
"summary": "Listar politicas de credito",
|
|
587
|
+
"description": "Lista as politicas de credito da organizacao.\n\nCada politica define:\n- Quais fontes de dados consultar (Serasa, SCR, etc.)\n- Regras de aprovacao automatica (score, limites, restricoes)\n- Tipo de relatorio gerado (SIMPLES, ESSENCIAL, COMPLETO, COMPLETO+)\n- Grupos de regras com pesos e thresholds\n\nO policyId retornado e necessario para criar relatorios (create_report).\n\nFiltros opcionais:\n- enabled: true para ver apenas politicas ativas\n- protected: true para incluir politicas protegidas (padrao do sistema)"
|
|
588
|
+
}
|
|
589
|
+
},
|
|
590
|
+
"/credit-policy/policy/all/{id}": {
|
|
591
|
+
"put": {
|
|
592
|
+
"operationId": "PolicyController_saveBatchPolicy",
|
|
593
|
+
"parameters": [
|
|
594
|
+
{
|
|
595
|
+
"name": "id",
|
|
596
|
+
"required": true,
|
|
597
|
+
"in": "path",
|
|
598
|
+
"schema": {
|
|
599
|
+
"type": "string"
|
|
600
|
+
},
|
|
601
|
+
"description": "ID da politica a salvar."
|
|
602
|
+
}
|
|
603
|
+
],
|
|
604
|
+
"requestBody": {
|
|
605
|
+
"required": true,
|
|
606
|
+
"content": {
|
|
607
|
+
"application/json": {
|
|
608
|
+
"schema": {
|
|
609
|
+
"$ref": "#/components/schemas/SaveBatchPolicyDto"
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
},
|
|
614
|
+
"responses": {
|
|
615
|
+
"200": {
|
|
616
|
+
"description": "Politica atualizada com todas as regras e configuracoes."
|
|
617
|
+
}
|
|
618
|
+
},
|
|
619
|
+
"tags": [
|
|
620
|
+
"credit-policy/policy"
|
|
621
|
+
],
|
|
622
|
+
"summary": "Salvar politica de credito completa",
|
|
623
|
+
"description": "Salva uma politica de credito inteira com todas as regras, grupos, scores e riscos.\n\nEsta e uma operacao de batch — envia a politica completa (grupos de regras,\nconfiguracoes de score, niveis de risco, integracao) numa unica requisicao.\n\nRequer permissao can-manage-credit-policy.\n\nCUIDADO: Esta operacao sobrescreve TODA a politica. Sempre busque a politica\natual com list_policies antes de modificar."
|
|
624
|
+
}
|
|
625
|
+
},
|
|
626
|
+
"/insight": {
|
|
627
|
+
"post": {
|
|
628
|
+
"operationId": "InsightController_generateInsight",
|
|
629
|
+
"parameters": [],
|
|
630
|
+
"requestBody": {
|
|
631
|
+
"required": true,
|
|
632
|
+
"content": {
|
|
633
|
+
"application/json": {
|
|
634
|
+
"schema": {
|
|
635
|
+
"$ref": "#/components/schemas/GenerateInsightDto"
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
},
|
|
640
|
+
"responses": {
|
|
641
|
+
"200": {
|
|
642
|
+
"description": "Insight gerado com analise, pontos de atencao e recomendacoes."
|
|
643
|
+
}
|
|
644
|
+
},
|
|
645
|
+
"tags": [
|
|
646
|
+
"insight"
|
|
647
|
+
],
|
|
648
|
+
"summary": "Gerar insight com IA para secao do relatorio",
|
|
649
|
+
"description": "Gera uma analise automatica com IA para uma secao especifica de um relatorio.\n\nA IA analisa os dados da secao e produz um resumo interpretativo com\npontos de atencao e recomendacoes. O insight e salvo como comentario\nna secao do relatorio.\n\nRequisitos:\n- A secao deve estar finalizada (processamento completo)\n- A organizacao deve ter plano que suporte IA (nao disponivel em planos Trial ou Basic)\n\nUse get_report para obter os IDs das secoes disponiveis."
|
|
650
|
+
}
|
|
651
|
+
},
|
|
652
|
+
"/insight/review": {
|
|
653
|
+
"post": {
|
|
654
|
+
"operationId": "InsightController_reviewInsight",
|
|
655
|
+
"parameters": [],
|
|
656
|
+
"requestBody": {
|
|
657
|
+
"required": true,
|
|
658
|
+
"content": {
|
|
659
|
+
"application/json": {
|
|
660
|
+
"schema": {
|
|
661
|
+
"$ref": "#/components/schemas/ReviewInsightDto"
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
},
|
|
666
|
+
"responses": {
|
|
667
|
+
"200": {
|
|
668
|
+
"description": "Insight atualizado com a avaliacao registrada."
|
|
669
|
+
}
|
|
670
|
+
},
|
|
671
|
+
"tags": [
|
|
672
|
+
"insight"
|
|
673
|
+
],
|
|
674
|
+
"summary": "Avaliar insight gerado pela IA",
|
|
675
|
+
"description": "Submete uma avaliacao (review) para um insight gerado pela IA.\n\nPermite que analistas avaliem a qualidade e relevancia do insight automatico,\ncontribuindo para melhoria continua do modelo."
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
},
|
|
679
|
+
"components": {
|
|
680
|
+
"securitySchemes": {
|
|
681
|
+
"authorization": {
|
|
682
|
+
"scheme": "Bearer",
|
|
683
|
+
"bearerFormat": "JWT",
|
|
684
|
+
"type": "apiKey",
|
|
685
|
+
"name": "authorization",
|
|
686
|
+
"description": "Enter JWT token",
|
|
687
|
+
"in": "header"
|
|
688
|
+
}
|
|
689
|
+
},
|
|
690
|
+
"schemas": {
|
|
691
|
+
"CreateDto": {
|
|
692
|
+
"type": "object",
|
|
693
|
+
"properties": {}
|
|
694
|
+
},
|
|
695
|
+
"EditDto": {
|
|
696
|
+
"type": "object",
|
|
697
|
+
"properties": {}
|
|
698
|
+
},
|
|
699
|
+
"CreateWebhookDto": {
|
|
700
|
+
"type": "object",
|
|
701
|
+
"properties": {
|
|
702
|
+
"type": {
|
|
703
|
+
"$ref": "#/components/schemas/WebhookTypeEnum"
|
|
704
|
+
},
|
|
705
|
+
"url": {
|
|
706
|
+
"type": "string",
|
|
707
|
+
"description": "The URL for the webhook",
|
|
708
|
+
"example": "https://webhook-test.com/a0a7aadb8de3e"
|
|
709
|
+
},
|
|
710
|
+
"apiKey": {
|
|
711
|
+
"type": "string",
|
|
712
|
+
"description": "API Key para uma requisição autenticada (será enviado como `api-key` em headers)",
|
|
713
|
+
"example": "xxx-xxx-xxx"
|
|
714
|
+
}
|
|
715
|
+
},
|
|
716
|
+
"required": [
|
|
717
|
+
"type",
|
|
718
|
+
"url",
|
|
719
|
+
"apiKey"
|
|
720
|
+
]
|
|
721
|
+
},
|
|
722
|
+
"WebhookTypeEnum": {
|
|
723
|
+
"type": "string",
|
|
724
|
+
"description": "Type Webhook",
|
|
725
|
+
"enum": [
|
|
726
|
+
"REPORT",
|
|
727
|
+
"OPTIN",
|
|
728
|
+
"CREDIT_POLICY",
|
|
729
|
+
"REPORT_STATUS",
|
|
730
|
+
"REPORT_FINISHED",
|
|
731
|
+
"OPERATION"
|
|
732
|
+
]
|
|
733
|
+
},
|
|
734
|
+
"CreateReportDto": {
|
|
735
|
+
"type": "object",
|
|
736
|
+
"properties": {
|
|
737
|
+
"policyId": {
|
|
738
|
+
"type": "string"
|
|
739
|
+
},
|
|
740
|
+
"document": {
|
|
741
|
+
"type": "string"
|
|
742
|
+
},
|
|
743
|
+
"type": {
|
|
744
|
+
"type": "string"
|
|
745
|
+
}
|
|
746
|
+
},
|
|
747
|
+
"required": [
|
|
748
|
+
"policyId",
|
|
749
|
+
"document",
|
|
750
|
+
"type"
|
|
751
|
+
]
|
|
752
|
+
},
|
|
753
|
+
"SaveBatchPolicyDto": {
|
|
754
|
+
"type": "object",
|
|
755
|
+
"properties": {
|
|
756
|
+
"id": {
|
|
757
|
+
"type": "string"
|
|
758
|
+
},
|
|
759
|
+
"userId": {
|
|
760
|
+
"type": "string"
|
|
761
|
+
},
|
|
762
|
+
"name": {
|
|
763
|
+
"type": "string"
|
|
764
|
+
},
|
|
765
|
+
"scoreEnabled": {
|
|
766
|
+
"type": "boolean"
|
|
767
|
+
},
|
|
768
|
+
"useResultToReport": {
|
|
769
|
+
"type": "boolean"
|
|
770
|
+
},
|
|
771
|
+
"integrationGroupName": {
|
|
772
|
+
"type": "string"
|
|
773
|
+
},
|
|
774
|
+
"documentType": {
|
|
775
|
+
"type": "string"
|
|
776
|
+
},
|
|
777
|
+
"policyRuleGroups": {
|
|
778
|
+
"type": "array",
|
|
779
|
+
"items": {
|
|
780
|
+
"$ref": "#/components/schemas/SaveBatchGroupDto"
|
|
781
|
+
}
|
|
782
|
+
},
|
|
783
|
+
"risks": {
|
|
784
|
+
"type": "array",
|
|
785
|
+
"items": {
|
|
786
|
+
"$ref": "#/components/schemas/SaveBatchRiskDto"
|
|
787
|
+
}
|
|
788
|
+
},
|
|
789
|
+
"integrationGroup": {
|
|
790
|
+
"$ref": "#/components/schemas/SaveBatchIntegrationGroup"
|
|
791
|
+
},
|
|
792
|
+
"productTypeId": {
|
|
793
|
+
"type": "string"
|
|
794
|
+
}
|
|
795
|
+
},
|
|
796
|
+
"required": [
|
|
797
|
+
"id",
|
|
798
|
+
"userId",
|
|
799
|
+
"name",
|
|
800
|
+
"scoreEnabled",
|
|
801
|
+
"useResultToReport",
|
|
802
|
+
"integrationGroupName",
|
|
803
|
+
"documentType",
|
|
804
|
+
"policyRuleGroups",
|
|
805
|
+
"risks",
|
|
806
|
+
"integrationGroup",
|
|
807
|
+
"productTypeId"
|
|
808
|
+
]
|
|
809
|
+
},
|
|
810
|
+
"SaveBatchGroupDto": {
|
|
811
|
+
"type": "object",
|
|
812
|
+
"properties": {
|
|
813
|
+
"id": {
|
|
814
|
+
"type": "string"
|
|
815
|
+
},
|
|
816
|
+
"userId": {
|
|
817
|
+
"type": "string"
|
|
818
|
+
},
|
|
819
|
+
"name": {
|
|
820
|
+
"type": "string"
|
|
821
|
+
},
|
|
822
|
+
"scoreApproved": {
|
|
823
|
+
"type": "number"
|
|
824
|
+
},
|
|
825
|
+
"scoreAlert": {
|
|
826
|
+
"type": "number"
|
|
827
|
+
},
|
|
828
|
+
"scoreDenied": {
|
|
829
|
+
"type": "number"
|
|
830
|
+
},
|
|
831
|
+
"policyId": {
|
|
832
|
+
"type": "string"
|
|
833
|
+
},
|
|
834
|
+
"policyRuleSettingJoins": {
|
|
835
|
+
"type": "array",
|
|
836
|
+
"items": {
|
|
837
|
+
"$ref": "#/components/schemas/SaveBatchRuleSettingJoinDto"
|
|
838
|
+
}
|
|
839
|
+
}
|
|
840
|
+
},
|
|
841
|
+
"required": [
|
|
842
|
+
"id",
|
|
843
|
+
"userId",
|
|
844
|
+
"name",
|
|
845
|
+
"scoreApproved",
|
|
846
|
+
"scoreAlert",
|
|
847
|
+
"scoreDenied",
|
|
848
|
+
"policyId",
|
|
849
|
+
"policyRuleSettingJoins"
|
|
850
|
+
]
|
|
851
|
+
},
|
|
852
|
+
"SaveBatchRuleSettingJoinDto": {
|
|
853
|
+
"type": "object",
|
|
854
|
+
"properties": {
|
|
855
|
+
"id": {
|
|
856
|
+
"type": "string"
|
|
857
|
+
},
|
|
858
|
+
"statusToApply": {
|
|
859
|
+
"type": "string"
|
|
860
|
+
},
|
|
861
|
+
"errorStatusToApply": {
|
|
862
|
+
"type": "string"
|
|
863
|
+
},
|
|
864
|
+
"operationType": {
|
|
865
|
+
"type": "string"
|
|
866
|
+
},
|
|
867
|
+
"policyRuleSettings": {
|
|
868
|
+
"type": "array",
|
|
869
|
+
"items": {
|
|
870
|
+
"$ref": "#/components/schemas/SaveBatchRuleSettingDto"
|
|
871
|
+
}
|
|
872
|
+
}
|
|
873
|
+
},
|
|
874
|
+
"required": [
|
|
875
|
+
"id",
|
|
876
|
+
"statusToApply",
|
|
877
|
+
"errorStatusToApply",
|
|
878
|
+
"operationType",
|
|
879
|
+
"policyRuleSettings"
|
|
880
|
+
]
|
|
881
|
+
},
|
|
882
|
+
"SaveBatchRuleSettingDto": {
|
|
883
|
+
"type": "object",
|
|
884
|
+
"properties": {
|
|
885
|
+
"id": {
|
|
886
|
+
"type": "string"
|
|
887
|
+
},
|
|
888
|
+
"params": {
|
|
889
|
+
"type": "array",
|
|
890
|
+
"items": {
|
|
891
|
+
"$ref": "#/components/schemas/ParamsSettingDto"
|
|
892
|
+
}
|
|
893
|
+
},
|
|
894
|
+
"typeRuleId": {
|
|
895
|
+
"type": "string"
|
|
896
|
+
}
|
|
897
|
+
},
|
|
898
|
+
"required": [
|
|
899
|
+
"id",
|
|
900
|
+
"params",
|
|
901
|
+
"typeRuleId"
|
|
902
|
+
]
|
|
903
|
+
},
|
|
904
|
+
"ParamsSettingDto": {
|
|
905
|
+
"type": "object",
|
|
906
|
+
"properties": {
|
|
907
|
+
"key": {
|
|
908
|
+
"type": "string"
|
|
909
|
+
},
|
|
910
|
+
"value": {
|
|
911
|
+
"type": "string"
|
|
912
|
+
}
|
|
913
|
+
},
|
|
914
|
+
"required": [
|
|
915
|
+
"key",
|
|
916
|
+
"value"
|
|
917
|
+
]
|
|
918
|
+
},
|
|
919
|
+
"SaveBatchRiskDto": {
|
|
920
|
+
"type": "object",
|
|
921
|
+
"properties": {
|
|
922
|
+
"id": {
|
|
923
|
+
"type": "string"
|
|
924
|
+
},
|
|
925
|
+
"name": {
|
|
926
|
+
"type": "string"
|
|
927
|
+
},
|
|
928
|
+
"from": {
|
|
929
|
+
"type": "number"
|
|
930
|
+
},
|
|
931
|
+
"to": {
|
|
932
|
+
"type": "number"
|
|
933
|
+
},
|
|
934
|
+
"statusToApply": {
|
|
935
|
+
"type": "string"
|
|
936
|
+
},
|
|
937
|
+
"removed": {
|
|
938
|
+
"type": "boolean"
|
|
939
|
+
}
|
|
940
|
+
},
|
|
941
|
+
"required": [
|
|
942
|
+
"id",
|
|
943
|
+
"name",
|
|
944
|
+
"from",
|
|
945
|
+
"to",
|
|
946
|
+
"statusToApply",
|
|
947
|
+
"removed"
|
|
948
|
+
]
|
|
949
|
+
},
|
|
950
|
+
"SaveBatchIntegrationGroup": {
|
|
951
|
+
"type": "object",
|
|
952
|
+
"properties": {
|
|
953
|
+
"name": {
|
|
954
|
+
"type": "string"
|
|
955
|
+
},
|
|
956
|
+
"bureauId": {
|
|
957
|
+
"type": "string"
|
|
958
|
+
},
|
|
959
|
+
"bureauType": {
|
|
960
|
+
"type": "string"
|
|
961
|
+
},
|
|
962
|
+
"hasSCR": {
|
|
963
|
+
"type": "boolean"
|
|
964
|
+
},
|
|
965
|
+
"scrMonths": {
|
|
966
|
+
"type": "number"
|
|
967
|
+
},
|
|
968
|
+
"externalIntegrationEnabled": {
|
|
969
|
+
"type": "boolean"
|
|
970
|
+
},
|
|
971
|
+
"externalIntegrationIds": {
|
|
972
|
+
"type": "array",
|
|
973
|
+
"items": {
|
|
974
|
+
"type": "string"
|
|
975
|
+
}
|
|
976
|
+
},
|
|
977
|
+
"balanceRuleEnabled": {
|
|
978
|
+
"type": "boolean"
|
|
979
|
+
},
|
|
980
|
+
"postPolicyActionsEnabled": {
|
|
981
|
+
"type": "boolean"
|
|
982
|
+
},
|
|
983
|
+
"periodFormula": {
|
|
984
|
+
"type": "string"
|
|
985
|
+
},
|
|
986
|
+
"interestFormula": {
|
|
987
|
+
"type": "string"
|
|
988
|
+
},
|
|
989
|
+
"amountFormula": {
|
|
990
|
+
"type": "string"
|
|
991
|
+
}
|
|
992
|
+
},
|
|
993
|
+
"required": [
|
|
994
|
+
"name"
|
|
995
|
+
]
|
|
996
|
+
},
|
|
997
|
+
"GenerateInsightDto": {
|
|
998
|
+
"type": "object",
|
|
999
|
+
"properties": {}
|
|
1000
|
+
},
|
|
1001
|
+
"ReviewInsightDto": {
|
|
1002
|
+
"type": "object",
|
|
1003
|
+
"properties": {}
|
|
1004
|
+
}
|
|
1005
|
+
}
|
|
1006
|
+
}
|
|
1007
|
+
}
|