consultarParcelamento method

Future<ConsultarParcelamentoResponse> consultarParcelamento(
  1. String? contribuinteNumero,
  2. int numeroParcelamento
)

Consulta um determinado parcelamento na modalidade PERTMEI

contribuinteNumero - CNPJ do contribuinte (obrigatório) numeroParcelamento - Número do parcelamento que se deseja consultar (obrigatório)

Retorna informações detalhadas do parcelamento ou erro detalhado

Implementation

Future<ConsultarParcelamentoResponse> consultarParcelamento(
  String? contribuinteNumero,
  int numeroParcelamento,
) async {
  try {
    final resolvedContribuinte =
        contribuinteNumero ?? _apiClient.contribuinteNumero;
    // Validação dos dados obrigatórios
    if (resolvedContribuinte == null || resolvedContribuinte.isEmpty) {
      return ConsultarParcelamentoResponse(
        status: '400',
        mensagens: [
          Mensagem(
            codigo: '[Erro-PERTMEI-VALIDATION]',
            texto: 'CNPJ do contribuinte é obrigatório',
          ),
        ],
        dados: null,
      );
    }

    if (numeroParcelamento <= 0) {
      return ConsultarParcelamentoResponse(
        status: '400',
        mensagens: [
          Mensagem(
            codigo: '[Erro-PERTMEI-VALIDATION]',
            texto: 'Número do parcelamento deve ser maior que zero',
          ),
        ],
        dados: null,
      );
    }

    final request = BaseRequest(
      contribuinteNumero: resolvedContribuinte,
      pedidoDados: PedidoDados(
        idSistema: 'PERTMEI',
        idServico: 'OBTERPARC224',
        versaoSistema: '1.0',
        dados: jsonEncode({'numeroParcelamento': numeroParcelamento}),
      ),
    );

    final response = await _apiClient.post('/Consultar', request);
    return ConsultarParcelamentoResponse.fromJson(response);
  } catch (e) {
    return ConsultarParcelamentoResponse(
      status: '500',
      mensagens: [
        Mensagem(
          codigo: '[Erro-PERTMEI-INTERNAL]',
          texto: 'Erro interno: $e',
        ),
      ],
      dados: null,
    );
  }
}