Emitir token em nome de um parceiro (impersonação de serviço)
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.
200curl -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"
]
}'{
"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"
}