ApiClient class

Cliente principal para comunicação com a API do SERPRO Integra Contador

Uso Simples

Modo Trial (sem certificado):

final apiClient = ApiClient();
await apiClient.authenticate(
  consumerKey: '06aef429-a981-3ec5-a1f8-71d38d86481e',
  consumerSecret: '06aef429-a981-3ec5-a1f8-71d38d86481e',
  contratanteNumero: '00000000000191',
  autorPedidoDadosNumero: '00000000191',
  ambiente: 'trial',
);

Modo Produção (com certificado):

final apiClient = ApiClient();
await apiClient.authenticate(
  consumerKey: 'sua_key',
  consumerSecret: 'seu_secret',
  contratanteNumero: '12345678000100',
  autorPedidoDadosNumero: '11122233344',
  certificadoDigitalBase64: 'BASE64_DO_CERTIFICADO',
  senhaCertificado: 'senha123',
  ambiente: 'producao',
);

Autenticação Automática no Construtor

final apiClient = ApiClient.autenticar(
  consumerKey: '06aef429-a981-3ec5-a1f8-71d38d86481e',
  consumerSecret: '06aef429-a981-3ec5-a1f8-71d38d86481e',
  contratanteNumero: '00000000000191',
  autorPedidoDadosNumero: '00000000191',
  ambiente: 'trial',
);
// Pronto para usar!
await CaixaPostal(apiClient);

Constructors

ApiClient()
Construtor padrão

Properties

authModel AuthenticationModel?
Obtém os dados de autenticação (apenas para debugging)
no setter
authTokenInfo Map<String, dynamic>
Obtém informações sobre o status do token de autenticação
no setter
autorPedidoDadosNumero String?
Número do autor do pedido (CPF/CNPJ) configurado na autenticação
no setter
certificadoPath String?
Caminho do certificado digital (se configurado)
no setter
certificadoSenha String?
Senha do certificado digital (se configurado)
no setter
contratanteNumero String?
Número do contratante (CNPJ) configurado na autenticação
no setter
contribuinteNumero String?
CNPJ/CPF do contribuinte configurado durante autenticação com procurador
no setter
hashCode int
The hash code for this object.
no setterinherited
hasProcuradorToken bool
Verifica se existe token de procurador válido no authModel
no setter
isAutenticado bool
Verifica se está autenticado
no setter
isAuthenticated bool
Verifica se o cliente está autenticado
no setter
procuradorToken String?
Obtém token de procurador do authModel
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

autenticarProcurador({required String termoAutorizacaoBase64, required String contratanteNumero, required String autorPedidoDadosNumero}) Future<Map<String, dynamic>>
Autentica procurador usando termo de autorização assinado digitalmente
authenticate({required String consumerKey, required String consumerSecret, required String contratanteNumero, required String autorPedidoDadosNumero, String? certificadoDigitalBase64, String? certificadoDigitalPath, String? senhaCertificado, String ambiente = 'trial'}) Future<void>
Autentica o cliente com a API do SERPRO usando OAuth2 e mTLS
authenticateWithProcurador({required String consumerKey, required String consumerSecret, required String contratanteNumero, required String autorPedidoDadosNumero, String? certificadoDigitalBase64, String? certificadoDigitalPath, String? senhaCertificado, String ambiente = 'trial', String? contratanteNome, String? autorNome, String? contribuinteNumero, String? autorNumero, String? certificadoProcuradorPath, String? certificadoProcuradorBase64, String? certificadoProcuradorPassword}) Future<void>
Autenticação Unificada: OAuth2 + Procurador em um único passo
clearAuthentication() → void
Limpa toda a autenticação e libera recursos
forceReauthenticate() Future<void>
Força re-autenticação manual
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
post(String endpoint, BaseRequest request, {String? contratanteNumero, String? autorPedidoDadosNumero, String? procuradorToken}) Future<Map<String, dynamic>>
Executa uma requisição POST para a API do SERPRO
setServidores({String? urlAutenticacao, String? urlAutenticacaoProcurado, String? urlProxy}) → void
Configura URLs dos servidores Firebase Cloud Functions
toString() String
A string representation of this object.
inherited
updateProcuradorToken(String procuradorToken) → void
Atualiza o token de procurador no authModel (usado internamente e pelos services)

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

autenticar({required String consumerKey, required String consumerSecret, required String contratanteNumero, required String autorPedidoDadosNumero, String? certificadoDigitalBase64, String? certificadoDigitalPath, String? senhaCertificado, String ambiente = 'trial'}) Future<ApiClient>
Construtor com autenticação automática