Criar Jornada de Vínculo
Características Principais
- Criação de Sessão: Cria uma nova sessão de jornada ITP para enrollments
- Seleção de Jornada: Suporta especificação de jornada customizada ou uso da jornada padrão configurada
- URL de Redirecionamento: Gera uma URL única contendo todos os parâmetros necessários para iniciar a jornada
Endpoint
POST /open-keys/itp/api/v2/enrollments/v2/journeys-sessions
Autenticação
A API requer autenticação OAuth2 utilizando o fluxo de Client Credentials
Permissões Requeridas
app: Permissão para integrações diretas via APIjourney: Permissão para acessar jornadasend_user: Permissão para usuários finais
Headers Obrigatórios
Authorization: Bearer {access_token}
Content-Type: application/json
Estrutura da Requisição
Payload Completo
{
"journeyId": "enrollments-redirect",
"paymentInitiationData": {
"loggedUser": {
"document": {
"identification": "{CPF}",
"rel": "CPF"
}
},
"permissions": [
"PAYMENTS_INITIATE"
]
},
"directoryCallback": true,
"redirectUrl": "{redirectUrl}",
"resumetUrl": "{resumetUrl}",
"settings": [
{
"key": "JOURNEY_RULES",
"value": [
{
"key": "returnToManagement",
"value": true
},
{
"key": "openManagementOnSelf",
"value": true
},
{
"key": "goToPayment",
"value": true
}
]
}
],
"tags": {
"environment": "production",
"clientId": "client-123"
}
}Campos da Requisição
Nível Raiz
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
journeyId | String | Não | ID da jornada a ser utilizada. Se não informado ou igual a "default", será utilizada a jornada padrão configurada na aplicação através da setting JOURNEY_DEFAULT_ALIAS ou a variável de ambiente JOURNEY_DEFAULT_ALIAS. Máximo 36 caracteres. |
paymentInitiationData | Object | Sim | Dados de iniciação de pagamento, incluindo usuário logado e permissões. |
directoryCallback | Boolean | Não | Indica se o redirectUrl precisa estar cadastrado no diretório central. |
redirectUrl | String (URL) | Não | URL de redirecionamento após o fluxo da jornada. Deve ser uma das URLs cadastradas e autorizadas para a aplicação. Se não informada, o usuário não será redirecionado após a conclusão da jornada. |
resumetUrl | String (URL) | Não | URL para o botão "Voltar para home" no fim do vínculo. |
settings | Array | Não | Lista de configurações customizadas da jornada. Permite sobrescrever ou adicionar configurações específicas da jornada. |
tags | Object | Não | Tags customizadas para identificação e organização da sessão. Útil para rastreamento e filtragem de sessões. |
Objeto paymentInitiationData
paymentInitiationData| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
loggedUser | Object | Sim | Dados do usuário logado, incluindo documento (CPF). |
permissions | Array | Sim | Lista de permissões, como "PAYMENTS_INITIATE". |
Array settings
settingsArray de objetos contendo configurações da jornada.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
key | String | Sim | Chave da configuração. Valores comuns: "JOURNEY_RULES" (regras da jornada). |
value | Any | Sim | Valor da configuração. Tipo depende da chave especificada. Para JOURNEY_RULES, deve ser um array de objetos com regras. |
Fluxo de Implementação
Passo a Passo
-
Obtenção do Token OAuth2
- Obtenha um token de acesso válido com permissões
app,journeyeend_user - O token deve conter o claim
azpcom oclientIdda aplicação
- Obtenha um token de acesso válido com permissões
-
Preparação da Requisição
- Defina o
journeyId - Configure
paymentInitiationDatacom usuário e permissões - Configure
redirectUrleresumetUrl(se necessário) - Adicione
settingsetagsconforme necessário
- Defina o
-
Envio da Requisição
- Envie a requisição POST para o endpoint
- Inclua o token no header
Authorization
-
Processamento da Resposta
- A sessão será criada com status
PENDING - A resposta contém a
journeySessionUrlpara redirecionamento - Armazene o
idda sessão para consultas futuras
- A sessão será criada com status
-
Redirecionamento do Usuário
- Utilize a
journeySessionUrlretornada para redirecionar o usuário - O usuário será direcionado para a jornada de autorização
- Utilize a
-
Monitoramento da Sessão
- Monitore o status da sessão através do endpoint
GET /open-keys/itp/api/v2/enrollments/v2/journeys-sessions/{id} - A sessão será atualizada conforme o progresso do fluxo
- Monitore o status da sessão através do endpoint
Resposta da API
Sucesso (200 OK)
{
"journeyId": "{journeyId}",
"paymentInitiationApi": "ENROLLMENTS_V2",
"tokenId": "{tokenId}",
"journeySessionStageId": "{journeySessionStageId}",
"journeySessionUrl": "{url}",
"status": "PENDING",
"id": "{id}",
"..."
}Campos Importantes da Resposta
| Campo | Tipo | Descrição |
|---|---|---|
id | String | Identificador único da sessão de jornada (UUID) |
journeySessionUrl | String | URL completa para redirecionar o usuário à jornada. Contém todos os parâmetros necessários (journeyId, api, id, token) |
status | String | Status atual da sessão. Inicialmente PENDING. Valores possíveis: PENDING, AWAITING_AUTHORISATION, AUTHORISED, REJECTED, CANCELLED, EXPIRED, FINISHED |
paymentInitiationApi | String | API de iniciação de pagamento associada. Sempre "ENROLLMENTS_V2" para este endpoint |
tokenId | String | ID do token opaco gerado para a sessão. Utilizado para autenticação na jornada |
Tratamento de Erros
400 Bad Request
Causa: Dados da requisição inválidos ou mal formatados.
{
"error": "Validation Error",
"message": "Campo obrigatório ausente"
}Solução: Verifique o formato dos dados enviados e os requisitos de validação.
401 Unauthorized
Causa: Token de acesso inválido, expirado ou ausente.
{
"error": "Unauthorized",
"message": "Token inválido ou expirado"
}Solução:
- Verifique se o token está presente no header
Authorization - Obtenha um novo token se o atual estiver expirado
- Verifique se o token possui as permissões necessárias
403 Forbidden
Causa: Aplicação não encontrada, jornada não encontrada ou redirectUrl não autorizada.
{
"error": "Forbidden",
"message": "application not found"
}ou
{
"error": "Forbidden",
"message": "journey not found"
}ou
{
"error": "Forbidden",
"message": "this redirectUrl is not allowed for this application."
}Solução:
- Verifique se a aplicação existe e está ativa
- Verifique se o
journeyIdinformado existe e está disponível - Verifique se a
redirectUrlestá cadastrada nas URLs permitidas da aplicação
422 Unprocessable Entity
Causa: Validação de schema falhou ou CPF/CNPJ não corresponde ao token opaco.
{
"error": "Unprocessable Entity",
"message": "the cpf is not equal"
}Solução: Verifique os detalhes do erro e corrija os campos indicados.
500 Internal Server Error
Causa: Erro interno do servidor.
{
"error": "Internal Server Error",
"message": "An unexpected error occurred"
}Solução: Tente novamente mais tarde. Se o problema persistir, entre em contato com o suporte.
Status da Sessão
- PENDING: Sessão criada, aguardando início do fluxo
- AWAITING_AUTHORISATION: Aguardando autorização do usuário na detentora
- AUTHORISED: Consentimento autorizado pelo usuário
- REJECTED: Consentimento rejeitado pelo usuário
- CANCELLED: Sessão cancelada
- EXPIRED: Sessão expirada
- FINISHED: Fluxo concluído com sucesso
Integração com Outros Endpoints
Após criar a sessão de jornada, você pode:
- Consultar a Sessão:
GET /open-keys/itp/api/v2/enrollments/v2/journeys-sessions/{id} - Listar Sessões:
GET /open-keys/itp/api/v2/enrollments/v2/journeys-sessions
Updated about 1 hour ago