emitirDas method
Emite documento de arrecadação na modalidade PERTMEI
contribuinteNumero - CNPJ do contribuinte (obrigatório)
parcelaParaEmitir - Ano e mês da parcela para emitir o DAS no formato AAAAMM (obrigatório)
Retorna PDF do DAS em formato base64 ou erro detalhado
Implementation
Future<EmitirDasResponse> emitirDas(
String? contribuinteNumero,
int parcelaParaEmitir,
) async {
try {
final resolvedContribuinte =
contribuinteNumero ?? _apiClient.contribuinteNumero;
// Validação dos dados obrigatórios
if (resolvedContribuinte == null || resolvedContribuinte.isEmpty) {
return EmitirDasResponse(
status: '400',
mensagens: [
Mensagem(
codigo: '[Erro-PERTMEI-VALIDATION]',
texto: 'CNPJ do contribuinte é obrigatório',
),
],
dados: null,
);
}
if (parcelaParaEmitir < 202001 || parcelaParaEmitir > 209912) {
return EmitirDasResponse(
status: '400',
mensagens: [
Mensagem(
codigo: '[Erro-PERTMEI-VALIDATION]',
texto:
'Parcela para emitir deve estar no formato AAAAMM (ex: 202306)',
),
],
dados: null,
);
}
final request = BaseRequest(
contribuinteNumero: resolvedContribuinte,
pedidoDados: PedidoDados(
idSistema: 'PERTMEI',
idServico: 'GERARDAS221',
versaoSistema: '1.0',
dados: jsonEncode({'parcelaParaEmitir': parcelaParaEmitir}),
),
);
final response = await _apiClient.post('/Emitir', request);
return EmitirDasResponse.fromJson(response);
} catch (e) {
return EmitirDasResponse(
status: '500',
mensagens: [
Mensagem(
codigo: '[Erro-PERTMEI-INTERNAL]',
texto: 'Erro interno: $e',
),
],
dados: null,
);
}
}