API de Campañas
Los ejemplos siguientes muestran el encabezado en formato de red
Authorization: P2S-SIGN-V1 API_KEY:TIMESTAMP:SIGNATURE. Para calcular la firma en su código, use el helper signedRequest en Autenticación.Una campaña la configura su empresa: nombre, catálogo, precios en puntos, categorías, reglas de nivel e incluso el nombre de la moneda. Esta API devuelve lo que esté configurado — no conoce ninguna campaña específica.
Cómo funciona
- Usted recibe una API Key con el alcance
campaigns:read(Admin > Integraciones > API Keys) - Su backend consulta el estado de uno o varios colaboradores (por CPF o correo)
- SalesOS responde con las campañas vigentes — los datos de la campaña una vez, y luego el estado de cada colaborador
Los metadatos de la campaña salen una sola vez arriba, no repetidos por persona. En un lote de 500 colaboradores esa es la diferencia entre una respuesta liviana y una de megabytes.
Autenticación
Entornos
- Producción
- Staging
URL base:
https://api.play2sell.comReferencia del endpoint
action: campaign_status y campaign_catalog.
Cada colaborador se identifica por CPF (en cualquier formato — los dígitos se normalizan) o correo. Cuando se envían ambos, prevalece el CPF.
Acción: campaign_status
Las campañas vigentes de su empresa y el estado de cada colaborador en ellas.Esquema de la solicitud
string
requerido
Debe ser
"campaign_status"array
requerido
Lista de referencias de colaboradores (máximo 500)
string
CPF, en cualquier formato (
52998224725 o 529.982.247-25). Debe contener exactamente 11 dígitos.string
Correo — usado solo cuando
cpf está ausentestring
Filtra una campaña específica. Ausente = todas las vigentes.
string
Idioma de los textos configurables. Ausente = el predeterminado de la campaña.
Ejemplo
Campos de la campaña
Campos del colaborador
Acción: campaign_catalog
El mismo contenido con el recorte de catálogo. Como el catálogo crece por colaborador, el límite de lote baja a 100.Modo self (sesión federada)
Con un token de usuario federado, envíeAuthorization: Bearer <jwt> y omita collaborators. La respuesta cubre solo al propio usuario del token.
Manejo de errores
400 — VALIDATION_ERROR
400 — VALIDATION_ERROR
Cuerpo inválido, lote por encima del límite, CPF sin 11 dígitos, un elemento sin
cpf ni email, o campaign_slug malformado. La lista details indica el index del elemento.400 — SELF_MODE_NO_COLLABORATORS
400 — SELF_MODE_NO_COLLABORATORS
Se envió una lista
collaborators junto con un token de usuario.403 — FORBIDDEN
403 — FORBIDDEN
API Key válida, pero sin el alcance
campaigns:read.405 — METHOD_NOT_ALLOWED
405 — METHOD_NOT_ALLOWED
Solo se acepta
POST.429 — RATE_LIMITED
429 — RATE_LIMITED
Demasiadas solicitudes en esta hora. Espere
retry_after segundos.500 — SERVER_ERROR
500 — SERVER_ERROR
Error interno. Reintente con espera progresiva (2s, 4s, 8s).
Límites de uso
Seguridad
- Solo lectura: esta API nunca crea canjes, ni acepta términos, ni altera saldos
- Cada clave pertenece a una sola empresa — un CPF de otra empresa responde
found: false, y las campañas de otras empresas nunca aparecen - Las solicitudes se firman con HMAC (P2S-SIGN-V1) y se registran para auditoría; los documentos nunca se escriben en los logs
Próximos pasos
API de Misiones
El progreso que genera los puntos gastados aquí
Autenticación
Cómo crear y gestionar API Keys

