apigratis-sdk-ruby 0.0.1

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.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +27 -0
  3. data/LICENSE +21 -0
  4. data/README.md +330 -0
  5. data/SECURITY.md +32 -0
  6. data/lib/api_brasil/client.rb +252 -0
  7. data/lib/api_brasil/core/env.rb +34 -0
  8. data/lib/api_brasil/core/errors.rb +167 -0
  9. data/lib/api_brasil/core/http_client.rb +342 -0
  10. data/lib/api_brasil/core/retry.rb +69 -0
  11. data/lib/api_brasil/core/transport/faraday_transport.rb +76 -0
  12. data/lib/api_brasil/core/transport/net_http_transport.rb +126 -0
  13. data/lib/api_brasil/core/transport.rb +114 -0
  14. data/lib/api_brasil/generated/catalog.rb +526 -0
  15. data/lib/api_brasil/legacy/service.rb +155 -0
  16. data/lib/api_brasil/services/base_service.rb +49 -0
  17. data/lib/api_brasil/services/data/bulk_service.rb +26 -0
  18. data/lib/api_brasil/services/data/cep_service.rb +58 -0
  19. data/lib/api_brasil/services/data/chip_virtual_service.rb +40 -0
  20. data/lib/api_brasil/services/data/consulta_service.rb +97 -0
  21. data/lib/api_brasil/services/data/correios_service.rb +23 -0
  22. data/lib/api_brasil/services/data/dados_service.rb +30 -0
  23. data/lib/api_brasil/services/data/database_ip_service.rb +19 -0
  24. data/lib/api_brasil/services/data/fipe_service.rb +61 -0
  25. data/lib/api_brasil/services/data/proxies.rb +146 -0
  26. data/lib/api_brasil/services/data/ura_service.rb +26 -0
  27. data/lib/api_brasil/services/data/vehicles_service.rb +46 -0
  28. data/lib/api_brasil/services/device_proxy_service.rb +46 -0
  29. data/lib/api_brasil/services/messaging/evolution_service.rb +38 -0
  30. data/lib/api_brasil/services/messaging/sms_service.rb +40 -0
  31. data/lib/api_brasil/services/messaging/whats_meow_service.rb +30 -0
  32. data/lib/api_brasil/services/messaging/whatsapp_service.rb +120 -0
  33. data/lib/api_brasil/services/platform/account_service.rb +138 -0
  34. data/lib/api_brasil/services/platform/auth_service.rb +204 -0
  35. data/lib/api_brasil/services/platform/bearer_rate_limit_service.rb +29 -0
  36. data/lib/api_brasil/services/platform/catalog_service.rb +111 -0
  37. data/lib/api_brasil/services/platform/devices_service.rb +73 -0
  38. data/lib/api_brasil/services/platform/ip_whitelist_service.rb +73 -0
  39. data/lib/api_brasil/services/platform/payments_service.rb +124 -0
  40. data/lib/api_brasil/services/platform/reports_service.rb +96 -0
  41. data/lib/api_brasil/version.rb +6 -0
  42. data/lib/api_brasil.rb +72 -0
  43. data/lib/apigratis-sdk-ruby.rb +5 -0
  44. data/lib/apigratis.rb +11 -0
  45. metadata +149 -0
@@ -0,0 +1,526 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ApiBrasil
4
+ module Generated
5
+ # ARQUIVO GERADO AUTOMATICAMENTE - nao edite manualmente.
6
+ #
7
+ # Fonte: https://gateway.apibrasil.io/api/v2/documentations
8
+ # Regenerar: rake codegen
9
+ #
10
+ # 242 documentacoes, 549 endpoints,
11
+ # 210 tipos de consulta conhecidos.
12
+ module Catalog
13
+ # Actions conhecidas da API de WhatsApp (POST /whatsapp/{action}).
14
+ WHATSAPP_ACTIONS = [
15
+ "addParticipant",
16
+ "addSubgroupsCommunity",
17
+ "approveGroupMembershipRequest",
18
+ "archiveChat",
19
+ "blockContact",
20
+ "checkNumberStatus",
21
+ "clearChat",
22
+ "close",
23
+ "closeChat",
24
+ "createCommunity",
25
+ "createGroup",
26
+ "deactivateCommunity",
27
+ "deleteChat",
28
+ "deleteMessage",
29
+ "deleteSession",
30
+ "demoteCommunityParticipant",
31
+ "demoteParticipant",
32
+ "downloadMediaByMessage",
33
+ "fila",
34
+ "forwardMessages",
35
+ "getAllBroadcastList",
36
+ "getAllChats",
37
+ "getAllChatsWithMessages",
38
+ "getAllContacts",
39
+ "getAllGroups",
40
+ "getAllGroupsFull",
41
+ "getAllLabels",
42
+ "getAllNewMessages",
43
+ "getAutoDownloadSettings",
44
+ "getBatteryLevel",
45
+ "getBlockList",
46
+ "getChat",
47
+ "getCommonGroups",
48
+ "getCommunityParticipants",
49
+ "getConnectionState",
50
+ "getConnectionStatus",
51
+ "getGroupAdmins",
52
+ "getGroupInfoFromInviteLink",
53
+ "getGroupInviteLink",
54
+ "getGroupMembers",
55
+ "getGroupMembersIds",
56
+ "getGroupMembershipRequests",
57
+ "getGroupSizeLimit",
58
+ "getMessagesChat",
59
+ "getMessagesFromRowId",
60
+ "getNumberProfile",
61
+ "getPhoneNumberByLid",
62
+ "getPlatformFromMessage",
63
+ "getProducts",
64
+ "getProfilePic",
65
+ "getReactions",
66
+ "getStatus",
67
+ "getUnreadMessages",
68
+ "getWid",
69
+ "isAuthenticated",
70
+ "isConnected",
71
+ "isLoggedIn",
72
+ "isMultiDevice",
73
+ "joinGroup",
74
+ "joinWebBeta",
75
+ "leaveGroup",
76
+ "loadEarlierMessages",
77
+ "logout",
78
+ "markPlayed",
79
+ "openChat",
80
+ "promoteCommunityParticipant",
81
+ "promoteParticipant",
82
+ "qrcode",
83
+ "removeGroupIcon",
84
+ "removeParticipant",
85
+ "removeSubgroupsCommunity",
86
+ "reply",
87
+ "restartSession",
88
+ "sendAudio",
89
+ "sendAudio64",
90
+ "sendButtons",
91
+ "sendContact",
92
+ "sendContactVcardList",
93
+ "sendFile",
94
+ "sendFile/queue",
95
+ "sendFile64",
96
+ "sendGif",
97
+ "sendImageToStorie",
98
+ "sendLink",
99
+ "sendList",
100
+ "sendLocation",
101
+ "sendMentioned",
102
+ "sendMessageWithThumb",
103
+ "sendOrderMessage",
104
+ "sendOrderMessage/queue",
105
+ "sendPixKey",
106
+ "sendPollMessage",
107
+ "sendReadStatus",
108
+ "sendSticker",
109
+ "sendText",
110
+ "sendText/queue",
111
+ "sendTextToStorie",
112
+ "sendVideo",
113
+ "sendVideo/queue",
114
+ "sendVideoAsGif",
115
+ "sendVideoToStorie",
116
+ "setAutoDownloadSettings",
117
+ "setGroupDescription",
118
+ "setGroupPic",
119
+ "setGroupProperty",
120
+ "setGroupSubject",
121
+ "setMessagesAdminsOnly",
122
+ "setProfileName",
123
+ "setProfilePic",
124
+ "setTemporaryMessages",
125
+ "setTheme",
126
+ "start",
127
+ "startPhoneWatchdog",
128
+ "startRecording",
129
+ "startTyping",
130
+ "stopPhoneWatchdog",
131
+ "stopRecording",
132
+ "stopTyping",
133
+ "unblockContact",
134
+ "verifyNumber",
135
+ "whatsapp-versions",
136
+ ].freeze
137
+
138
+ # Caminhos conhecidos da Evolution API (POST /evolution/{controller}/{action}).
139
+ EVOLUTION_PATHS = [
140
+ "call/offer",
141
+ "chat/deleteMessageForEveryone",
142
+ "chat/fetchPrivacySettings",
143
+ "chat/fetchProfile",
144
+ "chat/fetchProfilePictureUrl",
145
+ "chat/findChats",
146
+ "chat/findContacts",
147
+ "chat/findMessages",
148
+ "chat/getBase64FromMediaMessage",
149
+ "chat/removeProfilePicture",
150
+ "chat/updatePrivacySettings",
151
+ "chat/updateProfileName",
152
+ "chat/updateProfilePicture",
153
+ "chat/updateProfileStatus",
154
+ "chat/whatsappNumbers",
155
+ "group/create",
156
+ "group/fetchAllGroups?getParticipants=true",
157
+ "group/findGroupInfos?groupJid=120363314888103300",
158
+ "group/inviteCode?groupJid=120363314888103300",
159
+ "group/inviteInfo?groupJid=120363314888103300",
160
+ "group/participants?groupJid=120363314888103300",
161
+ "group/revokeInviteCode?groupJid=120363314888103300",
162
+ "group/sendInvite",
163
+ "group/updateGroupDescription?groupJid=120363314888103300",
164
+ "group/updateGroupPicture?groupJid=120363314888103300",
165
+ "group/updateGroupSubject?groupJid=120363314888103300",
166
+ "group/updateParticipant?groupJid=120363314888103300",
167
+ "group/updateSetting?groupJid=120363314888103300",
168
+ "instance/connect",
169
+ "instance/connectionState",
170
+ "instance/create",
171
+ "instance/delete",
172
+ "instance/logout",
173
+ "instance/restart",
174
+ "label/findLabels",
175
+ "label/handleLabel",
176
+ "message/sendButtons",
177
+ "message/sendContact",
178
+ "message/sendLocation",
179
+ "message/sendMedia",
180
+ "message/sendPoll",
181
+ "message/sendReaction",
182
+ "message/sendStatus",
183
+ "message/sendSticker",
184
+ "message/sendText",
185
+ "message/sendText/queue",
186
+ "message/sendWhatsAppAudio",
187
+ "settings/find",
188
+ "settings/set",
189
+ ].freeze
190
+
191
+ # Actions conhecidas da WhatsMeow API (POST /whatsmeow/{action}).
192
+ WHATSMEOW_ACTIONS = [
193
+ "chat/archive",
194
+ "chat/mute",
195
+ "chat/pin",
196
+ "chat/unpin",
197
+ "group/create",
198
+ "group/info",
199
+ "group/invitelink",
200
+ "group/join",
201
+ "group/list",
202
+ "group/myall",
203
+ "group/name",
204
+ "group/participant",
205
+ "group/photo",
206
+ "instance/connect",
207
+ "instance/create",
208
+ "instance/delete/<devicekey>",
209
+ "instance/disconnect",
210
+ "instance/info/<devicekey>",
211
+ "instance/logout",
212
+ "instance/qr",
213
+ "send/contact",
214
+ "send/link",
215
+ "send/location",
216
+ "send/media",
217
+ "send/poll",
218
+ "send/sticker",
219
+ "send/text",
220
+ "user/avatar",
221
+ "user/block",
222
+ "user/blocklist",
223
+ "user/check",
224
+ "user/contacts",
225
+ "user/info",
226
+ "user/privacy",
227
+ "user/profile",
228
+ "user/unblock",
229
+ ].freeze
230
+
231
+ # Servicos de consulta por credito (POST /consulta/{service}/credits).
232
+ CONSULTA_SERVICOS = [
233
+ "api-rntrc",
234
+ "cep",
235
+ "cnpj",
236
+ "cpf",
237
+ "crbm",
238
+ "crm",
239
+ "cro",
240
+ "ddd-anatel",
241
+ "emissao-notas",
242
+ "frete-antt",
243
+ "geoip",
244
+ "rastreio",
245
+ "telefone",
246
+ "vehicles",
247
+ "veiculos",
248
+ "weather-api",
249
+ ].freeze
250
+
251
+ # Metadados por tipo de consulta: servico da rota e campos do body de exemplo.
252
+ CONSULTA_TIPOS = {
253
+ "acerta-completo-positivo-pf" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
254
+ "acerta-essencial" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
255
+ "acerta-essencial-positivo" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
256
+ "acoes-processos-judiciais" => { service: "cpf", fields: ["//cnpj", "cpf"].freeze }.freeze,
257
+ "agregados-basica" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
258
+ "agregados-chassi" => { service: "veiculos", fields: ["chassi"].freeze }.freeze,
259
+ "agregados-indicio-sinistro" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
260
+ "agregados-propria" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
261
+ "agregados-renavam" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
262
+ "agregados-renavam-v2" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
263
+ "agregados-simples" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
264
+ "agregados-v2" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
265
+ "aml-vinculos-societarios" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
266
+ "analise-credito-basic-pf" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
267
+ "analise-credito-basic-pj" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
268
+ "analise-credito-business" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
269
+ "analise-credito-complete-pf" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
270
+ "analise-credito-essencial-pf" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
271
+ "analise-credito-plus-pf" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
272
+ "analitico-veicular" => { service: "veiculos", fields: ["extra", "placa", "whitelabel"].freeze }.freeze,
273
+ "antecedentes-criminais" => { service: "cpf", fields: ["cpf", "rg", "uf"].freeze }.freeze,
274
+ "antifraude-chave-pix" => { service: "cpf", fields: ["chave-pix", "documento", "tipo-chave"].freeze }.freeze,
275
+ "bairros" => { service: "cep", fields: ["cidade"].freeze }.freeze,
276
+ "banco-central-inabilitados" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
277
+ "base-estadual-v3" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
278
+ "base-estadual-v3-async" => { service: "vehicles", fields: ["placa", "webhook_url"].freeze }.freeze,
279
+ "base-nacional-online" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
280
+ "base-nacional-v2" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
281
+ "beneficios-sociais-pf" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
282
+ "bet-safe-compliance" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
283
+ "boa-vista-acerta-pf" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
284
+ "boa-vista-define-score" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
285
+ "cadastral-premium-pj" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
286
+ "caf-pf" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
287
+ "calcula-frete" => { service: "frete-antt", fields: ["altoDesempenho", "composicaoVeicular", "dataReferencia", "distanciaKm", "eixos", "retornoVazio", "tipoCarga"].freeze }.freeze,
288
+ "ccf-bacen" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
289
+ "cep" => { service: "cep", fields: ["cep"].freeze }.freeze,
290
+ "certidao-conjunta-de-debitos-pessoa-fisica" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
291
+ "certidao-conjunta-de-debitos-pessoa-juridica" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
292
+ "certidao-negativa-de-debitos" => { service: "cpf", fields: ["cpf", "uf"].freeze }.freeze,
293
+ "certidao-negativa-de-licitante-inidoneo" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
294
+ "certificado-upload" => { service: "emissao-notas", fields: ["dados"].freeze }.freeze,
295
+ "check-list" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
296
+ "cidades" => { service: "cep", fields: ["uf"].freeze }.freeze,
297
+ "cidadesPorDDD" => { service: "cep", fields: ["ddd"].freeze }.freeze,
298
+ "city" => { service: "weather-api", fields: ["city"].freeze }.freeze,
299
+ "cnh-criminals" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
300
+ "cnh-criminals-async" => { service: "cpf", fields: ["cpf", "webhook_url"].freeze }.freeze,
301
+ "cnh-por-cpf" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
302
+ "cnpj-cadastral" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
303
+ "cnpj-search" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
304
+ "compliance-basic" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
305
+ "compliance-basic-pj" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
306
+ "compliance-complete" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
307
+ "compliance-complete-pj" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
308
+ "consulta-ano-modelo" => { service: "veiculos", fields: ["codigoMarca", "codigoModelo", "codigoTabelaReferencia", "codigoTipoVeiculo"].freeze }.freeze,
309
+ "consulta-cgu" => { service: "cpf", fields: ["cpf", "tipo-agente"].freeze }.freeze,
310
+ "consulta-chave" => { service: "vehicles", fields: ["job-id"].freeze }.freeze,
311
+ "consulta-consolidada-de-pessoa-juridica" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
312
+ "consulta-marca" => { service: "veiculos", fields: ["codigoTabelaReferencia", "codigoTipoVeiculo"].freeze }.freeze,
313
+ "consulta-modelo" => { service: "veiculos", fields: ["codigoMarca", "codigoTabelaReferencia", "codigoTipoVeiculo"].freeze }.freeze,
314
+ "consulta-modelos-atraves-do-ano" => { service: "veiculos", fields: ["ano", "anoModelo", "codigoMarca", "codigoTabelaReferencia", "codigoTipoCombustivel", "codigoTipoVeiculo"].freeze }.freeze,
315
+ "consulta-tabela-referencia" => { service: "veiculos", fields: [].freeze }.freeze,
316
+ "consulta-valor-com-todos-parametros" => { service: "veiculos", fields: ["ano", "anoModelo", "codigoMarca", "codigoModelo", "codigoTabelaReferencia", "codigoTipoCombustivel", "codigoTipoVeiculo"].freeze }.freeze,
317
+ "consultar-chave-base-estadual-v3" => { service: "vehicles", fields: ["job-id"].freeze }.freeze,
318
+ "consultar-chave-cnh-criminals" => { service: "cpf", fields: ["job-id"].freeze }.freeze,
319
+ "consultar-chave-csv-renainf-renajud-bin-proprietario" => { service: "vehicles", fields: ["job-id"].freeze }.freeze,
320
+ "consultar-chave-leilao-v2" => { service: "vehicles", fields: ["job-id"].freeze }.freeze,
321
+ "consultar-chave-veiculos-total" => { service: "vehicles", fields: ["job-id"].freeze }.freeze,
322
+ "coordinates" => { service: "weather-api", fields: ["lat", "lon"].freeze }.freeze,
323
+ "cpf-dados" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
324
+ "cpf-hotline" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
325
+ "cpf-impedidos" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
326
+ "cpf-lite" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
327
+ "cpf-obito-grupo-cadastral" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
328
+ "cpf-relatorio" => { service: "cpf", fields: ["cpf", "extra", "whitelabel"].freeze }.freeze,
329
+ "cpf-search" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
330
+ "cpf-search-mae" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
331
+ "cpf-sociodemograficos" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
332
+ "crbm" => { service: "crbm", fields: ["numero_registro", "regiao"].freeze }.freeze,
333
+ "creditos-simples-pf" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
334
+ "creditos-simples-pj" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
335
+ "crlve" => { service: "veiculos", fields: ["placa", "uf"].freeze }.freeze,
336
+ "crm" => { service: "crm", fields: ["numero_registro", "uf"].freeze }.freeze,
337
+ "cro" => { service: "cro", fields: ["categoria", "numero_registro", "uf"].freeze }.freeze,
338
+ "csv-renainf-renajud-bin-proprietario" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
339
+ "csv-renainf-renajud-bin-proprietario-async" => { service: "veiculos", fields: ["placa", "webhook_url"].freeze }.freeze,
340
+ "dados-cadastrais" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
341
+ "dados-processos" => { service: "cpf", fields: ["cpf", "whitelabel"].freeze }.freeze,
342
+ "ddd-cidade" => { service: "ddd-anatel", fields: ["city"].freeze }.freeze,
343
+ "debitos-restricoes" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
344
+ "debitos-v4" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
345
+ "debitos-v4-async" => { service: "vehicles", fields: ["placa", "webhook_url"].freeze }.freeze,
346
+ "decodificador-agregados" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
347
+ "decodificador-precificador" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
348
+ "define-risco-pj" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
349
+ "detalhamento-negativo" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
350
+ "divida-ativa" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
351
+ "documento-crlv-ac" => { service: "veiculos", fields: ["cpf", "placa", "renavam"].freeze }.freeze,
352
+ "documento-crlv-ap" => { service: "veiculos", fields: ["cpf", "placa", "renavam"].freeze }.freeze,
353
+ "documento-crlv-ba" => { service: "veiculos", fields: ["cpf", "placa", "renavam"].freeze }.freeze,
354
+ "documento-crlv-go" => { service: "veiculos", fields: ["cpf", "placa", "renavam"].freeze }.freeze,
355
+ "documento-crlv-ma" => { service: "veiculos", fields: ["cpf", "placa", "renavam"].freeze }.freeze,
356
+ "documento-crlv-mg" => { service: "veiculos", fields: ["cpf", "placa", "renavam"].freeze }.freeze,
357
+ "documento-crlv-ms" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
358
+ "documento-crlv-mt" => { service: "veiculos", fields: ["cpf", "placa", "renavam"].freeze }.freeze,
359
+ "documento-crlv-pi" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
360
+ "documento-crlv-ro" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
361
+ "documento-crlv-rr" => { service: "veiculos", fields: ["cpf", "placa", "renavam"].freeze }.freeze,
362
+ "documento-crlv-to" => { service: "veiculos", fields: ["cpf", "placa", "renavam"].freeze }.freeze,
363
+ "documento-frota" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
364
+ "emitentes-atualiza" => { service: "emissao-notas", fields: ["bairro", "cep", "cmun", "cnae", "cnpj", "crt", "documentos", "email", "emitente_id", "ie", "im", "logo", "municipio", "nome", "numero", "razao", "rua", "suframa", "telefone", "uf", "webhook_url"].freeze }.freeze,
365
+ "emitentes-cadastro" => { service: "emissao-notas", fields: ["bairro", "cep", "cmun", "cnae", "cnpj", "crt", "documentos", "email", "ie", "im", "logo", "municipio", "nome", "numero", "razao", "rua", "suframa", "telefone", "uf", "webhook_url"].freeze }.freeze,
366
+ "emitentes-lista" => { service: "emissao-notas", fields: ["emitente"].freeze }.freeze,
367
+ "endereco-telefone-por-placa" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
368
+ "enriquecimento-de-lead" => { service: "cpf", fields: ["email"].freeze }.freeze,
369
+ "estadual" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
370
+ "farol" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
371
+ "fgts-regularidade-do-empregador" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
372
+ "ficha-tecnica" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
373
+ "fipe" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
374
+ "fipe-chassi" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
375
+ "geoip" => { service: "geoip", fields: ["ip"].freeze }.freeze,
376
+ "gravame" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
377
+ "gravame-v2" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
378
+ "historico-alteracoes-empresa" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
379
+ "historico-km" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
380
+ "historico-proprietario" => { service: "vehicles", fields: ["cnpj", "placa"].freeze }.freeze,
381
+ "historico-veiculos-pf-pj" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
382
+ "leilao" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
383
+ "leilao-completo-score" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
384
+ "leilao-conjugado" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
385
+ "leilao-sintetico" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
386
+ "leilao-v2" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
387
+ "leilao-v2-async" => { service: "veiculos", fields: ["placa", "webhook_url"].freeze }.freeze,
388
+ "limite-pj" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
389
+ "limite-positivo-pj" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
390
+ "localiza-cnpj" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
391
+ "modelos-carga" => { service: "frete-antt", fields: ["dataReferencia"].freeze }.freeze,
392
+ "multas" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
393
+ "multas-prf" => { service: "veiculos", fields: ["placa", "renavam"].freeze }.freeze,
394
+ "nacional" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
395
+ "nfse-consulta" => { service: "emissao-notas", fields: ["chave", "emitente_id"].freeze }.freeze,
396
+ "nfse-envio" => { service: "emissao-notas", fields: ["dados", "emitente_id"].freeze }.freeze,
397
+ "normativa-atual" => { service: "frete-antt", fields: ["dataReferencia"].freeze }.freeze,
398
+ "obito" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
399
+ "opcoes-calculo" => { service: "frete-antt", fields: ["dataReferencia"].freeze }.freeze,
400
+ "pep-lista-restritiva" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
401
+ "pessoa-exposta-politicamente" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
402
+ "pessoa-exposta-politicamente-parentesco" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
403
+ "pessoa-juridica-protesto" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
404
+ "proprietario-atual" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
405
+ "proprietario-atual-v2" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
406
+ "protesto-nacional-v2" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
407
+ "protestos-nacional-base" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
408
+ "protestos-sp" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
409
+ "quod-pj" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
410
+ "quod-restricao-pf" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
411
+ "rastreio" => { service: "rastreio", fields: ["code"].freeze }.freeze,
412
+ "rating-avancado-pj" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
413
+ "recall" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
414
+ "recall-v2" => { service: "veiculos", fields: ["chassi"].freeze }.freeze,
415
+ "receita-federal" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
416
+ "receita-federal-pf" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
417
+ "receita-federal-pf-v3" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
418
+ "receita-federal-pj" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
419
+ "receita-federal-pj-v3" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
420
+ "regularidade-transportadora" => { service: "cnpj", fields: ["cnpj", "rntrc"].freeze }.freeze,
421
+ "relatorio-positivo" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
422
+ "relatorio-positivo-pj" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
423
+ "relatorio-veicular" => { service: "veiculos", fields: ["extra", "placa", "whitelabel"].freeze }.freeze,
424
+ "relatorio-veicular-completo" => { service: "veiculos", fields: ["extra", "placa", "whitelabel"].freeze }.freeze,
425
+ "renainf" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
426
+ "renajud" => { service: "veiculos", fields: ["documento", "placa", "renavam"].freeze }.freeze,
427
+ "risco-positivo-pj" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
428
+ "roubo-furto" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
429
+ "roubo-furto-v2" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
430
+ "score-credito-quod" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
431
+ "scpc-net-pf" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
432
+ "scpc-net-pj" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
433
+ "scr-analitico-resumo-bacen" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
434
+ "scr-bacen" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
435
+ "scr-bacen-score" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
436
+ "search" => { service: "api-rntrc", fields: ["filters", "pagination", "sort"].freeze }.freeze,
437
+ "secretaria-da-fazenda-sao-paulo" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
438
+ "serasa-real-time" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
439
+ "serasa-score-pf" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
440
+ "serasa-score-pj" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
441
+ "simples-nacional" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
442
+ "sincroniza-normativas" => { service: "frete-antt", fields: [].freeze }.freeze,
443
+ "sintegra-cadastros-estaduais" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
444
+ "sintegra-ccc" => { service: "cnpj", fields: ["cnpj", "uf"].freeze }.freeze,
445
+ "situacao-eleitoral" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
446
+ "spc-boa-vista" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
447
+ "spc-serasa" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
448
+ "spc-terceiros-pf" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
449
+ "spc-terceiros-pj" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
450
+ "telefone-operadora" => { service: "telefone", fields: ["numbers", "options"].freeze }.freeze,
451
+ "transacional-pf" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
452
+ "transacional-pj" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
453
+ "var" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
454
+ "veicular-agrupados" => { service: "veiculos", fields: ["agrupados", "placa"].freeze }.freeze,
455
+ "veiculos-dados-v1" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
456
+ "veiculos-documento-pf" => { service: "cpf", fields: ["cpf"].freeze }.freeze,
457
+ "veiculos-documento-pj" => { service: "veiculos", fields: ["cnpj"].freeze }.freeze,
458
+ "veiculos-total" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
459
+ "veiculos-total-async" => { service: "veiculos", fields: ["placa", "webhook_url"].freeze }.freeze,
460
+ "versoes-normativas" => { service: "frete-antt", fields: [].freeze }.freeze,
461
+ "vinculo-empregaticio" => { service: "cnpj", fields: ["cnpj"].freeze }.freeze,
462
+ "vip-car" => { service: "veiculos", fields: ["placa"].freeze }.freeze,
463
+ }.freeze
464
+
465
+ # Actions documentadas por servico do gateway.
466
+ SERVICE_ACTIONS = {
467
+ "api" => ["loterias/:sorteio"].freeze,
468
+ "apis" => ["list"].freeze,
469
+ "auth" => ["login", "logout"].freeze,
470
+ "balance" => [].freeze,
471
+ "cep" => ["bairros", "cep", "cidades", "cidadesPorDDD", "distancia/calcular", "estados"].freeze,
472
+ "chip" => ["virtual/activation", "virtual/buy", "virtual/operators", "virtual/services"].freeze,
473
+ "consulta" => ["api-rntrc/credits", "cep/credits", "cnpj/credits", "cpf/credits", "crbm/credits", "crm/credits", "cro/credits", "ddd-anatel/credits", "emissao-notas/credits", "frete-antt/credits", "geoip/credits", "rastreio/credits", "telefone/credits", "vehicles/credits", "veiculos/credits", "weather-api/credits"].freeze,
474
+ "correios" => ["rastreio"].freeze,
475
+ "dados" => ["byquery", "capital-social", "cep", "cnae", "cnpj", "cnpj/credits", "cpf", "lista-cnaes", "lista-socios", "uf"].freeze,
476
+ "database" => ["ip"].freeze,
477
+ "ddd" => [].freeze,
478
+ "devices" => ["destroy", "requests", "search", "store"].freeze,
479
+ "evolution" => ["call/offer", "chat/deleteMessageForEveryone", "chat/fetchPrivacySettings", "chat/fetchProfile", "chat/fetchProfilePictureUrl", "chat/findChats", "chat/findContacts", "chat/findMessages", "chat/getBase64FromMediaMessage", "chat/removeProfilePicture", "chat/updatePrivacySettings", "chat/updateProfileName", "chat/updateProfilePicture", "chat/updateProfileStatus", "chat/whatsappNumbers", "group/create", "group/fetchAllGroups?getParticipants=true", "group/findGroupInfos?groupJid=120363314888103300", "group/inviteCode?groupJid=120363314888103300", "group/inviteInfo?groupJid=120363314888103300", "group/participants?groupJid=120363314888103300", "group/revokeInviteCode?groupJid=120363314888103300", "group/sendInvite", "group/updateGroupDescription?groupJid=120363314888103300", "group/updateGroupPicture?groupJid=120363314888103300", "group/updateGroupSubject?groupJid=120363314888103300", "group/updateParticipant?groupJid=120363314888103300", "group/updateSetting?groupJid=120363314888103300", "instance/connect", "instance/connectionState", "instance/create", "instance/delete", "instance/logout", "instance/restart", "label/findLabels", "label/handleLabel", "message/sendButtons", "message/sendContact", "message/sendLocation", "message/sendMedia", "message/sendPoll", "message/sendReaction", "message/sendStatus", "message/sendSticker", "message/sendText", "message/sendText/queue", "message/sendWhatsAppAudio", "settings/find", "settings/set"].freeze,
480
+ "fipe" => ["ConsultarAnoModelo", "ConsultarMarcas", "ConsultarModelos", "ConsultarModelosAtravesDoAno", "ConsultarTabelaDeReferencia", "ConsultarValorComTodosParametros"].freeze,
481
+ "geolocation" => ["forward-geocoding", "geocode"].freeze,
482
+ "geomatrix" => ["distance"].freeze,
483
+ "holidays" => ["feriados"].freeze,
484
+ "invoices" => [].freeze,
485
+ "loterias" => [":sorteio/:concurso", ":sorteio/latest"].freeze,
486
+ "plan" => [].freeze,
487
+ "profile" => [].freeze,
488
+ "proxy" => ["seller/credits"].freeze,
489
+ "quod" => ["cnpj/credits"].freeze,
490
+ "recharge" => [].freeze,
491
+ "recharges" => [].freeze,
492
+ "recognize" => ["base64", "uri"].freeze,
493
+ "requests" => ["paginate"].freeze,
494
+ "servers" => [].freeze,
495
+ "sms" => ["send/credits"].freeze,
496
+ "social" => ["github/callback?code=SEU_CODE&state=SEU_STATE", "github/url"].freeze,
497
+ "ticket" => ["TCK-HKGMWHCW2S", "TCK-HKGMWHCW2S/messages"].freeze,
498
+ "tickets" => [].freeze,
499
+ "translate" => ["identify", "models"].freeze,
500
+ "ura" => ["call/dialler", "call/status?callId="].freeze,
501
+ "vehicles" => ["base/000/dados", "dados", "fipe"].freeze,
502
+ "weather" => ["city", "coordenates"].freeze,
503
+ "whatsapp" => ["addParticipant", "addSubgroupsCommunity", "approveGroupMembershipRequest", "archiveChat", "blockContact", "checkNumberStatus", "clearChat", "close", "closeChat", "createCommunity", "createGroup", "deactivateCommunity", "deleteChat", "deleteMessage", "deleteSession", "demoteCommunityParticipant", "demoteParticipant", "downloadMediaByMessage", "fila", "forwardMessages", "getAllBroadcastList", "getAllChats", "getAllChatsWithMessages", "getAllContacts", "getAllGroups", "getAllGroupsFull", "getAllLabels", "getAllNewMessages", "getAutoDownloadSettings", "getBatteryLevel", "getBlockList", "getChat", "getCommonGroups", "getCommunityParticipants", "getConnectionState", "getConnectionStatus", "getGroupAdmins", "getGroupInfoFromInviteLink", "getGroupInviteLink", "getGroupMembers", "getGroupMembersIds", "getGroupMembershipRequests", "getGroupSizeLimit", "getMessagesChat", "getMessagesFromRowId", "getNumberProfile", "getPhoneNumberByLid", "getPlatformFromMessage", "getProducts", "getProfilePic", "getReactions", "getStatus", "getUnreadMessages", "getWid", "isAuthenticated", "isConnected", "isLoggedIn", "isMultiDevice", "joinGroup", "joinWebBeta", "leaveGroup", "loadEarlierMessages", "logout", "markPlayed", "openChat", "promoteCommunityParticipant", "promoteParticipant", "qrcode", "removeGroupIcon", "removeParticipant", "removeSubgroupsCommunity", "reply", "restartSession", "sendAudio", "sendAudio64", "sendButtons", "sendContact", "sendContactVcardList", "sendFile", "sendFile/queue", "sendFile64", "sendGif", "sendImageToStorie", "sendLink", "sendList", "sendLocation", "sendMentioned", "sendMessageWithThumb", "sendOrderMessage", "sendOrderMessage/queue", "sendPixKey", "sendPollMessage", "sendReadStatus", "sendSticker", "sendText", "sendText/queue", "sendTextToStorie", "sendVideo", "sendVideo/queue", "sendVideoAsGif", "sendVideoToStorie", "setAutoDownloadSettings", "setGroupDescription", "setGroupPic", "setGroupProperty", "setGroupSubject", "setMessagesAdminsOnly", "setProfileName", "setProfilePic", "setTemporaryMessages", "setTheme", "start", "startPhoneWatchdog", "startRecording", "startTyping", "stopPhoneWatchdog", "stopRecording", "stopTyping", "unblockContact", "verifyNumber", "whatsapp-versions"].freeze,
504
+ "whatsmeow" => ["chat/archive", "chat/mute", "chat/pin", "chat/unpin", "group/create", "group/info", "group/invitelink", "group/join", "group/list", "group/myall", "group/name", "group/participant", "group/photo", "instance/connect", "instance/create", "instance/delete/<devicekey>", "instance/disconnect", "instance/info/<devicekey>", "instance/logout", "instance/qr", "send/contact", "send/link", "send/location", "send/media", "send/poll", "send/sticker", "send/text", "user/avatar", "user/block", "user/blocklist", "user/check", "user/contacts", "user/info", "user/privacy", "user/profile", "user/unblock"].freeze,
505
+ }.freeze
506
+
507
+ module_function
508
+
509
+ # Metadados de um tipo de consulta (`nil` quando desconhecido).
510
+ #
511
+ # @param tipo [String]
512
+ # @return [Hash, nil]
513
+ def consulta_tipo(tipo)
514
+ CONSULTA_TIPOS[tipo.to_s]
515
+ end
516
+
517
+ # Actions documentadas de um servico.
518
+ #
519
+ # @param service [String]
520
+ # @return [Array<String>]
521
+ def service_actions(service)
522
+ SERVICE_ACTIONS.fetch(service.to_s, [].freeze)
523
+ end
524
+ end
525
+ end
526
+ end