consultarXmlDeclaracao method
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);
}