Teste requisições assinadas no navegador no Sandbox da API — cole sua API key e secret, e o playground assina as requisições automaticamente.
A API de Integração SalesOS usa o esquema de requisições assinadas P2S-SIGN-V1 no header Authorization. As API Keys têm escopo em um único tenant, são hasheadas com bcrypt e suportam rate limiting e listas de IPs permitidos.
Esquema
Quando usar
Formato
P2S-SIGN-V1
Chamadas server-to-server — assinadas com o secret da API key
Para chamadas server-to-server, monte o header Authorization como P2S-SIGN-V1 API_KEY:TIMESTAMP:SIGNATURE. A SIGNATURE é o HMAC-SHA256 hex de uma cadeia de chaves derivada em 5 passos:
k1 = HMAC_SHA256(key=API_KEY_SECRET, msg=API_KEY)
k2 = HMAC_SHA256(key=k1, msg=TIMESTAMP)
k3 = HMAC_SHA256(key=k2, msg=METHOD)
k4 = HMAC_SHA256(key=k3, msg=PATH)
SIG = HMAC_SHA256_HEX(key=k4, msg=PAYLOAD_SHA256_HEX)
TIMESTAMP é Unix epoch em segundos, válido por 30 segundos. PAYLOAD_SHA256_HEX é o SHA-256 hex em minúsculas do corpo bruto da requisição (use o digest da string vazia e3b0c4...b855 quando não houver body).
Não quer escrever o código de assinatura ainda? O Sandbox da API assina as requisições para você no navegador — cole sua API key e secret, depois clique em Try it out.
Uma assinatura que não bate com o que o servidor recalcula — geralmente causada por mudança no body após assinar, divergência na canonicalização do path, ou chave desatualizada:
Nunca exponha API keys em código client-side. JavaScript no navegador, aplicativos mobile e repositórios públicos podem vazar sua chave. Sempre chame a API SalesOS a partir do seu servidor backend.
Use variáveis de ambiente — Armazene SALESOS_API_KEY em variáveis de ambiente ou em um gerenciador de segredos, nunca no código-fonte
Rotacione as chaves periodicamente — Crie uma nova chave, atualize sua integração e depois revogue a antiga
Use listas de IPs permitidos — Se sua integração roda a partir de IPs fixos, restrinja a chave apenas a esses IPs
Monitore o uso — Verifique os logs de uso da API no Dashboard para padrões inesperados
Use sk_test_ para desenvolvimento — Chaves de teste isolam seu ambiente de desenvolvimento da produção
# 1. Crie uma nova chave no Dashboard → copie ambos os valores:# - SALESOS_API_KEY=sk_live_NEW_KEY# - SALESOS_API_SECRET=NEW_SECRET# 2. Atualize ambas as variáveis de ambiente no seu deployment.# 3. Verifique se funciona usando o helper de requisição assinada do Início# Rápido (Node, Python ou Bash). Exemplo de payload:# { "action": "sync_collaborators",# "collaborators": [{"external_id":"test","name":"Test","email":"test@co.com"}] }# 4. Revogue a chave antiga no Dashboard.