Skip to content

Autenticação ​

Cada integrador recebe uma credencial própria. Não há registo automático: a credencial é emitida pela empresa de condomínios com quem vai trabalhar, com as áreas que lhe forem concedidas.

Como se apresenta ​

Em todos os pedidos, no cabeçalho ApiKey:

bash
curl https://servidor.exemplo/api/integrations/v1/acme/buildings \
  -H "ApiKey: gcik_XXXXXXXXXXXXXXXXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY"

A credencial começa sempre por gcik_. Para além disso é opaca: trate-a como texto, não a parta nem lhe atribua significado.

A credencial é um segredo

Nunca a coloque em código do lado do cliente, em aplicações móveis, em repositórios ou em URLs. Quem a tiver faz tudo o que a sua integração faz. Guarde-a como guardaria uma palavra-passe de base de dados.

Só é mostrada uma vez ​

No momento da emissão. A partir daí a empresa já não consegue consultá-la — se a perder, a única saída é revogar a antiga e emitir uma nova. Guarde-a antes de fechar a janela onde a recebeu.

Validade ​

A credencial pode ser emitida com data de expiração ou sem ela. Se tiver, a API começa a responder KEY_EXPIRED a partir dessa data — sem período de tolerância.

Peça uma credencial nova antes da data de expiração e mude a configuração quando a tiver: as duas não coexistem, e trocar depois de expirar significa integração parada.

Rotação ​

Para substituir uma credencial sem interrupção, peça a nova, ponha-a a funcionar, confirme com o ping, e só depois peça a revogação da antiga.

Quando corre mal ​

Todas as falhas de autenticação trazem um código que diz o que fazer:

EstadoCódigoO que significaO que fazer
401INVALID_KEYO cabeçalho ApiKey falta, está malformado, ou não corresponde a nenhuma credencial conhecidaVerifique o cabeçalho e a empresa no caminho
401KEY_REVOKEDA credencial foi revogadaPeça uma nova
401KEY_EXPIREDA credencial ultrapassou a data de validadePeça uma nova
403FORBIDDEN_SCOPEA credencial é válida mas não lhe foi concedida a área deste pedidoPeça o alargamento da permissão. Ver Permissões
json
{
  "Error": {
    "Code": "INVALID_KEY",
    "Message": "The ApiKey header is missing or does not match a known credential.",
    "Field": null
  }
}

401 e 403 não são a mesma coisa

401 é um problema com a credencial. 403 é uma credencial boa a tentar uma área que não lhe foi concedida — não vale a pena renová-la. A distinção existe precisamente para não andar a perseguir um problema de chave que não existe.

Uma empresa desconhecida responde INVALID_KEY, tal como uma chave errada. É intencional: se o erro fosse distinto, o caminho passava a permitir descobrir que empresas existem.

Quem fica registado ​

Cada pedido deixa registo de qual credencial o fez e com que resultado terminou. É o que permite à empresa responder a "quem alterou isto" e a nós ajudar em suporte. Uma razão a mais para cada integrador ter a sua chave e não partilhar nenhuma.

API de Integração GC