diff --git a/source/cnpja/cnpja.dto.ts b/source/cnpja/cnpja.dto.ts index 15d86fd..689d6d3 100644 --- a/source/cnpja/cnpja.dto.ts +++ b/source/cnpja/cnpja.dto.ts @@ -108,7 +108,7 @@ export interface ErrorBadRequestDto { message: string; /** * Lista com as falhas de validação. - * @example ["taxId must be a numeric string that obeys digit verification algorithm"] + * @example ["taxId must be a string that obeys cnpj verification algorithm"] */ constraints: string[]; } @@ -322,8 +322,10 @@ export interface SuframaStatusDto { /** * Código da situação cadastral: * 1\. Ativa. - * 2\. Bloqueada. - * 3\. Inativa. + * 2\. Inativa. + * 3\. Bloqueada. + * 4\. Cancelada. + * 5\. Cancelada Ag. Rec. * @format integer * @example 1 */ @@ -381,8 +383,8 @@ export interface SuframaIncentiveDto { /** SuframaDto */ export interface SuframaDto { /** - * Número do CNPJ. - * @format cnpj + * Número do CNPJ ou CPF. + * @format cnpj|cpf * @example "37335118000180" */ taxId: string; @@ -853,6 +855,62 @@ export interface PersonDto { membership: PersonMemberDto[]; } +/** MemberDto */ +export interface MemberDto { + /** + * Data de entrada na sociedade. + * @format iso8601 + * @example "2020-06-05" + */ + since: string; + /** Informações do sócio ou administrador. */ + person: PersonBaseDto; + /** Informações da qualificação. */ + role: RoleDto; + /** + * Presente quando aplicável na qualificação + * Informações do representante legal. + */ + agent?: MemberAgentDto; +} + +/** OfficeCompanyDto */ +export interface OfficeCompanyDto { + /** + * Código da empresa, idem aos oito primeiros caracteres do CNPJ. + * @format integer + * @example 37335118 + */ + id: number; + /** + * Razão social. + * @example "CNPJA TECNOLOGIA LTDA" + */ + name: string; + /** + * Presente quando `nature.id < 2000` + * Ente federativo responsável. + * @example "Uniao" + */ + jurisdiction?: string; + /** + * Capital social + * @format float + * @example 1000 + */ + equity: number; + /** Informações da natureza jurídica. */ + nature: NatureDto; + /** Informações do porte. */ + size: CompanySizeDto; + /** Informações da opção pelo Simples Nacional. */ + simples?: SimplesSimeiDto; + /** Informações do enquadramento no MEI. */ + simei?: SimplesSimeiDto; + /** Quadro de sócios e administradores. */ + members: MemberDto[]; +} + /** RegistrationStatusDto */ export interface RegistrationStatusDto { /** @@ -947,60 +1005,35 @@ export interface RegistrationDto { type: RegistrationTypeDto; } -/** MemberDto */ -export interface MemberDto { - /** - * Data de entrada na sociedade. - * @format iso8601 - * @example "2020-06-05" - */ - since: string; - /** Informações do sócio ou administrador. */ - person: PersonBaseDto; - /** Informações da qualificação. */ - role: RoleDto; - /** - * Presente quando aplicável na qualificação - * Informações do representante legal. - */ - agent?: MemberAgentDto; -} - -/** OfficeCompanyDto */ -export interface OfficeCompanyDto { +/** OfficeSuframaDto */ +export interface OfficeSuframaDto { /** - * Código da empresa, idem aos oito primeiros caracteres do CNPJ. - * @format integer - * @example 37335118 + * Número da inscrição SUFRAMA. + * @format numeric + * @example "200400029" */ - id: number; + number: string; /** - * Razão social. - * @example "CNPJA TECNOLOGIA LTDA" + * Data de inscrição na SUFRAMA. + * @format iso8601 + * @example "2020-01-01" */ - name: string; + since: string; /** - * Presente quando `nature.id < 2000` - * Ente federativo responsável. - * @example "Uniao" + * Indica se o projeto está aprovado. + * @example true */ - jurisdiction?: string; + approved: boolean; /** - * Capital social - * @format float - * @example 1000 + * Data de aprovação do projeto. + * @format iso8601 + * @example "2021-01-01" */ - equity: number; - /** Informações da natureza jurídica. */ - nature: NatureDto; - /** Informações do porte. */ - size: CompanySizeDto; - /** Informações da opção pelo Simples Nacional. */ - simples?: SimplesSimeiDto; - /** Informações do enquadramento no MEI. */ - simei?: SimplesSimeiDto; - /** Quadro de sócios e administradores. */ - members: MemberDto[]; + approvalDate: string; + /** Informações da situação cadastral. */ + status: SuframaStatusDto; + /** Lista de incentivos fiscais. */ + incentives: SuframaIncentiveDto[]; } /** OfficeLinkDto */ @@ -1009,7 +1042,7 @@ export interface OfficeLinkDto { * Tipo de arquivo a qual o link se refere. * @example "RFB_CERTIFICATE" */ - type: "RFB_CERTIFICATE" | "SIMPLES_CERTIFICATE" | "OFFICE_MAP" | "OFFICE_STREET"; + type: "RFB_CERTIFICATE" | "SIMPLES_CERTIFICATE" | "SUFRAMA_CERTIFICATE" | "OFFICE_MAP" | "OFFICE_STREET"; /** * URL pública de acesso ao arquivo. * @example "https://api.cnpja.com/rfb/certificate?taxId=37335118000180&signature=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIyZDdhNTVhNy1hMTYxLTRiNTAtODI5ZC1iNDg4MjE5NGMwYjciLCJ1cmwiOiIvcmZiL2NlcnRpZmljYXRlP3RheElkPTM3MzM1MTE4MDAwMTgwIiwiaWF0IjoxNjI1ODkxMzczLCJleHAiOjE2MjU4OTQ5NzMsImF1ZCI6Imh0dHBzOi8vY25wamEuY29tLyIsImlzcyI6Imh0dHBzOi8vY25wamEuY29tLyJ9.AY9YgQfRk5jEMbkDQL7Hx2s5gEChncPQME8D5hx7PpXQdf6oqjHvN5s_Zk_y2F6srN1ZfMt1oyPJ62JZcwhWtIEL6j_7N_lnv-64w16uAL5xDBfGboNcqtxABV1Mtq-B0-mdKCHsMIw6eHDkBJXnQgGY4EELKYAOMXBF4XgcNWZN00_1nAA_iEivEIOKgyDAVbPg2Pd-zowqL_taSPuOYU_9fpLWxB2nsXLa4QfhCjdp_7kllcI83DbDAjfpVcDNYh4zuVhgoHkGHIzRFyeqOH_RU1sO-_3zDd75cF2B2u0qtyLn0i4KDcJxjK21_5Oh7oJTUd8E08-anjCdIZAIoyQyobc9Awulb86LuASFzvrE_R8uFlnglzAH_CHyGyg-VCBuKRUm0ES7iKVhaKVcWBoEb4r5BIzqO1c0nBvK9Jd_Uc3f2Zu6ouNiyQPYM9PjCRCwed8NomivJkYcUugR-KKp_M21AliocPFpHrM5zIgORxSeK-FUq4zc9jZGQo93I3f1U2Ao5kid3-xviNcNNDbON4m3GDJ1vXGjE2ZWA4IfbzdcPnJvx1-A5QD5J-gFvGRb91mrQof3ujxnTxzCgs939EXrXKL3SQ0S90b5jgrBMYFcCPQbetBGooC0zC-se4ykqEYxY95pAsqIPncoAojQ94rxztDeM4cDy-vcIlg" @@ -1019,18 +1052,19 @@ export interface OfficeLinkDto { /** OfficeDto */ export interface OfficeDto { - /** - * Data da última atualização. - * @format iso8601 - * @example "2024-06-05T17:52:39.136Z" - */ - updated: string; /** * Número do CNPJ. * @format cnpj * @example "37335118000180" */ taxId: string; + /** + * Data da última atualização. + * @format iso8601 + * @example "2024-06-05T17:52:39.136Z" + */ + updated: string; + company: OfficeCompanyDto; /** * Nome fantasia. * @example "CNPJA" @@ -1083,7 +1117,8 @@ export interface OfficeDto { sideActivities: ActivityDto[]; /** Lista de Inscrições Estaduais. */ registrations?: RegistrationDto[]; - company: OfficeCompanyDto; + /** Lista de inscrições SUFRAMA */ + suframa?: OfficeSuframaDto[]; /** Lista de links para arquivos. */ links?: OfficeLinkDto[]; } @@ -1218,7 +1253,7 @@ export interface LegacySimplesNacionalDto { /** * Data da última atualização do Simples Nacional. * @format iso8601 - * @example "2024-07-16T00:26:07.095Z" + * @example "2024-07-23T21:32:09.529Z" */ last_update: string; /** @@ -1297,7 +1332,7 @@ export interface LegacySintegraDto { /** * Data da última atualização do Cadastro de Contribuintes. * @format iso8601 - * @example "2024-07-16T00:26:07.112Z" + * @example "2024-07-23T21:32:09.542Z" */ last_update: string; /** @@ -1428,7 +1463,7 @@ export interface LegacyCompanyDto { /** * Data da última atualização. * @format iso8601 - * @example "2024-07-16T00:26:07.113Z" + * @example "2024-07-23T21:32:09.543Z" */ last_update: string; /** @@ -1658,17 +1693,44 @@ export interface CccDto { export interface SuframaReadDto { /** - * Número do CNPJ. - * @format cnpj + * Número do CNPJ ou CPF. + * @format cnpj|cpf * @example "37335118000180" */ taxId: string; + /** + * Estratégia de cache utilizada na aquisição dos dados: + * - `CACHE`: Entrega os dados do cache, evitando cobranças de créditos, se os dados não estiverem disponíveis resultará em um erro 404. + * - `CACHE_IF_FRESH`: Retorna os dados do cache respeitando o limite em `maxAge`, se os dados estiverem desatualizados será consultado online. + * - `CACHE_IF_ERROR`: Idem ao `CACHE_IF_FRESH`, mas se a consulta online falhar retorna os dados do cache respeitando o limite em `maxStale`. + * - `ONLINE`: Consulta diretamente online, não recomendado pois ignora qualquer cache, sugerimos configurar `maxAge=1` como alternativa. + * @default "CACHE_IF_ERROR" + */ + strategy?: "ONLINE" | "CACHE_IF_FRESH" | "CACHE_IF_ERROR" | "CACHE"; + /** + * Idade máxima, em dias, que um dado em cache é aceite, relevante para as estratégias `CACHE_IF_FRESH` e `CACHE_IF_ERROR`. + * @format integer + * @min 1 + * @max 3650 + * @default 45 + */ + maxAge?: number; + /** + * Idade máxima, em dias, que um dado em cache é aceite em caso de erro na busca online, relevante apenas para a estratégia `CACHE_IF_FRESH`. + * @format integer + * @min 1 + * @max 3650 + * @default 365 + */ + maxStale?: number; + /** Aguarda a compensação dos créditos de forma síncrona, retornando o cabeçalho `cnpja-request-cost`. */ + sync?: boolean; } export interface SuframaCertificateReadDto { /** - * Número do CNPJ. - * @format cnpj + * Número do CNPJ ou CPF. + * @format cnpj|cpf * @example "37335118000180" */ taxId: string; @@ -1823,6 +1885,11 @@ export interface OfficeReadDto { | "SE" | "TO" )[]; + /** + * [ +1 ₪ ] Adiciona a inscrição na SUFRAMA. + * @default false + */ + suframa?: boolean; /** * [ +7 ₪ ] Adiciona a latitude e longitude do endereço. * @default false @@ -1832,7 +1899,7 @@ export interface OfficeReadDto { * Adiciona links públicos para visualização dos arquivos selecionados separados por vírgula. * @example "RFB_CERTIFICATE,SIMPLES_CERTIFICATE" */ - links?: ("RFB_CERTIFICATE" | "SIMPLES_CERTIFICATE" | "OFFICE_MAP" | "OFFICE_STREET")[]; + links?: ("RFB_CERTIFICATE" | "SIMPLES_CERTIFICATE" | "SUFRAMA_CERTIFICATE" | "OFFICE_MAP" | "OFFICE_STREET")[]; /** * Estratégia de cache utilizada na aquisição dos dados: * - `CACHE`: Entrega os dados do cache, evitando cobranças de créditos, se os dados não estiverem disponíveis resultará em um erro 404. @@ -1990,13 +2057,14 @@ export interface ConsultaCnpjDescontParams { export interface CccReadDto { /** - * Número do CNPJ ou CPF. + * CNPJ ou CPF de produtor rural * @format cnpj|cpf * @example "37335118000180" */ taxId: string; /** * Unidades Federativas para consulta separadas por vírgula, utilize `BR` para considerar todas. + * Consultas de CPF de produtor rural exigem informar a UF exata. * @example "PR,RS,SC" */ states: (