consultarXmlDeclaracao method

Future<ConsultarXmlResponse> consultarXmlDeclaracao({
  1. String? contribuinteNumero,
  2. required CategoriaDctf categoria,
  3. required String anoPA,
  4. String? mesPA,
  5. String? diaPA,
  6. int? cnoAfericao,
  7. int? numeroReciboEntrega,
  8. String? numProcReclamatoria,
  9. String? contratanteNumero,
  10. String? autorPedidoDadosNumero,
})

Consulta o XML de uma declaração ATIVA ou gera XML de uma declaração EM ANDAMENTO

Para declarações ATIVAS: retorna o XML já assinado e transmitido Para declarações EM ANDAMENTO: gera XML para posterior assinatura e transmissão

contribuinteNumero CPF ou CNPJ do contribuinte categoria Categoria da declaração anoPA Ano do período de apuração mesPA Mês do período de apuração - obrigatório exceto para 13º salário diaPA Dia do período de apuração - apenas para espetáculo desportivo cnoAfericao Número da obra - apenas para aferição numeroReciboEntrega Número do recibo - opcional, usa a declaração mais recente se não informado numProcReclamatoria Número do processo - apenas para reclamatória trabalhista

Implementation

Future<ConsultarXmlResponse> consultarXmlDeclaracao({
  String? contribuinteNumero,
  required CategoriaDctf categoria,
  required String anoPA,
  String? mesPA,
  String? diaPA,
  int? cnoAfericao,
  int? numeroReciboEntrega,
  String? numProcReclamatoria,
  String? contratanteNumero,
  String? autorPedidoDadosNumero,
}) async {
  final resolvedContribuinte =
      contribuinteNumero ??
      _apiClient.contribuinteNumero ??
      (throw ArgumentError('CPF/CNPJ do contribuinte é obrigatório'));
  final dctfRequest = ConsultarDctfWebRequest(
    categoria: categoria,
    anoPA: anoPA,
    mesPA: mesPA,
    diaPA: diaPA,
    cnoAfericao: cnoAfericao,
    numeroReciboEntrega: numeroReciboEntrega,
    numProcReclamatoria: numProcReclamatoria,
  );

  final request = BaseRequest(
    contribuinteNumero: resolvedContribuinte,
    pedidoDados: PedidoDados(
      idSistema: 'DCTFWEB',
      idServico: 'CONSXMLDECLARACAO38',
      dados: dctfRequest.toDadosJson(),
    ),
  );

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