SSO PDPJ
Verificar Sessão PDPJ
Verifica o status de autenticação de uma sessão PDPJ a partir do ID de conversa.
Verificar Sessão PDPJ
Consulta o status de uma sessão de autenticação PDPJ. É o principal endpoint para uso em automações, pois permite verificar se o usuário já autorizou e se a sessão ainda está válida antes de executar qualquer ação.
Endpoint: POST /api/internal/auth/pdpj/session
Body
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
conversation_id | string (UUID) | Sim | ID da conversa associada à sessão |
Resposta
O campo status indica o estado atual da sessão:
status | authenticated | Descrição |
|---|---|---|
authenticated | true | Sessão válida e token ativo |
expired | false | Token expirado — é necessário um novo login |
pending | false | Sessão criada, usuário ainda não autorizou |
not_found | false | Nenhuma sessão encontrada para esta conversa |
Exemplos cURL
curl -X POST https://api.tolky.to/api/internal/auth/pdpj/session \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY" \
-d '{
"conversation_id": "550e8400-e29b-41d4-a716-446655440000"
}'
Autenticado:
{
"code": 200,
"message": "Success",
"data": {
"status": "authenticated",
"authenticated": true,
"session_id": "7f3d9a2e-1b4c-4e8f-9d2a-3c5b7e1f8a4d",
"conversation_id": "550e8400-e29b-41d4-a716-446655440000",
"user": {
"sub": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"name": "João Silva",
"email": "joao.silva@tjsp.jus.br",
"username": "11245057685"
},
"expires_at": "2026-03-26T18:00:00.000Z",
"time_left": {
"hours": 7,
"minutes": 452,
"seconds": 27145,
"expired": false
}
}
}
Expirado (requer novo login):
{
"code": 200,
"message": "Success",
"data": {
"status": "expired",
"authenticated": false,
"session_id": "7f3d9a2e-1b4c-4e8f-9d2a-3c5b7e1f8a4d",
"conversation_id": "550e8400-e29b-41d4-a716-446655440000",
"expires_at": "2026-03-25T10:00:00.000Z",
"user": { "sub": "...", "name": "João Silva", "email": "joao.silva@tjsp.jus.br", "username": "11245057685" }
}
}
Pendente (usuário ainda não autorizou):
{
"code": 200,
"message": "Success",
"data": {
"status": "pending",
"authenticated": false,
"session_id": "7f3d9a2e-1b4c-4e8f-9d2a-3c5b7e1f8a4d",
"conversation_id": "550e8400-e29b-41d4-a716-446655440000"
}
}
Lógica de decisão no n8n
Use um nó IF após a chamada ao /session para rotear o fluxo com base em data.status:
| Status | Ação recomendada |
|---|---|
authenticated | Prosseguir com a ação |
expired | Chamar /init novamente e enviar nova URL ao usuário |
pending | Aguardar ou notificar o usuário para completar o login |
not_found | Chamar /init para iniciar um novo fluxo |