Identificar Conta (whoami)

Valida uma credencial e retorna de quem ela é, se a conta já pode transacionar e o que ela suporta na Legacy.

Valida uma credencial e devolve a identidade da conta por trás dela, se ela já está apta a
transacionar e quais métodos e recursos estão disponíveis. Use no seu processo de integração para
confirmar que as chaves estão corretas antes de tentar a primeira cobrança.

GET https://api.legacyecombrasil.com/whoami
📘

Este endpoint nunca retorna 403 por causa do estado da conta

Se a credencial for válida, a resposta é sempre 200 — mesmo com o KYC pendente ou a conta
bloqueada. O motivo vem nos campos canTransact e reason. O 401 fica reservado para
credencial inválida, revogada ou inexistente.


Formas de autenticar

Diferente dos demais endpoints, o /whoami também aceita apenas a Public Key. O que você envia
determina o escopo da resposta (campo scope).

CredencialComo enviarscopeQuando usar
Public Key + Secret KeyAuthorization: Basic base64(pk_live_xxxx:sk_live_yyyy) ou x-api-key + x-api-secretcompanyDo seu servidor, para conferir as chaves da integração
Public Key sozinhax-public-key: pk_live_xxxxpublicDo browser, para validar a publishable key do checkout

A Secret Key continua sendo proibida no browser

No escopo company a restrição de sempre vale: requisições com Origin ou Referer são
rejeitadas com 403 Forbidden. O escopo public aceita chamadas do browser — a pk_live_* foi
feita para ficar exposta. Consulte o guia de Autenticação.


Exemplo de requisição

GET /whoami
Host: api.legacyecombrasil.com
Authorization: Basic base64(pk_live_xxxx:sk_live_yyyy)

Validando apenas a Public Key, direto do browser:

GET /whoami
Host: api.legacyecombrasil.com
x-public-key: pk_live_xxxx

Resposta 200 OK

Exemplo no escopo company, que traz o payload completo:

{
  "scope": "company",
  "companyId": "3f9a1c2e-7b41-4d88-9c05-1e2f3a4b5c6d",
  "companyName": "Alpha Comércio LTDA",
  "tradeName": "Alpha",
  "document": "**.***.***/0001-99",
  "kycStatus": "approved",
  "blocked": false,
  "canTransact": true,
  "reason": null,
  "paymentMethods": ["pix", "credit_card", "boleto"],
  "capabilities": {
    "tokenization": {
      "enabled": true,
      "mode": "backend",
      "cardOnFile": true,
      "cvvRequired": false
    },
    "threeDS": { "enabled": true, "flow": "pre-order" },
    "antifraud": { "enabled": true }
  }
}

Conta ainda em análise, no escopo public — repare que o status é 200, não 403:

{
  "scope": "public",
  "companyId": "3f9a1c2e-7b41-4d88-9c05-1e2f3a4b5c6d",
  "companyName": "Alpha Comércio LTDA",
  "kycStatus": "pending",
  "blocked": false,
  "canTransact": false,
  "reason": "KYC_NOT_APPROVED",
  "paymentMethods": ["pix"],
  "capabilities": {
    "tokenization": { "enabled": false },
    "threeDS": { "enabled": false },
    "antifraud": { "enabled": false }
  }
}

Campos da resposta

CampoTipoDescrição
scopestringcompany ou public — determinado pela credencial enviada
companyIdstringIdentificador da conta dona da credencial
companyNamestringRazão social da conta
tradeNamestring | nullNome fantasia. Ausente no escopo public
documentstring | nullCNPJ parcialmente mascarado, o suficiente para conferência. Ausente no escopo public
kycStatusstringapproved, pending, rejected, needs_more_info ou not_submitted
blockedbooleanConta bloqueada pela Legacy
canTransactbooleanSe a conta pode criar cobranças agora
reasonstring | nullPor que não pode. null quando canTransact é true
paymentMethodsstring[]Métodos realmente disponíveis: pix, credit_card, boleto, open_finance
capabilitiesobjectRecursos do checkout suportados pela conta — veja abaixo

reason

ValorSignificado
KYC_NOT_APPROVEDO KYC da empresa ainda não foi aprovado. Conclua a verificação no Dashboard
COMPANY_BLOCKEDA conta está bloqueada. Fale com o suporte da Legacy

capabilities

Reflete o que a conta consegue fazer no checkout. Um método ou recurso indisponível chega como
{ "enabled": false }.

CampoTipoDescrição
tokenization.enabledbooleanA conta aceita cartão tokenizado
tokenization.modestringbackend ou vault — como o cartão é tokenizado
tokenization.cardOnFilebooleanCartões podem ser salvos e recobrados depois (one-click)
tokenization.cvvRequiredbooleanO CVV é exigido ao recobrar um cartão salvo
threeDS.enabledbooleanAutenticação 3DS disponível
threeDS.flowstringpre-order (autentica antes de cobrar) ou post-order (desafio depois da cobrança)
antifraud.enabledbooleanSessão de antifraude / device fingerprint disponível
📘

paymentMethods já considera tudo

A lista sai filtrada pelo que está de fato operante para a sua conta. Se credit_card não
aparecer mesmo com o KYC aprovado, pode faltar a habilitação de cartão — consulte o guia de
Autenticação e fale com o suporte.


Erros

StatusDescrição
400Nenhuma credencial enviada, ou credencial fora do formato esperado
401Credencial inválida, revogada ou inativa
403Escopo company chamado a partir de um browser (cabeçalho Origin ou Referer presente)
429Requisições demais. O endpoint aceita 30 chamadas por minuto por IP

Did this page help you?