Autenticación y llaves
Llaves pública y secreta, modos test y live, permisos, límites de velocidad y formato de las respuestas.
La API pública está en https://api.pushhub.daertec.com/v1. Cada petición lleva una llave en la cabecera:
Authorization: Bearer sk_live_…
Tipos de llave
| Llave | Dónde va | Puede |
|---|---|---|
Pública pk_test_… / pk_live_… |
Dentro de tu app (no es secreta) | Registrar y actualizar dispositivos (devices:write) y reportar eventos (events:write). Nada más. |
Secreta sk_test_… / sk_live_… |
Solo en tu servidor. Nunca en la app ni en el navegador | Además: enviar (notifications:send), consultar envíos (notifications:read), listar dispositivos (devices:read) y gestionar topics (topics:write). |
Al crear una llave puedes reducir sus permisos, limitarla a una app y, solo las secretas, a una lista de IPs (IP o rango CIDR). Usar una llave pública en un endpoint que exige secreta devuelve 1006.
Modo test y modo live
Con una llave test todo funciona igual, pero los envíos solo llegan a los dispositivos marcados como de prueba. Así integras sin riesgo de molestar a usuarios reales. Las llaves live envían a la audiencia real.
Llaves limitadas a una app
Si la llave no está limitada a una app, indica appId en la consulta o en el cuerpo. Si lo está, appId no hace falta.
Formato de respuesta
Todas las respuestas tienen la misma forma:
{ "errCode": 0, "errMsg": "", "data": { }, "meta": { "requestId": "01J…" } }
errCode: 0es éxito. Cualquier otro valor es un error: consulta el catálogo de errores.- Los errores de validación agregan
errorscon el campo y el motivo. meta.requestIdidentifica la petición: inclúyelo si escribes a soporte.
Límites de velocidad
Cada llave tiene un límite por minuto según el plan (120 en prueba, 300 en Básico, 1 200 en Pro). Cada respuesta lleva:
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 287
Al superarlo recibes 429 con errCode 3003 y Retry-After. Ver Límites y cuotas.
Idempotencia
En POST /v1/notifications envía una cabecera Idempotency-Key única por envío lógico (por ejemplo el id de tu pedido). Si repites la petición con la misma clave en 24 h, recibes la notificación original sin duplicarla. Si la repites con otro cuerpo: 4005.
Buenas prácticas de seguridad
- Rota las llaves desde el panel: la anterior sigue funcionando 24 horas, para que cambies tu configuración sin cortes.
- Limita las llaves secretas por IP.
- Si una llave se filtra, revócala de inmediato.