Skip to Content
AutenticaçãoEmitir token em nome de um parceiro (impersonação de serviço)

Emitir token em nome de um parceiro (impersonação de serviço)

POST/v1/oauth/token/servico

Emite um JWT **do parceiro indicado**, a partir da credencial de **serviço** do chamador. Existe para o disparo automático do leilão, que é um cron: sem chamador não há token de parceiro a repassar, e sem token o envio automático não consegue precificar, simular nem criar jornada.

O token é indistinguível, para as rotas /v1, de um obtido pelo próprio parceiro em POST /v1/oauth/token: mesmo parceiro_id, mesmos escopos e mesma audiência. Vale **300 s** (o token normal vale 600 s).

Os escopos pedidos precisam caber no conjunto fixo da automação — regras:read, credito:read, simulacao:read e jornadas:write. Qualquer subconjunto é aceito, e o token sai com o que foi pedido.

id_parceiro_socinal vem no corpo porque o chamador precisa dele para o header ImpersonateUser e não pode lê-lo do token (a audiência é de backoffice — ele não tem como verificar a assinatura). null quando o parceiro não tem UUID da Socinal cadastrado.

**403** quando: a credencial não está autorizada a impersonar; algum escopo pedido está fora do conjunto da automação ou tem prefixo leilao:; o parceiro não existe, está inativo ou está com o disparo automático desligado. Parceiro inexistente é 403 e **não** 404, para o endpoint não virar oráculo de existência de parceiro.

Corpo da requisição
grant_typestringobrigatório
client_idstringobrigatório
mín. 1 car.
client_secretstringobrigatório
mín. 1 car.
parceiro_idstring<uuid>obrigatório
Parceiro impersonado. UUID obrigatório: um `parceiro_id` livre viraria consulta arbitrária, e o formato errado é erro do chamador (400), não recusa de autorização (403).
escoposarray<string>obrigatório
Escopos pedidos para o token. Precisam caber em `ESCOPOS_AUTOMACAO_LEILAO` — o backoffice recusa com 403 a lista inteira se algum estiver fora, e recusa também qualquer escopo com prefixo `leilao:` (ver `OAuthImpersonacaoService`).
Respostas
Corpo da resposta 200
access_tokenstringobrigatório
token_typestringobrigatório
Bearer
expires_inintegerobrigatório
scopestringobrigatório
id_parceiro_socinalstring<uuid>obrigatórionullable
Request
curl -X POST 'https://econsignado-api.socinal.com.br/v1/oauth/token/servico' \
  -H 'Content-Type: application/json' \
  -d '{
  "grant_type": "string",
  "client_id": "string",
  "client_secret": "string",
  "parceiro_id": "3f1c8a90-0000-4000-8000-000000000000",
  "escopos": [
    "string"
  ]
}'
Response
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.<payload>.<assinatura>",
  "token_type": "Bearer",
  "expires_in": 300,
  "scope": "regras:read credito:read simulacao:read jornadas:write",
  "id_parceiro_socinal": "e287c166-a397-46e3-a73c-4c86fdb97d1b"
}