Gateway Crédito Direto

Comece por aqui

Autenticação

Senha e código por e-mail. A sessão, por cookie httpOnly ou Bearer JWT, só nasce depois dos dois.

O login é o mesmo da plataforma. Envie e-mail e senha; a API manda um código de 6 dígitos para o e-mail da conta. A sessão só nasce em POST /auth/login/code. Nas chamadas seguintes, envie o cookie cd_session ou o header Authorization: Bearer <token>.

O JWT vale 7 dias e só vem na confirmação do código, também no corpo, para integrações server-to-server. O valor challenge do primeiro passo não autentica a API. Oito falhas em quinze minutos respondem 429. Não compartilhe credenciais nem o token com terceiros — veja os Termos de Uso de API.

POST /auth/login

Confere e-mail e senha e envia o código. Público. Resposta 200 com step: "code". Ainda não há sessão.

cURL
curl --request POST \
  --url 'https://gateway.credito-direto.com/api/auth/login' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
    "email": "parceiro@empresa.com",
    "password": "sua-senha"
  }'
Response JSON
{
  "step": "code",
  "challenge": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "expiresIn": 600
}

POST /auth/login/code

Confirma o código de 6 dígitos e cria a sessão. Envie challenge no corpo ou o cookie cd_login_code gravado no passo anterior. Resposta 200 com o usuário e o token.

cURL
curl --request POST \
  --url 'https://gateway.credito-direto.com/api/auth/login/code' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
    "challenge": "CHALLENGE",
    "code": "123456"
  }'
Response JSON
{
  "user": {
    "id": "usr_01",
    "email": "parceiro@empresa.com",
    "name": "Operação",
    "role": "PARTNER",
    "partnerId": "prt_01",
    "partnerName": "Parceiro Demo",
    "depth": 1,
    "kind": "CLIENT",
    "capabilities": ["overview", "charges", "qr_codes", "reports", "payment_links", "pix_keys"],
    "transfeeraAccountId": null
  },
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Chamadas autenticadas

MecanismoComo enviar
Cookiecd_session=<jwt> (httpOnly, SameSite=Lax, definido ao confirmar o código)
HeaderAuthorization: Bearer <jwt>

GET /auth/me

Retorna o usuário da sessão. Exige autenticação.

JSON
{ "user": { "id": "usr_01", "email": "parceiro@empresa.com", "role": "PARTNER", "depth": 1, "capabilities": ["overview", "charges"] } }

POST /auth/logout

Encerra a sessão e remove o cookie. Resposta { "ok": true }.