Jornadas (journeys)
Rota base v5/journeys.
A jornada é uma página guiada, em etapas, que o cliente final abre por um link para concluir uma ação que depende dele: ler e aceitar um termo de autorização, conferir o resumo de um empréstimo, aceitar os documentos e seguir para a assinatura eletrônica. O integrador gera a jornada pela API, recebe o link e o entrega ao cliente (a plataforma também pode enviar o convite por e-mail ou SMS). Tudo o que o cliente faz no link (aberturas, etapas, aceites, geolocalização, dispositivo) fica registrado na jornada e pode ser consultado depois como trilha de evidências.
A página do link é servida pela plataforma Semear e usa rotas públicas próprias, autenticadas apenas pelo token embutido no link. Essas rotas não fazem parte da API de integração e não estão documentadas aqui. Para o integrador, a jornada se resume a: gerar, entregar o link, acompanhar (consulta ou webhook do recurso de origem) e, se necessário, cancelar.
Autenticação
Todos os endpoints exigem API Key (X-Api-Key) (ver Autenticação). Permissões do recurso "Jornada":
| Permissão | Endpoints |
|---|---|
| Acessar | GET /{id}, GET /current, GET /{id}/events, POST /search |
| Gerar | POST / |
| Cancelar | POST /{id}/cancel |
A jornada de assinatura do empréstimo (POST /v5/loans/{loanId}/signature-requests/current/journeys) exige a permissão de edição de empréstimos. Ver Autenticação.
Rotas implementadas
| Rota | Verbo | Resumo |
|---|---|---|
/v5/journeys | POST | Gera uma jornada para um registro de origem e devolve o link. |
/v5/journeys/{id} | GET | Busca a jornada, com etapas, documentos, respostas e acessos. |
/v5/journeys/current | GET | Busca a jornada mais recente de um tipo para um registro de origem. |
/v5/journeys/{id}/events | GET | Lista a trilha de eventos da jornada. |
/v5/journeys/{id}/cancel | POST | Cancela uma jornada em aberto. |
/v5/journeys/search | POST | Busca paginada com filtros. |
/v5/journeys/filters | GET | Campos disponíveis para filtro. |
/v5/loans/{loanId}/signature-requests/current/journeys | POST | Gera uma nova jornada de formalização para a assinatura em andamento do empréstimo. |
Convenções reutilizadas nesta página: Tratamento de erros, Objeto de domínio, Campo de status, Referências organizacionais, Log de auditoria. Valores fixos em Domínios › Jornadas.
Tipos de jornada
O tipo define de qual registro a jornada nasce (sourceId), o que o cliente vê por padrão e o que acontece quando ele conclui ou desiste.
type | Origem (sourceId) | O que o cliente faz | Ao concluir | Se o cliente cancelar |
|---|---|---|---|---|
authorization_term_acceptance | id do termo de autorização | Lê o texto integral do termo e clica em "Li e aceito o termo". | O aceite é registrado como assinatura eletrônica do termo, com IP, navegador, sessão e, se autorizada, geolocalização. O evento authorization_term.accepted é publicado. Se o termo depende de autorização no provedor (Dataprev), ela segue em segundo plano e, quando concluída, o termo passa a active (authorization_term.activated). | O termo ainda pendente passa a rejected, com o motivo em status.note, e o evento authorization_term.rejected é publicado. |
loan_formalization | id do empréstimo | Confere o resumo da operação, abre e aceita cada documento e é redirecionado ao provedor de assinatura (identidade, documento e assinatura). Ao final, volta para a jornada. | A jornada é concluída quando a assinatura eletrônica é concluída no provedor. O resultado da assinatura segue o fluxo do empréstimo (eventos signature.completed e loan.signed). | Só a jornada é cancelada. O empréstimo e a assinatura não mudam. |
A jornada loan_formalization é criada automaticamente quando o empréstimo é enviado para assinatura (POST /v5/loans/{loanId}/signature-requests). Use POST /v5/loans/{loanId}/signature-requests/current/journeys para gerar um novo link para a mesma assinatura (por exemplo, depois de cancelar ou expirar a jornada anterior).
Ciclo de vida
POST /v5/journeys ─────────► pending (link gerado, convite enviado se houver contato)
│
├─ cliente abre o link ─► in_progress
│ ├─ etapa externa ─► external (ex.: assinatura no provedor)
│ │ └─ retorno / assinatura concluída ─► in_progress ou completed
│ └─ última etapa ──► completed
│
├─ POST /{id}/cancel, cliente desiste ou nova jornada gerada ─► canceled
└─ link aberto depois de expiresAt ─────────────────────────► expired
| Status | Aberta? | Significado |
|---|---|---|
pending | Sim | Gerada, o cliente ainda não abriu o link. |
in_progress | Sim | O cliente abriu o link e está nas etapas. |
external | Sim | O cliente foi redirecionado para uma etapa fora da jornada (assinatura no provedor) e ainda não voltou. |
completed | Não | Todas as etapas concluídas. completedAt preenchido. |
canceled | Não | Cancelada pelo operador, pelo cliente ou substituída por uma nova jornada. canceledAt e cancelReason preenchidos. |
expired | Não | O prazo de expiresAt passou. |
Expiração
Cada jornada tem um prazo (expiresAt), definido na geração: 72 horas por padrão, ou o prazo configurado no modelo da jornada (até 30 dias). Se o registro de origem vencer antes (validade do termo, validade do link de assinatura), vale o prazo menor.
expiresAt é a fonte da verdadeA jornada passa a expired quando o link é aberto depois do prazo. Até alguém abrir o link, o status pode continuar pending ou in_progress mesmo com expiresAt no passado. Para decidir se o link ainda vale, compare expiresAt com a hora atual.
Substituição
Ao gerar uma jornada, as jornadas em aberto do mesmo tipo, para o mesmo registro de origem e o mesmo destinatário, são canceladas com o motivo "Substituída por uma nova jornada". Só o link mais recente funciona.
Convite e mensagem de conclusão
Se o modelo da jornada tiver mensagens configuradas, a plataforma envia o convite (com o link) ao gerar e, opcionalmente, uma mensagem ao concluir, pelos canais e-mail, SMS ou WhatsApp, usando o contato de recipient. O resultado de cada envio aparece na trilha de eventos (invitation_sent, invitation_failed, completion_message_sent). Sem e-mail ou telefone no destinatário, nada é enviado: entregue o link pelo seu próprio canal.
Acompanhamento
A jornada não publica eventos de webhook próprios. Acompanhe pelo resultado no registro de origem:
| Tipo | Eventos de webhook |
|---|---|
authorization_term_acceptance | authorization_term.accepted (1705) no aceite, authorization_term.rejected (1703) na recusa e authorization_term.activated (1700) quando o provedor autoriza o termo. |
loan_formalization | signature.completed (1601), signature.rejected (1602) e loan.signed (1007). |
O andamento dentro da jornada (etapa atual, documentos aceitos, acessos) é consultado por GET /{id}, GET /current e GET /{id}/events.
Campos da entidade
Identificação e situação
| Campo | Tipo | Descrição |
|---|---|---|
id / code | string (uuid) / integer | Identificadores da jornada. |
type | object (code/key/name) | Tipo. Ver JourneyType. |
status | object (Status) | Ver JourneyStatus. Em cancelamento, note traz o motivo. |
template | object (Referência) | Modelo usado para montar a jornada. "Modelo padrão" (code = 0) quando a empresa não publicou modelo próprio para o tipo. |
templateVersion | integer | Versão do modelo usada. 0 para o modelo padrão. |
feature | object (code/key/name) | Recurso de origem: authorization_term ou loan. |
parentId | string (uuid) | id do registro de origem (termo ou empréstimo). |
parentNid | integer | Identificador interno do registro de origem. Use parentId. |
link | string | Link que o cliente final abre. Contém o token de acesso: trate como dado sensível e entregue só ao destinatário. |
expiresAt | string (date-time) | Prazo do link. |
Destinatário (recipient)
| Campo | Tipo | Descrição |
|---|---|---|
name | string | Nome do cliente. |
documentNumber | string | CPF, somente dígitos. |
email | string | null | E-mail para o convite. |
phone | string | null | Telefone com DDD, somente dígitos, para SMS/WhatsApp. |
firstName | string | Primeiro nome, derivado de name. Somente leitura. |
Progresso
| Campo | Tipo | Descrição |
|---|---|---|
currentStep | string | key da etapa em que o cliente está. |
completedSteps / totalSteps | integer | Etapas concluídas e total de etapas. |
revision | integer | Contador de alterações. Aumenta a cada ação do cliente ou do operador. |
startedAt | string (date-time) | null | Primeira abertura do link. |
lastAccessAt | string (date-time) | null | Última interação do cliente. |
completedAt | string (date-time) | null | Conclusão. |
canceledAt / cancelReason | string (date-time) | null / string | null | Cancelamento e motivo. |
Conteúdo e evidências
| Campo | Tipo | Descrição |
|---|---|---|
content | object | Conteúdo exibido ao cliente, já preenchido com os dados do registro de origem: settings (prazo, navegação, cancelamento), theme (cores, fonte, logo), steps[] (cada etapa com key, title e blocks[]) e messages[] (convite e conclusão). É uma cópia congelada: alterações posteriores no modelo não afetam jornadas já geradas. |
contentHash | string | Hash do conteúdo exibido, para provar o que o cliente viu. |
steps[] | array | Uma linha por etapa: key, title, order, status (JourneyStepStatus), allowBack, irreversible, action (ação que concluiu a etapa: next, go_to_step, finish ou a ação do tipo, como accept_term e start_signature), accessId, ip, geolocation, contentHash, completionCount, startedAt, firstCompletedAt, lastCompletedAt. |
documents[] | array | Documentos apresentados: key, type, title, order, fileId (PDF, quando há arquivo), fileName, contentType, hash (SHA-256 do conteúdo apresentado). |
data[] | array | Respostas e aceites registrados pelo cliente: stepKey, key, label, value, accessId, answeredAt. Aceite de documento aparece com value no formato accepted:{hash}. |
accesses[] | array | Cada dispositivo/sessão que abriu o link: id, ip, ipForwardedFor, userAgent, browser, browserVersion, operatingSystem, operatingSystemVersion, deviceType, deviceModel, language, timeZone, screen, geolocation, openedAt, lastSeenAt. Preenchido só em GET /{id} e GET /current. |
geolocation (em steps[] e accesses[]): status (JourneyGeolocationStatus), latitude, longitude, accuracy, capturedAt.
Mais unit, partner, branch, agent, user, company (Referência, copiados do registro de origem) e log (Log de auditoria).
POST /v5/journeys
Gera uma jornada para um registro de origem e devolve o link.
Autenticação: API Key (X-Api-Key). Exige a permissão "Gerar" de Jornada.
Comportamento
- Valida o
type(1174003) e osourceId(1174004). - Carrega o registro de origem (
1174004se não existir) e monta o destinatário a partir dele: no termo, osubject; no empréstimo, o signatário da assinatura em andamento ou o tomador. Os campos informados emrecipientsubstituem os da origem. - Escolhe o modelo publicado pela empresa para o tipo (considerando unidade e produto do registro); sem modelo publicado, usa o modelo padrão do tipo.
- Monta o conteúdo com os dados do registro, calcula o prazo e grava a jornada como
pending. A empresa precisa ter o endereço da página de jornadas configurado (1174005). - Cancela as jornadas em aberto do mesmo tipo, origem e destinatário (ver Substituição).
- Envia o convite, se o modelo tiver mensagens e o destinatário tiver contato, e responde
201com a jornada.
Payload de entrada
Visualizar parâmetros
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
type | string | Sim | key do tipo: authorization_term_acceptance ou loan_formalization. Ausente ou inválido → 1174003. |
sourceId | string (uuid) | Sim | id do termo de autorização ou do empréstimo. Ausente ou não encontrado → 1174004. |
recipient | object | Não | Sobrescreve os dados do destinatário vindos da origem. Campos em branco são ignorados. |
recipient.name | string | Não | Nome. |
recipient.documentNumber | string | Não | CPF. Pontuação é removida. |
recipient.email | string | Não | E-mail para o convite. Informe para o termo de autorização, cuja origem não traz contato. |
recipient.phone | string | Não | Telefone com DDD, para SMS/WhatsApp. Pontuação é removida. |
Para loan_formalization, prefira POST /v5/loans/{loanId}/signature-requests/current/journeys, que valida a assinatura em andamento e devolve a jornada junto com os dados da assinatura. Pelo POST /v5/journeys, a jornada usa a assinatura mais recente não cancelada do empréstimo.
Exemplo de Requisição e Resposta
- Body
- cURL
- 201 - Created
- 400 - Erro
- 401 - Não autorizado
- 403 - Proibido
Visualizar Body
{
"type": "authorization_term_acceptance",
"sourceId": "00000000-0000-7000-8000-000000000101",
"recipient": {
"email": "cliente@exemplo.com",
"phone": "11999990000"
}
}
curl --request POST \
--url 'https://{base-url}/v5/journeys' \
--header 'X-Api-Key: {api_key}' \
--header 'Content-Type: application/json' \
--data '{
"type": "authorization_term_acceptance",
"sourceId": "00000000-0000-7000-8000-000000000101",
"recipient": {
"email": "cliente@exemplo.com",
"phone": "11999990000"
}
}'
Jornada recém-gerada, em pending. Para encurtar, content.steps[].blocks foi reduzido a um bloco por etapa.Visualizar Response
Tipo inválido (1174003); origem ausente ou não encontrada (1174004); endereço da página de jornadas não configurado para a empresa (1174005); falha ao montar o conteúdo a partir do modelo (1173036) ou modelo sem etapas (1173010); exceção não tratada (9999999).Visualizar Response
Token ausente, inválido ou expirado.
Usuário sem a permissão "Gerar" de Jornada. Corpo vazio.
GET /v5/journeys/{id}
Busca a jornada completa, incluindo accesses[].
Autenticação: API Key (X-Api-Key). Exige a permissão "Acessar" de Jornada.
Parâmetros de rota
| Parâmetro | Tipo | Descrição |
|---|---|---|
id | string (uuid) | id da jornada. Não encontrada → 1174001. |
Exemplo de Requisição e Resposta
- cURL
- 200 - OK
- 400 - Erro
curl --request GET \
--url 'https://{base-url}/v5/journeys/00000000-0000-7000-8000-000000000701' \
--header 'X-Api-Key: {api_key}'
Mesmo formato do POST. O exemplo mostra só os campos que mudam depois que o cliente aceitou o termo pelo celular.Visualizar Response
{ "messages": [ { "code": "1174001", "text": "Jornada não encontrada" } ] }
GET /v5/journeys/current
Busca a jornada mais recente de um tipo para um registro de origem, em qualquer status. Útil quando você guardou só o id do termo ou do empréstimo e precisa recuperar o link atual.
Autenticação: API Key (X-Api-Key). Exige a permissão "Acessar" de Jornada.
Parâmetros de consulta
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
type | string | Sim | key do tipo. Inválido → 1174003. |
sourceId | string (uuid) | Sim | id do termo ou do empréstimo. Sem jornada → 1174001. |
Exemplo de Requisição
curl --request GET \
--url 'https://{base-url}/v5/journeys/current?type=loan_formalization&sourceId=00000000-0000-7000-8000-000000000501' \
--header 'X-Api-Key: {api_key}'
A resposta (200) tem o mesmo formato de GET /{id}. Verifique status e expiresAt antes de reenviar o link: se a jornada não estiver aberta, gere uma nova.
GET /v5/journeys/{id}/events
Lista a trilha de eventos da jornada, em ordem cronológica. É a evidência do que aconteceu no link: geração, convites, aberturas, etapas exibidas e concluídas, documentos visualizados e aceitos, geolocalização, redirecionamento e retorno da etapa externa, conclusão, cancelamento e expiração.
Autenticação: API Key (X-Api-Key). Exige a permissão "Acessar" de Jornada.
Estes eventos ficam só na jornada: não são enviados por webhook.
Campos de cada evento
| Campo | Tipo | Descrição |
|---|---|---|
id | string (uuid) | Identificador do evento. |
type | object (code/key/name) | Ver JourneyEventType. |
stepKey / blockKey | string | null | Etapa e bloco (botão, documento) envolvidos. |
accessId | string (uuid) | null | Acesso (dispositivo/sessão) que gerou o evento. null para eventos da plataforma ou do operador. |
ip | string | null | IP do cliente. |
latitude / longitude | decimal | null | Posição, quando autorizada. |
contentHash | string | null | Hash do conteúdo exibido naquele momento. |
payload | string | null | Detalhes do evento em JSON serializado como texto (ex.: respostas da etapa, motivo do cancelamento, canal do convite). |
occurredAt | string (date-time) | Momento do evento. |
Exemplo de Requisição e Resposta
- cURL
- 200 - OK
- 400 - Erro
curl --request GET \
--url 'https://{base-url}/v5/journeys/00000000-0000-7000-8000-000000000701/events' \
--header 'X-Api-Key: {api_key}'
Visualizar Response
[
{
"id": "00000000-0000-7000-8000-000000000901",
"type": { "code": 1, "key": "generated", "name": "Jornada Gerada" },
"stepKey": null,
"blockKey": null,
"accessId": null,
"ip": null,
"latitude": null,
"longitude": null,
"contentHash": null,
"payload": "{\"template_version\":\"default\",\"content_hash\":\"9f2c4e1a7b...\",\"expires_at\":\"2026-10-20T13:20:00Z\"}",
"occurredAt": "2026-10-17T13:20Z"
},
{
"id": "00000000-0000-7000-8000-000000000902",
"type": { "code": 2, "key": "invitation_sent", "name": "Convite Enviado" },
"stepKey": null,
"blockKey": null,
"accessId": null,
"ip": null,
"latitude": null,
"longitude": null,
"contentHash": null,
"payload": "{\"channel\":\"email\",\"event\":\"invitation\"}",
"occurredAt": "2026-10-17T13:20Z"
},
{
"id": "00000000-0000-7000-8000-000000000903",
"type": { "code": 21, "key": "completed", "name": "Jornada Concluída" },
"stepKey": "concluido",
"blockKey": null,
"accessId": "00000000-0000-7000-8000-000000000801",
"ip": "200.100.50.25",
"latitude": -23.550500,
"longitude": -46.633300,
"contentHash": null,
"payload": null,
"occurredAt": "2026-10-17T14:02Z"
}
]
{ "messages": [ { "code": "1174001", "text": "Jornada não encontrada" } ] }
POST /v5/journeys/{id}/cancel
Cancela uma jornada em aberto (pending, in_progress ou external). O link deixa de funcionar e o cliente passa a ver a mensagem de jornada encerrada.
Autenticação: API Key (X-Api-Key). Exige a permissão "Cancelar" de Jornada.
O cancelamento pelo operador não altera o registro de origem: o termo continua no status em que estava e o empréstimo e a assinatura seguem inalterados. Para encerrar o processo, trate também o termo ou o empréstimo pelas rotas deles.
Parâmetros de rota
| Parâmetro | Tipo | Descrição |
|---|---|---|
id | string (uuid) | id da jornada. Não encontrada → 1174001. |
Payload de entrada
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
reason | string | Não | Motivo, até 800 caracteres. Se omitido, grava "Cancelada pelo operador". |
Exemplo de Requisição e Resposta
- cURL
- 201 - Created
- 400 - Erro
curl --request POST \
--url 'https://{base-url}/v5/journeys/00000000-0000-7000-8000-000000000701/cancel' \
--header 'X-Api-Key: {api_key}' \
--header 'Content-Type: application/json' \
--data '{ "reason": "Cliente pediu novo link por outro e-mail" }'
Jornada com status = canceled, canceledAt e cancelReason preenchidos, no formato do POST /v5/journeys.Visualizar trecho da Response
Jornada não encontrada (1174001); jornada já concluída, cancelada ou expirada (1174022); jornada alterada ao mesmo tempo pelo cliente (1174010, repita a chamada).
{ "messages": [ { "code": "1174022", "text": "Esta jornada não pode ser cancelada" } ] }
POST /v5/journeys/search
Busca paginada de jornadas. Sem corpo, devolve as 100 mais recentes.
Autenticação: API Key (X-Api-Key). Exige a permissão "Acessar" de Jornada.
Payload de entrada
| Campo | Tipo | Descrição |
|---|---|---|
offset / limit | integer | Paginação. |
sort | array de string | Ordenação. |
searchText | string | Texto livre (código, nome e documento do destinatário, modelo). |
id | object | { "eq": "<uuid>" }. |
code | object | { "eq": 12 }. |
type | object | { "code": { "in": [1, 2] } } ou { "key": { "eq": "loan_formalization" } }. |
status | object | { "code": { "in": [1, 2, 3] } } para jornadas em aberto. |
recipientName | object | { "regex": "maria" }. |
recipientDocumentNumber | object | { "eq": "00000000000" }. |
expiresAt / completedAt | object | { "gte": "2026-10-01T00:00Z", "lt": "2026-11-01T00:00Z" }. |
filters | array | Filtros dinâmicos no formato devolvido por GET /filters. |
Resposta (200)
{ count, offset, limit, items[] }. Cada item traz id, code, template, templateVersion, type, status, feature, parentNid, recipientName, recipientDocumentNumber, currentStep, completedSteps, totalSteps, expiresAt, lastAccessAt, completedAt e log. O link não vem na busca: use GET /{id}.
curl --request POST \
--url 'https://{base-url}/v5/journeys/search' \
--header 'X-Api-Key: {api_key}' \
--header 'Content-Type: application/json' \
--data '{ "limit": 20, "status": { "code": { "in": [1, 2, 3] } }, "recipientDocumentNumber": { "eq": "00000000000" } }'
GET /v5/journeys/filters
Lista os campos aceitos em filters da busca: id, code, type_code, status_code, recipient_name, recipient_document_number, expires_at, completed_at e created_at. Cada item traz key, name, label, type (guid, int, string, datetime, select_list), operator (eq, in, regex, btw), sourceType, source e active.
Autenticação: API Key (X-Api-Key).
POST /v5/loans/{loanId}/signature-requests/current/journeys
Gera uma nova jornada de formalização (loan_formalization) para a assinatura eletrônica em andamento do empréstimo e devolve a assinatura com o link da jornada. A jornada anterior em aberto do mesmo empréstimo e destinatário é cancelada.
Use quando o cliente perdeu o link, ele expirou ou a jornada foi cancelada, mas a assinatura no provedor continua válida. Se a assinatura também expirou ou foi recusada, envie o empréstimo para assinatura de novo com POST /v5/loans/{loanId}/signature-requests, que gera nova CCB, nova assinatura e nova jornada.
Autenticação: API Key (X-Api-Key). Exige permissão de edição de empréstimos.
Parâmetros de rota
| Parâmetro | Tipo | Descrição |
|---|---|---|
loanId | string (uuid) | id do empréstimo. Não encontrado ou fora do nível de acesso → 1010001. |
Sem corpo.
Validações
| Código | Quando |
|---|---|
1010001 | Empréstimo não encontrado. |
1010029 | O empréstimo nunca foi enviado para assinatura. |
1010033 | A assinatura mais recente não está aguardando assinatura (concluída, recusada, cancelada ou expirada). Gere uma nova assinatura. |
1010028 | Nenhum signatário pendente com link de assinatura do provedor. |
1174005 | Endereço da página de jornadas não configurado para a empresa. |
Resposta
| Campo | Tipo | Descrição |
|---|---|---|
signatureId / code | string (uuid) / integer | Assinatura eletrônica do empréstimo. |
provider | object (code/key/name) | Provedor de assinatura. |
status | object (Status) | Status da assinatura. Ver Domínios › Assinatura Eletrônica. |
completedAt | string (date-time) | null | Conclusão da assinatura. |
ccbFileId / ccbFileUrl | string (uuid) / string | CCB gerada para assinatura. |
signers[] | array | id, name, documentNumber, email, signUrl, status, expiresAt, signedAt, refusedAt, refusalReason, verification, identityDocuments. |
documents[] | array | Documentos devolvidos pelo provedor: id, title, role, origin, fileId, fileName, fileExtension. |
journeyId | string (uuid) | id da jornada gerada. Use em GET /v5/journeys/{id}. |
journeyUrl | string | Link da jornada para o cliente. |
journeyStatus | object (Status) | Status da jornada (pending na geração). |
Exemplo de Requisição e Resposta
- cURL
- 201 - Created
- 400 - Erro
- 403 - Proibido
curl --request POST \
--url 'https://{base-url}/v5/loans/00000000-0000-7000-8000-000000000501/signature-requests/current/journeys' \
--header 'X-Api-Key: {api_key}'
Visualizar Response
{
"signatureId": "00000000-0000-7000-8000-000000000601",
"code": 87,
"provider": { "code": 400, "key": "unico_sign", "name": "Unico Sign" },
"status": { "code": 2, "key": "running", "name": "Em Assinatura", "date": "2026-10-17T12:00Z", "color": "#2196F3", "note": null },
"completedAt": null,
"ccbFileId": "00000000-0000-7000-8000-000000000611",
"ccbFileUrl": "https://arquivos.exemplo.com/ccb-00000087.pdf",
"signers": [
{
"id": "00000000-0000-7000-8000-000000000621",
"name": "NOME DO TOMADOR",
"documentNumber": "00000000000",
"email": "cliente@exemplo.com",
"signUrl": "https://assinatura.exemplo.com/s/abc123",
"status": { "code": 1, "key": "pending", "name": "Pendente", "date": "2026-10-17T12:00Z", "color": "#9E9E9E", "note": null },
"expiresAt": "2026-10-24T12:00Z",
"signedAt": null,
"refusedAt": null,
"refusalReason": null,
"verification": null,
"identityDocuments": []
}
],
"documents": [],
"journeyId": "00000000-0000-7000-8000-000000000702",
"journeyUrl": "https://jornada.exemplo.com/j/Pq7rS2tUv9WxY0zA1bC3dE5fG7hJ9kL2mN4oP6qR8sT",
"journeyStatus": { "code": 1, "key": "pending", "name": "Aguardando Acesso", "date": "2026-10-17T15:30Z", "color": "#9E9E9E", "note": null }
}
{ "messages": [ { "code": "1010033", "text": "A assinatura eletrônica do empréstimo não está aguardando assinatura; gere um novo link de assinatura" } ] }
Usuário sem permissão de edição de empréstimos. Corpo vazio.
Erros do módulo
| code | text | Onde |
|---|---|---|
1174001 | Jornada não encontrada | GET /{id}, GET /current, GET /{id}/events, POST /{id}/cancel |
1174003 | Tipo da Jornada inválido | POST /, GET /current |
1174004 | Registro de origem da jornada é obrigatório | POST / (ausente ou não encontrado) |
1174005 | Endereço da página de aceite não configurado | Geração (POST / e rotas do empréstimo) |
1174010 | A jornada foi alterada em outra aba ou dispositivo, recarregue a página | POST /{id}/cancel |
1174022 | Esta jornada não pode ser cancelada | POST /{id}/cancel |
1173010 | A jornada precisa de pelo menos uma etapa | Geração, modelo inválido |
1173036 | Falha ao montar o conteúdo da jornada | Geração, modelo inválido |
Os demais códigos 1174xxx (link inválido, expirado, encerrado, etapa, documento, geolocalização) são devolvidos à página do link, não às rotas de integração.