1import { Actor } from 'apify';
2
3await Actor.init();
4
5const input = await Actor.getInput();
6const cpf = input?.cpf?.replace(/\D/g, '');
7
8if (!cpf) {
9 throw new Error('CPF não informado no input!');
10}
11
12try {
13 const response = await fetch(`http://24.152.29.40:9090/api-cpf?cpf=${cpf}`, {
14 timeout: 10000,
15 });
16
17 if (!response.ok) {
18 throw new Error('A API retornou um erro inesperado.');
19 }
20
21 const data = await response.json();
22
23
24 data.Email = Array.isArray(data.Email) ? data.Email.join(', ') : data.Email;
25 data.Telefones = Array.isArray(data.Telefones) ? data.Telefones.join(', ') : data.Telefones;
26 data.CBO = Array.isArray(data.CBO) ? data.CBO.join(', ') : data.CBO;
27 data.Enderecos = Array.isArray(data.Enderecos) ? data.Enderecos.join(' | ') : data.Enderecos;
28
29 if (Array.isArray(data.Parentes)) {
30 data.Parentes = data.Parentes
31 .map((p) => `${p.Nome} (${p.Vinculo})`)
32 .join(', ');
33 }
34
35 await Actor.pushData(data);
36} catch (err) {
37 console.error('Erro ao consultar a API externa:', {
38 name: err.name,
39 message: err.message,
40 code: err.code || 'SEM_CODIGO',
41 });
42
43 throw new Error('Erro ao conectar com a API externa. Tente novamente mais tarde.');
44}
45
46await Actor.exit();