Autenticação e permissões
como o erp enxerga uma integração não como um usuário um usuário do erp tem cargo no organograma, e a autoridade dele — o que pode aprovar, até quanto — vem desse cargo um programa não tem cargo, não é lotado em secretaria nenhuma e não sobe de posto por isso a integração é um princípio de máquina a chave que ela apresenta já carrega a lista do que pode fazer essa lista chama se escopo os dois cabeçalhos cabeçalho conteúdo x erp appkey a chave emitida pelo órgão x tenant id o identificador do órgão pelo qual a integração age os dois em toda requisição sem o segundo, o erp não sabe em qual base procurar — inclusive a sua própria chave as duas regras do escopo que surpreendem 1\ é uma lista fechada, e o silêncio significa não para pessoas , o erp assume que uma operação sem regra de alçada definida está liberada — o órgão vai organizando as alçadas aos poucos, e travar tudo até lá inviabilizaria a operação para integração, o contrário operação que não está no escopo é recusada, mesmo que o órgão não tenha restringido nada para os próprios servidores uma chave emitida sem nenhuma operação no escopo não faz absolutamente nada isso não é rigor gratuito se valesse a regra das pessoas, uma chave sem escopo herdaria tudo que o órgão ainda não governou — que é justamente o que ninguém percebeu configurar 2\ chave nunca aprova valor operações sujeitas a limite de alçada são recusadas para integração, sempre, qualquer que seja o escopo aprovar um valor dentro de alçada é ato de agente público, preso a um cargo; um programa não tem cargo a que a alçada se prenda se o seu desenho "precisa aprovar", ele está errado a integração registra , e uma pessoa aprova antes 401 não é 403 se a resposta é 401 com code appkey invalid, pare aqui — a chave apresentada não foi reconhecida (errada, ou revogada) nada de escopo resolve isso; fale de credencial com o órgão o resto desta seção é sobre 403, que é outro problema as três causas de um 403 distinguir importa, porque a ação é diferente em cada caso causa como reconhecer o que fazer a operação não está no escopo é o caso comum pedir ao órgão uma chave com a operação no escopo o endpoint não declara permissão o catálogo mostra — na coluna de escopo não há chave que abra; abrir chamado a operação tem teto de alçada o endpoint recebe um valor redesenhar registrar em vez de aprovar em nenhum dos três repetir a chamada resolve retentar 403 só gasta a sua cota por que existe o segundo caso alguns endpoints do produto não declaram qual permissão exigem para um servidor autenticado isso é uma escolha; para uma chave, quebraria a promessa da credencial — uma chave escopada numa única operação alcançaria todos eles então integração é negada por padrão onde o endpoint não diz o que exige revogação o órgão revoga a chave quando a integração termina a revogação vale na chamada seguinte — inclusive para o acesso à documentação não há período de graça o que ainda não existe token de curta duração a chave raiz trafega em cada chamada; não há troca por token com validade curta consequência prática trate a chave como segredo de produção — fora do código, fora de log, rotacionada quando alguém sai do time do integrador