gerarCodigoBarras method

Future<GerarCodigoBarrasResponse> gerarCodigoBarras(
  1. GerarCodigoBarrasRequest request, {
  2. String? contratanteNumero,
  3. String? autorPedidoDadosNumero,
})

Consolidar e emitir código de barras do DARF

Este serviço:

  • Monta uma chamada para a funcionalidade de consolidação (cálculo de multa e juros)
  • Gera o código de barras do DARF a partir do resultado da consolidação
  • Devolve o resultado do cálculo e os campos do código de barras

request: Dados da requisição para geração do código de barras 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: GerarCodigoBarrasResponse com os dados consolidados e código de barras

Implementation

Future<GerarCodigoBarrasResponse> gerarCodigoBarras(
  GerarCodigoBarrasRequest 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 GerarCodigoBarrasResponse.fromJson(response);
  } catch (e) {
    throw Exception('Erro ao gerar código de barras: $e');
  }
}