emitirCcmei method
Emite o CCMEI (Cadastro Centralizado de MEI) em formato PDF
Entrada:
cnpj: CNPJ do MEI (14 dígitos, pode ser formatado)contratanteNumero: CNPJ do contratante (opcional)autorPedidoDadosNumero: CPF/CNPJ do autor (opcional)
Saída:
EmitirCcmeiResponsecontendo:pdfBase64: PDF do CCMEI codificado em Base64dataEmissao: Data de emissão do documentostatus: Status da requisição
Exemplo:
final response = await ccmeiService.emitirCcmei(
'12345678000190',
contratanteNumero: '98765432000100',
);
// Saída: EmitirCcmeiResponse { pdfBase64: 'JVBERi0xLjQ...', status: 200 }
Throws ArgumentError se o CNPJ for inválido
Implementation
Future<EmitirCcmeiResponse> emitirCcmei(
String? cnpj, {
String? contratanteNumero,
String? autorPedidoDadosNumero,
}) async {
final resolvedCnpj =
cnpj ??
_apiClient.contribuinteNumero ??
(throw ArgumentError('CNPJ do contribuinte é obrigatório'));
// Validar formato do CNPJ antes de fazer a requisição
ValidacoesUtils.validateCNPJ(resolvedCnpj);
// Criar requisição com dados específicos do serviço CCMEI
final request = BaseRequest(
contribuinteNumero: resolvedCnpj,
pedidoDados: PedidoDados(
idSistema: 'CCMEI',
idServico: 'EMITIRCCMEI121', // ID específico para emissão de CCMEI
versaoSistema: '1.0',
dados: '',
),
);
// Executar requisição para o endpoint de emissão
final response = await _apiClient.post(
'/Emitir',
request,
contratanteNumero: contratanteNumero,
autorPedidoDadosNumero: autorPedidoDadosNumero,
);
return EmitirCcmeiResponse.fromJson(response);
}