API de Campanhas
Os exemplos abaixo mostram o cabeçalho no formato de rede
Authorization: P2S-SIGN-V1 API_KEY:TIMESTAMP:SIGNATURE. Para calcular a assinatura no seu código, use o helper signedRequest em Autenticação.Uma campanha é configurada pela sua empresa: nome, vitrine, preços em pontos, categorias, regras de nível e até o nome da moeda. Esta API devolve o que estiver configurado — ela não conhece nenhuma campanha específica.
Como funciona
- Você recebe uma API Key com o escopo
campaigns:read(Admin > Integrações > API Keys) - Seu backend consulta o estado de um ou vários colaboradores (por CPF ou e-mail)
- O SalesOS responde com as campanhas vigentes — os dados da campanha uma vez, e o estado de cada colaborador em seguida
Os metadados da campanha saem uma vez no topo da resposta, não repetidos por pessoa. Num lote de 500 colaboradores isso é a diferença entre uma resposta enxuta e uma de megabytes.
Autenticação
Ambientes
- Produção
- Staging
URL base:
https://api.play2sell.comReferência do endpoint
action: campaign_status e campaign_catalog.
Cada colaborador é identificado por CPF (qualquer formato — os dígitos são normalizados) ou e-mail. Quando os dois vêm, o CPF prevalece.
Ação: campaign_status
As campanhas vigentes da sua empresa e o estado de cada colaborador nelas.Esquema da requisição
string
obrigatório
Deve ser
"campaign_status"array
obrigatório
Lista de referências de colaboradores (máximo 500)
string
CPF, em qualquer formato (
52998224725 ou 529.982.247-25). Deve conter exatamente 11 dígitos.string
E-mail — usado apenas quando o
cpf está ausentestring
Filtra uma campanha específica. Ausente = todas as vigentes.
string
Idioma dos textos configuráveis. Ausente = o padrão da campanha.
Exemplo
Campos da campanha
Campos do colaborador
Ação: campaign_catalog
O mesmo conteúdo com o recorte de catálogo. Como a vitrine cresce por colaborador, o limite de lote cai para 100.Modo self (sessão federada)
Com um token de usuário federado, envieAuthorization: Bearer <jwt> e omita collaborators. A resposta cobre apenas o próprio usuário do token.
Tratamento de erros
400 — VALIDATION_ERROR
400 — VALIDATION_ERROR
Corpo inválido, lote acima do limite, CPF sem 11 dígitos, item sem
cpf e sem email, ou campaign_slug malformado. A lista details indica o index do item.400 — SELF_MODE_NO_COLLABORATORS
400 — SELF_MODE_NO_COLLABORATORS
Uma lista
collaborators foi enviada junto com um token de usuário.403 — FORBIDDEN
403 — FORBIDDEN
API Key válida, mas sem o escopo
campaigns:read.405 — METHOD_NOT_ALLOWED
405 — METHOD_NOT_ALLOWED
Apenas
POST é aceito.429 — RATE_LIMITED
429 — RATE_LIMITED
Requisições demais nesta hora. Aguarde
retry_after segundos.500 — SERVER_ERROR
500 — SERVER_ERROR
Erro interno. Tente de novo com espera progressiva (2s, 4s, 8s).
Limites de uso
Segurança
- Somente leitura: esta API nunca cria resgates, nem aceita termos, nem altera saldo
- Cada chave pertence a uma única empresa — um CPF de outra empresa responde
found: false, e campanhas de outras empresas nunca aparecem - As requisições são assinadas por HMAC (P2S-SIGN-V1) e registradas para auditoria; documentos nunca são gravados nos logs
Próximos passos
API de Missões
O progresso que gera os pontos gastos aqui
Autenticação
Como criar e gerenciar API Keys

