consultarUltimaDeclaracao method

Future<ConsultarUltimaDeclaracaoResponse> consultarUltimaDeclaracao({
  1. String? contribuinteNumero,
  2. required int ano,
  3. String? contratanteNumero,
  4. String? autorPedidoDadosNumero,
})

Consulta a última declaração transmitida na DEFIS para um ano específico

contribuinteNumero CNPJ do contribuinte ano Ano calendário que se deseja consultar a última declaração transmitida contratanteNumero Número do contratante (opcional, usa dados da autenticação se não informado) autorPedidoDadosNumero Número do autor do pedido de dados (opcional, usa dados da autenticação se não informado)

Implementation

Future<ConsultarUltimaDeclaracaoResponse> consultarUltimaDeclaracao({
  String? contribuinteNumero,
  required int ano,
  String? contratanteNumero,
  String? autorPedidoDadosNumero,
}) async {
  final resolvedContribuinte =
      contribuinteNumero ??
      _apiClient.contribuinteNumero ??
      (throw ArgumentError('CNPJ do contribuinte é obrigatório'));
  final consultaRequest = ConsultarUltimaDeclaracaoRequest(ano: ano);

  final request = BaseRequest(
    contribuinteNumero: resolvedContribuinte,
    pedidoDados: PedidoDados(
      idSistema: 'DEFIS',
      idServico: 'CONSULTIMADECREC143',
      versaoSistema: '1.0',
      dados: jsonEncode(consultaRequest.toJson()),
    ),
  );

  final response = await _apiClient.post(
    '/Consultar',
    request,
    contratanteNumero: contratanteNumero,
    autorPedidoDadosNumero: autorPedidoDadosNumero,
  );
  return ConsultarUltimaDeclaracaoResponse.fromJson(response);
}