consultarDeclaracoes method
Consultar declarações transmitidas por ano-calendário ou período de apuração
contribuinteNumero CNPJ do contribuinte
anoCalendario Ano-calendário (formato: AAAA) - forneça este OU periodoApuracao
periodoApuracao Período de apuração (formato: AAAAMM) - forneça este OU anoCalendario
contratanteNumero CNPJ do contratante (opcional, usa dados da autenticação se não informado)
autorPedidoDadosNumero CPF/CNPJ do autor do pedido (opcional, usa dados da autenticação se não informado)
Implementation
Future<ConsultarDeclaracoesResponse> consultarDeclaracoes({
String? contribuinteNumero,
String? anoCalendario,
String? periodoApuracao,
String? contratanteNumero,
String? autorPedidoDadosNumero,
}) async {
final resolvedContribuinte =
contribuinteNumero ??
_apiClient.contribuinteNumero ??
(throw ArgumentError('CNPJ do contribuinte é obrigatório'));
final consultaRequest = anoCalendario != null
? ConsultarDeclaracoesRequest.porAnoCalendario(anoCalendario)
: ConsultarDeclaracoesRequest.porPeriodoApuracao(periodoApuracao!);
if (!consultaRequest.isValid) {
throw ArgumentError('Dados da consulta inválidos');
}
final baseRequest = BaseRequest(
contribuinteNumero: resolvedContribuinte,
pedidoDados: PedidoDados(
idSistema: 'PGDASD',
idServico: 'CONSDECLARACAO13',
versaoSistema: '1.0',
dados: consultaRequest.toJson().toString(),
),
);
final response = await _apiClient.post(
'/Consultar',
baseRequest,
contratanteNumero: contratanteNumero,
autorPedidoDadosNumero: autorPedidoDadosNumero,
);
return ConsultarDeclaracoesResponse.fromJson(response);
}