Prueba peticiones firmadas en el navegador en el Sandbox de la API — pega tu API key y secret, y el playground firma las peticiones automáticamente.
La API de Integración de SalesOS usa el esquema de peticiones firmadas P2S-SIGN-V1 en el header Authorization. Las API Keys tienen alcance a un solo tenant, se hashean con bcrypt y soportan límites de tasa y listas de IPs permitidas.
Esquema
Cuándo usar
Formato
P2S-SIGN-V1
Llamadas server-to-server — firmadas con el secret de la API key
Para llamadas server-to-server, construye el header Authorization como P2S-SIGN-V1 API_KEY:TIMESTAMP:SIGNATURE. La SIGNATURE es el HMAC-SHA256 hex de una cadena de claves derivadas en 5 pasos:
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 es Unix epoch en segundos, válido por 30 segundos. PAYLOAD_SHA256_HEX es el SHA-256 hex en minúsculas del cuerpo bruto de la petición (usa el digest de la cadena vacía e3b0c4...b855 cuando no haya body).
¿No quieres escribir el código de firma todavía? El Sandbox de la API firma las peticiones por ti en el navegador — pega tu API key y secret, luego haz clic en Try it out.
Una firma que no coincide con la que recalcula el servidor — generalmente causada por un cambio en el body después de firmar, una divergencia en la canonicalización del path, o una clave desactualizada:
Nunca expongas API keys en código del lado del cliente. JavaScript en el navegador, aplicaciones móviles y repositorios públicos pueden filtrar tu clave. Siempre llama a la API de SalesOS desde tu servidor backend.
Usa variables de entorno — Almacena SALESOS_API_KEY en variables de entorno o un gestor de secretos, nunca en el código fuente
Rota las claves periódicamente — Crea una nueva clave, actualiza tu integración, luego revoca la anterior
Usa listas de IPs permitidas — Si tu integración se ejecuta desde IPs fijas, restringe la clave solo a esas IPs
Monitorea el uso — Revisa los logs de uso de la API en el Dashboard para detectar patrones inesperados
Usa sk_test_ para desarrollo — Las claves de prueba aíslan tu ambiente de desarrollo de producción
Revoca claves comprometidas inmediatamente — Ve a Dashboard > Admin > API Keys > Revocar
# 1. Crea una nueva clave en el Dashboard → copia ambos valores:# - SALESOS_API_KEY=sk_live_NEW_KEY# - SALESOS_API_SECRET=NEW_SECRET# 2. Actualiza ambas variables de entorno en tu deployment.# 3. Verifica que funciona usando el helper de petición firmada del Inicio# Rápido (Node, Python o Bash). Payload de ejemplo:# { "action": "sync_collaborators",# "collaborators": [{"external_id":"test","name":"Test","email":"test@co.com"}] }# 4. Revoca la clave antigua en el Dashboard.