consultarExtratoDas method

Future<ConsultarExtratoDasResponse> consultarExtratoDas({
  1. String? contribuinteNumero,
  2. required String numeroDas,
  3. String? contratanteNumero,
  4. String? autorPedidoDadosNumero,
})

Consultar extrato da apuração do DAS por número de DAS

contribuinteNumero CNPJ do contribuinte numeroDas Número do DAS (17 dígitos) 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<ConsultarExtratoDasResponse> consultarExtratoDas({
  String? contribuinteNumero,
  required String numeroDas,
  String? contratanteNumero,
  String? autorPedidoDadosNumero,
}) async {
  final resolvedContribuinte =
      contribuinteNumero ??
      _apiClient.contribuinteNumero ??
      (throw ArgumentError('CNPJ do contribuinte é obrigatório'));
  final consultaRequest = ConsultarExtratoDasRequest(numeroDas: numeroDas);

  if (!consultaRequest.isValid) {
    throw ArgumentError('Dados da consulta inválidos');
  }

  final baseRequest = BaseRequest(
    contribuinteNumero: resolvedContribuinte,
    pedidoDados: PedidoDados(
      idSistema: 'PGDASD',
      idServico: 'CONSEXTRATO16',
      versaoSistema: '1.0',
      dados: consultaRequest.toJson().toString(),
    ),
  );

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