consolidarEmitirDarf method

Future<ConsolidarEmitirDarfResponse> consolidarEmitirDarf(
  1. ConsolidarEmitirDarfRequest request, {
  2. String? contratanteNumero,
  3. String? autorPedidoDadosNumero,
})

Consolidar e emitir um DARF

Este serviço:

  • Monta uma chamada para a funcionalidade de consolidação (cálculo da multa e dos juros)
  • Gera o documento PDF do DARF a partir do resultado da consolidação
  • Devolve o resultado do cálculo e o PDF do DARF

request: Dados da requisição para consolidação e emissão do DARF contratanteNumero: CNPJ da empresa 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)

Retorna: ConsolidarEmitirDarfResponse com os dados consolidados e PDF do DARF

Implementation

Future<ConsolidarEmitirDarfResponse> consolidarEmitirDarf(
  ConsolidarEmitirDarfRequest request, {
  String? contratanteNumero,
  String? autorPedidoDadosNumero,
}) async {
  try {
    // Validar dados da requisição
    final erros = request.validarDados();
    if (erros.isNotEmpty) {
      throw Exception('Dados inválidos: ${erros.join(', ')}');
    }

    // Fazer a requisição
    final response = await _apiClient.post(
      '/Emitir',
      request,
      contratanteNumero: contratanteNumero,
      autorPedidoDadosNumero: autorPedidoDadosNumero,
    );

    // Processar resposta
    return ConsolidarEmitirDarfResponse.fromJson(response);
  } catch (e) {
    throw Exception('Erro ao consolidar e emitir DARF: $e');
  }
}