API de Integração

Autenticação

Como autenticar as chamadas à API do PrincipiaPay com o Api-Token do parceiro.

Todas as chamadas são autenticadas pelo Api-Token do parceiro, enviado no header Api-Token de cada requisição.

curl https://app.principia.services/checkout/v4/seller \
  -H "Api-Token: SEU_TOKEN"

Envie só o header Api-Token

Não envie também o header Authorization. Quando ele está presente, a API usa o valor dele no lugar do Api-Token, e a chamada volta 401 mesmo com um Api-Token válido. Confira se o seu cliente HTTP ou gateway não acrescenta Authorization automaticamente.

Guarde o token com segurança

O token identifica sua empresa e dá acesso às suas vendas. Nunca o exponha no front-end, em repositórios públicos ou em logs. Trate-o como uma senha.

Onde gerar o token

Entre no painel do parceiro com um usuário de perfil Admin ou Superadmin.

Abra o menu Configurações e a guia Integrações.

Clique no card API Token para gerar e copiar o token.

Gerar um token novo desativa o anterior

Sua empresa tem um único token ativo por vez. Ao gerar um novo, o anterior para de funcionar na hora, e toda integração que ainda usa o antigo passa a receber 401. Gere um novo só para trocar o token de propósito, e atualize a integração logo em seguida.

Validar o token

O primeiro passo da integração é chamar GET /seller. A rota devolve os dados cadastrais do dono do token, o que confirma que ele está ativo e pertence à empresa certa:

{
  "cnpj": "28564723000132",
  "name": "Web Development School",
  "businessName": "Web Development School LTDA",
  "slug": "web-development-school"
}
  • name: nome exibido no checkout.
  • businessName: razão social.
  • slug: identificador da sua empresa na URL do checkout (ex.: https://pay.principia.net/checkout/web-development-school).

Token ausente ou inválido

Sem token, com token inválido ou revogado (ou com um header Authorization junto do Api-Token), a API responde 401 com este corpo:

{
  "error": {
    "name": "NotAuthorizedError",
    "message": "Invalid authorization token"
  }
}

Veja os demais erros em Erros.

Nesta página