Pular para o conteúdo principal

API Keys

Conceituacao

As API Keys sao o principal metodo de autenticacao da Ogmma API. Cada chave identifica a sua instituicao e define quais operacoes estao autorizadas, permitindo controle granular de acesso aos recursos da plataforma.

Formato da chave

As API keys seguem o formato padrao:

oapi_sk_{environment}_{random}
ComponenteDescricao
oapi_sk_Prefixo fixo que identifica uma chave Ogmma
{environment}Ambiente: live (producao) ou test (sandbox)
{random}Sequencia aleatoria unica

Comprimento total: 48 caracteres.

Exemplos:

  • Producao: oapi_sk_live_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
  • Sandbox: oapi_sk_test_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6

Ambientes

AmbientePrefixoDescricao
liveoapi_sk_live_Chave de producao. Acessa canais reais e envia mensagens de verdade.
testoapi_sk_test_Chave de teste. Acessa o ambiente sandbox com mensagens simuladas.

Propriedades da chave

Cada API key possui as seguintes propriedades:

PropriedadeDescricao
NomeNome descritivo para identificar o uso da chave (ex: "Integracao CRM", "Webhook Producao")
PermissoesLista de escopos granulares que definem quais operacoes a chave pode executar
Rate LimitLimite de requisicoes por minuto para esta chave especifica
Data de ExpiracaoData opcional em que a chave sera automaticamente desativada

Seguranca

As API keys sao armazenadas como hashes SHA-256. Isso significa que:

  • O valor completo da chave e exibido apenas uma vez, no momento da criacao.
  • Apos a criacao, somente o prefixo (primeiros 8 caracteres) e visivel.
  • Nao e possivel recuperar uma chave perdida. Nesse caso, revogue a chave antiga e crie uma nova.

Autenticacao

Para autenticar uma requisicao, inclua a API key no header Authorization:

curl -X GET "https://oapi.ogmma.com.br/v1/channels" \
-H "Authorization: Bearer oapi_sk_live_a1b2c3d4e5f6g7h8..."

Escopos de permissao

As permissoes sao definidas de forma granular por recurso e operacao:

EscopoDescricao
channels.readListar e visualizar canais
channels.writeCriar e gerenciar canais
messages.sendEnviar mensagens
messages.readLer mensagens
conversations.readListar e visualizar conversas
conversations.writeGerenciar conversas (fechar, transferir)
contacts.readListar e visualizar contatos
contacts.writeCriar e editar contatos
webhooks.readListar webhooks configurados
webhooks.writeCriar e gerenciar webhooks
bulk-send.writeCriar envios em massa
bulk-send.readConsultar status de envios em massa
sandbox.writeExecutar operacoes no sandbox

Boas praticas

  • Use chaves diferentes para cada integracao - Facilita a auditoria e permite revogar acesso individualmente.
  • Rotacione as chaves periodicamente - Crie uma nova chave, atualize sua integracao e revogue a antiga.
  • Use chaves de teste para desenvolvimento - Nunca use chaves live em ambientes de desenvolvimento.
  • Nunca exponha chaves em codigo client-side - API keys devem ser usadas apenas em servidores backend.
  • Defina permissoes minimas - Conceda apenas os escopos necessarios para cada integracao.
  • Configure data de expiracao - Para chaves temporarias, defina uma data de expiracao automatica.
Atencao

Nunca compartilhe suas API keys em repositorios de codigo, logs ou comunicacoes nao seguras. Se uma chave for comprometida, revogue-a imediatamente.