API Reference

Objetivo

Referência dos endpoints REST do INJI Verify Service. O context path é /v1/verify.

Nota

Em uso normal, o SDK gerencia todas as chamadas a esses endpoints automaticamente. Esta referência é útil para debugging ou integração com apps nativos.

Endpoints do INJI Verify Service

Criar VP Request

Inicia uma solicitação de verificação OpenID4VP.

POST <VERIFY_BASE_URL>/v1/verify/vp-request

Request Body:

{
  "clientId": "https://<VERIFY_BASE_URL>",
  "presentationDefinition": {
    "id": "eca-age-check",
    "input_descriptors": [
      {
        "id": "ECACredential",
        "name": "Comprovante de Maioridade",
        "purpose": "Verificar que o usuário é maior de 18 anos",
        "format": { "ldp_vc": { "proof_type": ["Ed25519Signature2020"] } },
        "constraints": {
          "fields": [
            {
              "path": ["$.type"],
              "filter": {
                "type": "string",
                "pattern": "ECACredential"
              }
            }
          ]
        }
      }
    ]
  }
}

Response — 200 OK:

{
  "transactionId": "txn_49dfba0a-d573-43ca-aa9d-71d1fbf03db0",
  "requestId": "req_46555655-a746-4d87-8cca-1d85a2f3252e",
  "authorizationDetails": {
    "clientId": "https://<VERIFY_BASE_URL>",
    "nonce": "cecd183d447e3d07d7786fbb373f01fc",
    "responseUri": "https://<VERIFY_BASE_URL>/v1/verify/vp-submission/direct-post",
    "responseType": "vp_token",
    "responseMode": "direct_post",
    "issuedAt": 1784817812646
  },
  "expiresAt": 1784818112645
}

Consultar Status da VP Request (Long-Polling)

Aguarda até que a Carteira Digital envie a credencial ou o timeout seja atingido.

GET <VERIFY_BASE_URL>/v1/verify/vp-request/{requestId}/status

Response — 200 OK:

{
  "status": "ACTIVE"
}

Valores possíveis de status:

Valor Significado
ACTIVE Aguardando submissão da carteira
VP_SUBMITTED Carteira submeteu a credencial — buscar resultado
EXPIRED Sessão expirada

Obter Resultado da Verificação

Busca o resultado completo após a Wallet ter submetido a credencial.

GET <VERIFY_BASE_URL>/v1/verify/vp-result/{transactionId}

Response — 200 OK:

{
  "vpResultStatus": "SUCCESS",
  "vcResults": [
    {
      "vc": {
        "credentialSubject": {
          "isOver18": true
        }
      },
      "vcStatus": "SUCCESS"
    }
  ]
}

Valores possíveis de vcStatus:

Valor Significado
SUCCESS Credencial válida, policy satisfeita
INVALID Credencial inválida (assinatura, emissor, formato)
EXPIRED Credencial expirada

VP Submission (Wallet → Service)

Endpoint chamado pela Carteira Digital para enviar a credencial. Você não chama este endpoint diretamente.

POST <VERIFY_BASE_URL>/v1/verify/vp-submission

Health Check

GET <VERIFY_BASE_URL>/v1/verify/actuator/health

Response — 200 OK:

{
  "status": "UP"
}

Resumo de Placeholders

Placeholder Descrição Exemplo
<VERIFY_BASE_URL> URL base do INJI Verify Service https://verify.seu-dominio.com.br
<SEU_DOMINIO> Domínio público da VM verify.seu-dominio.com.br
Nota

Esses valores são definidos durante o setup do INJI Verify Service e o Onboarding.