emitirDasWithRequest method

Future<EmitirDasRelpmeiResponse> emitirDasWithRequest({
  1. String? contribuinteNumero,
  2. required EmitirDasRelpmeiRequest request,
  3. String? contratanteNumero,
  4. String? autorPedidoDadosNumero,
})

Versão com request específico para emitir DAS

Implementation

Future<EmitirDasRelpmeiResponse> emitirDasWithRequest({
  String? contribuinteNumero,
  required EmitirDasRelpmeiRequest request,
  String? contratanteNumero,
  String? autorPedidoDadosNumero,
}) async {
  final resolvedContribuinte =
      contribuinteNumero ??
      _apiClient.contribuinteNumero ??
      (throw ArgumentError('CNPJ do contribuinte é obrigatório'));
  final baseRequest = BaseRequest(
    contribuinteNumero: resolvedContribuinte,
    pedidoDados: PedidoDados(
      idSistema: 'RELPMEI',
      idServico: 'GERARDAS231',
      versaoSistema: '1.0',
      dados: request.toJsonString(),
    ),
  );

  // Nota: DAS usa endpoint Emitir, não Consultar
  final response = await _apiClient.post(
    '/Emitir',
    baseRequest,
    contratanteNumero: contratanteNumero,
    autorPedidoDadosNumero: autorPedidoDadosNumero,
  );

  return EmitirDasRelpmeiResponse.fromJson(response);
}