Micro serviço
1 função do TermoLeads para micro serviço.
// npm install termo_core --save-exact
import * as leads from "termo_core/leads";
// ou: import { leads } from "termo_core";| Função | Rota | O que faz |
|---|---|---|
cnpj_salvar_lote | POST /api/micro_servico/cnpj/lote | Recebe um lote da base CNPJ montada no localhost |
cnpj_salvar_lote
POST/api/micro_servico/cnpj/lote Pública
Recebe um lote da base CNPJ montada no localhost
Sem JWT: exige o header x-secret-api-micro-service igual a GLOBAL_SECRET_API_MICRO_SERVICE do servidor (sem a variável, a rota fica fechada). Usada pela sincronização do localhost, que monta a base da Receita e manda as linhas prontas em lotes. Faz upsert por cnpj: insere o CNPJ novo e atualiza o que já existe, regravando só as linhas que mudaram. No máximo 5.000 registros por lote.
function cnpj_salvar_lote(
corpo_da_requisicao: tipos.SalvarLoteCnpjInput,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.SalvarLoteCnpjOutput>import { cnpj_salvar_lote } from "termo_core/leads";
const resposta = await cnpj_salvar_lote(corpo_da_requisicao);Argumentos
Nome
Tipo
Retorno: Promise<tipos.SalvarLoteCnpjOutput> · Rust: Result<tipos::SalvarLoteCnpjOutput, ErroAoChamarServico> · veja SalvarLoteCnpjOutput.
Tipos
Tipos usados pelas funções desta página. O nome é o mesmo nos dois pacotes.
Cnpj
import type { Cnpj } from "termo_core/leads";
export interface Cnpj {
/**
* Bairro
*/
bairro?: string | null;
/**
* CEP, 8 dígitos sem máscara
*/
cep?: string | null;
/**
* Código do CNAE fiscal principal, 7 dígitos
*/
cnae_fiscal_principal?: string | null;
/**
* Descrição do CNAE fiscal principal
*/
cnae_fiscal_principal_descricao?: string | null;
/**
* Códigos dos CNAEs secundários separados por vírgula, como a Receita publica
*/
cnae_fiscal_secundaria?: string | null;
/**
* CNPJ do estabelecimento, 14 dígitos sem máscara
*/
cnpj: string;
/**
* Oito primeiros dígitos do CNPJ, que identificam a empresa
*/
cnpj_basico: string;
/**
* Dois dígitos verificadores do CNPJ
*/
cnpj_dv?: string | null;
/**
* Quatro dígitos da ordem do estabelecimento (0001 é a matriz na maioria dos casos)
*/
cnpj_ordem?: string | null;
/**
* Complemento do endereço
*/
complemento?: string | null;
/**
* E-mail cadastrado na Receita
*/
correio_eletronico?: string | null;
/**
* Data de início da atividade, no formato AAAAMMDD
*/
data_inicio_atividade?: string | null;
/**
* Data da situação cadastral, no formato AAAAMMDD
*/
data_situacao_cadastral?: string | null;
/**
* Data da situação especial, no formato AAAAMMDD
*/
data_situacao_especial?: string | null;
/**
* DDD do telefone 1
*/
ddd_1?: string | null;
/**
* DDD do telefone 2
*/
ddd_2?: string | null;
/**
* DDD do fax
*/
ddd_fax?: string | null;
/**
* Capital social em reais, em texto com vírgula decimal (ex.: `5000,00`)
*/
empresa_capital_social?: string | null;
/**
* Ente federativo responsável, preenchido só para natureza jurídica de órgão público
*/
empresa_ente_federativo_responsavel?: string | null;
/**
* Código da natureza jurídica
*/
empresa_natureza_juridica?: string | null;
/**
* Natureza jurídica por extenso
*/
empresa_natureza_juridica_descricao?: string | null;
/**
* Código do porte: 00 não informado, 01 microempresa, 03 empresa de pequeno porte, 05 demais
*/
empresa_porte_empresa?: string | null;
/**
* Porte por extenso: `Não informado`, `Microempresa`, `Empresa de Pequeno Porte` ou `Demais`
*/
empresa_porte_empresa_descricao?: string | null;
/**
* Código da qualificação do responsável pela empresa
*/
empresa_qualificacao_responsavel?: string | null;
/**
* Qualificação do responsável por extenso
*/
empresa_qualificacao_responsavel_descricao?: string | null;
/**
* Razão social da empresa
*/
empresa_razao_social?: string | null;
/**
* Fax, sem o DDD
*/
fax?: string | null;
/**
* Código da Receita: 1 matriz, 2 filial
*/
identificador_matriz_filial?: string | null;
/**
* `Matriz` ou `Filial`
*/
identificador_matriz_filial_descricao?: string | null;
/**
* Nome do logradouro
*/
logradouro?: string | null;
/**
* Código do motivo da situação cadastral
*/
motivo_situacao_cadastral?: string | null;
/**
* Motivo da situação cadastral por extenso
*/
motivo_situacao_cadastral_descricao?: string | null;
/**
* Código do município na tabela da Receita
*/
municipio?: string | null;
/**
* Nome do município em maiúsculas
*/
municipio_descricao?: string | null;
/**
* Cidade no exterior, quando o estabelecimento fica fora do Brasil
*/
nome_cidade_exterior?: string | null;
/**
* Nome fantasia do estabelecimento
*/
nome_fantasia?: string | null;
/**
* Número do endereço
*/
numero?: string | null;
/**
* Código do país, quando o estabelecimento fica no exterior
*/
pais?: string | null;
/**
* Nome do país
*/
pais_descricao?: string | null;
/**
* Data da exclusão do MEI, no formato AAAAMMDD
*/
simples_data_exclusao_mei?: string | null;
/**
* Data da exclusão do Simples Nacional, no formato AAAAMMDD
*/
simples_data_exclusao_simples?: string | null;
/**
* Data da opção pelo MEI, no formato AAAAMMDD
*/
simples_data_opcao_mei?: string | null;
/**
* Data da opção pelo Simples Nacional, no formato AAAAMMDD
*/
simples_data_opcao_simples?: string | null;
/**
* Opção pelo MEI: `S` ou `N`
*/
simples_opcao_pelo_mei?: string | null;
/**
* Opção pelo MEI por extenso: `Sim` ou `Não`
*/
simples_opcao_pelo_mei_descricao?: string | null;
/**
* Opção pelo Simples Nacional: `S` ou `N`
*/
simples_opcao_pelo_simples?: string | null;
/**
* Opção pelo Simples Nacional por extenso: `Sim` ou `Não`
*/
simples_opcao_pelo_simples_descricao?: string | null;
/**
* Código da situação cadastral: 01 nula, 02 ativa, 03 suspensa, 04 inapta, 08 baixada
*/
situacao_cadastral?: string | null;
/**
* Situação cadastral por extenso: `Nula`, `Ativa`, `Suspensa`, `Inapta` ou `Baixada`
*/
situacao_cadastral_descricao?: string | null;
/**
* Situação especial do estabelecimento, quando houver
*/
situacao_especial?: string | null;
/**
* Quadro societário em ordem alfabética do nome; cada sócio é um objeto com textos nas chaves `cnpj_basico`, `identificador_socio` (1 pessoa jurídica, 2 pessoa física, 3 estrangeiro), `identificador_socio_descricao`, `nome_socio_razao_social`, `cnpj_cpf_socio` (CPF parcialmente mascarado pela Receita), `qualificacao_socio`, `qualificacao_socio_descricao`, `data_entrada_sociedade` (AAAAMMDD), `pais`, `pais_descricao`, `representante_legal`, `nome_representante`, `qualificacao_representante`, `qualificacao_representante_descricao` e `faixa_etaria`. Lista vazia quando não há sócios
*/
socios: Array<Record<string, unknown>>;
/**
* Telefone 1, sem o DDD
*/
telefone_1?: string | null;
/**
* Telefone 2, sem o DDD
*/
telefone_2?: string | null;
/**
* `true` quando os dados da empresa (razão social, natureza, porte, capital) foram encontrados na base
*/
tem_empresa: boolean;
/**
* `true` quando a empresa tem registro do Simples Nacional ou do MEI na base
*/
tem_simples: boolean;
/**
* Tipo do logradouro (ex.: RUA, AVENIDA)
*/
tipo_logradouro?: string | null;
/**
* Sigla da UF
*/
uf?: string | null;
}SalvarLoteCnpjInput
import type { SalvarLoteCnpjInput } from "termo_core/leads";
export interface SalvarLoteCnpjInput {
/**
* Linhas completas da tabela `cnpj` (os mesmos campos de `Cnpj`), no máximo 5.000 por lote
*/
registros: Array<Record<string, unknown>>;
}SalvarLoteCnpjOutput
import type { SalvarLoteCnpjOutput } from "termo_core/leads";
export interface SalvarLoteCnpjOutput {
/**
* Quantidade de registros inseridos ou alterados (os iguais ao que já estava no banco não contam)
*/
gravados: number;
/**
* Quantidade de registros recebidos no lote
*/
recebidos: number;
}