obterIndicadorDte method
Obtém informação que indica se há adesão ao DTE de um contribuinte
Obtém informação que indica se há adesão ao DTE - Domicílio Tributário Eletrônico, no Caixa Postal do Simples Nacional e no e-CAC de um contribuinte.
cnpj CNPJ do contribuinte (apenas Pessoa Jurídica - tipo 2)
contratanteNumero CNPJ do 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 DteResponse com o indicador de enquadramento e status
Exemplo:
final response = await dteService.obterIndicadorDte('12345678000195');
if (response.sucesso) {
print('Status: ${response.statusEnquadramentoDescricao}');
print('É optante DTE: ${response.isOptanteDte}');
}
Implementation
Future<DteResponse> obterIndicadorDte(
String? cnpj, {
String? contratanteNumero,
String? autorPedidoDadosNumero,
}) async {
final resolvedCnpj =
cnpj ??
_apiClient.contribuinteNumero ??
(throw ArgumentError('CNPJ do contribuinte é obrigatório'));
final request = BaseRequest(
contribuinteNumero: resolvedCnpj,
pedidoDados: PedidoDados(
idSistema: 'DTE',
idServico: 'CONSULTASITUACAODTE111',
versaoSistema: '1.0',
dados: '', // Campo dados deve ser enviado vazio conforme documentação
),
);
try {
final response = await _apiClient.post(
'/Consultar',
request,
contratanteNumero: contratanteNumero,
autorPedidoDadosNumero: autorPedidoDadosNumero,
);
final dteResponse = DteResponse.fromJson(response);
_validarResposta(dteResponse);
return dteResponse;
} catch (e) {
if (e is ArgumentError) {
rethrow;
}
throw Exception('Erro ao consultar indicador DTE: ${e.toString()}');
}
}