Skip to main content
Um login é uma forma de autenticar. Uma account é o que é faturado. Uma account pode conter vários logins, e essa relação é estruturalmente carregadora.

Por que a account, não o login

Tetos de rate, saldo prepaid, limites de crédito e statements são todos indexados pela account.
Um limite por login permitiria que um cliente aumentasse seu próprio teto criando outro login. Indexar pela account é o que faz o limite significar algo.

Os dois protocolos autenticam diferentemente

Para a API REST, configure tanto systemId quanto password. Uma credencial contendo apenas um apiKey é configuração válida e não pode autenticar — é recusada com 403.

Dois campos, defaults opostos

Deliberado. O product seleciona o rate, portanto um login que pudesse nomear qualquer product poderia escolher o próprio preço. Nomear um que não lhe foi concedido é recusado em vez de permitido por omissão.

Rotacionando um segredo

Um cliente rotaciona o seu a partir do portal, e o novo segredo é mostrado exatamente uma vez. Um operador também pode fazê-lo a partir da página da account.
Desabilitar um login derruba seus binds ativos. Esse é o comportamento pretendido — caso contrário, uma credencial revogada continua enviando até a sessão eventualmente cair — mas significa que desabilitar durante o horário comercial interrompe o tráfego imediatamente.

TLVs default em uma credencial

Valores fornecidos em nome do cliente quando o submit_sm deles não os carrega.
Aplicado depois das tags na mensagem — um valor que o cliente enviou sempre vence — e antes do check mandatory.tlvs.submit do listener, portanto uma credencial pode satisfazer uma tag requerida em nome de um cliente que nunca envia uma.
Defaults de TLV da credencial são snapshotados no bind. Diferente de roteamento e propriedades, editá-los se aplica no próximo bind daquele cliente, não a sessões já conectadas.
A gramática, e por que 1400 e 0x1400 são tags diferentes, está em Declarações de TLV.

Onde as credenciais vivem

Trocar para db contra um app_credential vazio recusa todo bind e toda chamada REST de uma vez. O loader publica o mapa vazio em vez de fazer fallback para o arquivo.fireflo import credentials recusa incondicionalmente quando não deixaria credencial utilizável, com flag ou sem flag — essa recusa existe precisamente para prevenir isso.

Chaves desconhecidas são avisadas, não rejeitadas

Portanto, uma configuração mais nova carrega em uma build mais antiga. Um typo é silenciosamente descartado. Leia o log após editar se um campo parece não ter efeito.

O que um cliente vê do próprio

A partir do portal: seus logins, para onde enviar, e um botão de rotação. Nunca de outra account, e nunca um segredo que ele não acabou de criar. Veja Acesso ao portal.