Method: vdc.getCredentialStatus

Um endpoint para recuperar o status atual de uma credencial.

Solicitação HTTP

POST https://example.issuer.com/api/v1/vdc/getCredentialStatus

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "requestMetadata": {
    object (RequestMetadata)
  },
  "deviceReferenceId": string,
  "credentialId": string
}
Campos
requestMetadata

object (RequestMetadata)

Os metadados sobre a solicitação, obrigatórios para todas elas.

deviceReferenceId

string

O ID que corresponde ao dispositivo e a chave de identidade associada a ele. Este NÃO é um ID do dispositivo, ou seja, se o usuário tivesse duas credenciais separadas no mesmo dispositivo, esse ID seria diferente entre elas.

Esse ID é fornecido em todas as solicitações e pode ser usado para correlacionar solicitações.

credentialId

string

O ID da credencial com o status que o chamador está solicitando.

Corpo da resposta

Uma resposta contendo o status atual de uma credencial.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON
{
  "responseMetadata": {
    object (ResponseMetadata)
  },
  "credentialStatus": {
    object (CredentialStatus)
  },
  "credentialVersionId": string
}
Campos
responseMetadata

object (ResponseMetadata)

Os metadados sobre a resposta, necessários em todas elas.

credentialStatus

object (CredentialStatus)

O status atual da credencial.

credentialVersionId

string

A versão atual da credencial. Isso deve mudar quando novas versões da credencial estiverem disponíveis. Um exemplo de quando isso mudaria é quando o usuário atualiza seu endereço em sua credencial, tornando o mdoc subjacente obsoleto.

CredentialStatus

Um objeto que representa os diferentes status que uma credencial pode ter.

Representação JSON
{
  "userActionRequired": {
    object (UserActionRequired)
  },

  // Union field status can be only one of the following:
  "provisionPending": {
    object (ProvisionPending)
  },
  "active": {
    object (Active)
  },
  "revoked": {
    object (Revoked)
  },
  "deleted": {
    object (Deleted)
  }
  // End of list of possible types for union field status.
}
Campos
userActionRequired

object (UserActionRequired)

Ação necessária para evitar que a credencial do usuário passe para um estado mais restrito (por exemplo, ACTIVE -> REVOKED).

Campo de união status. Um oneof contendo os diferentes status possíveis para uma credencial. status pode ser apenas de um dos tipos a seguir:
provisionPending

object (ProvisionPending)

Representa uma credencial que pode ser recuperada, mas ainda não forneceu ProofOfProvisioning. Chamadas para vdc.provisionMobileSecurityObjects de uma credencial neste estado vão falhar se a solicitação não contiver um ProofOfProvisioning atualizado. Uma credencial é colocada nesse estado quando é criada e quando há uma nova versão de uma credencial disponível. Para o caso da nova versão, a carteira precisa provisionar novamente a credencial e fornecer ProofOfProvisioning para voltar ao estado ACTIVE.

active

object (Active)

Representa uma credencial ativa e utilizável. MSOs só podem ser recuperados para uma credencial no estado ACTIVE.

revoked

object (Revoked)

Representa uma credencial que está em um estado final não utilizável. Essa credencial não pode se tornar utilizável no futuro. Este estado é comparável a EXCLUÍDO, mas só pode ser definido pelo emissor.

deleted

object (Deleted)

Representa uma credencial que já foi provisionada, mas foi excluída do dispositivo. Este estado é comparável a REVOGADO, mas só pode ser definido pela carteira.

ProvisionPending

Esse tipo não tem campos.

Um objeto que representa um status de credencial de provisionamento pendente. Esta mensagem está intencionalmente vazia no momento. Novos campos podem ser adicionados no futuro.

Ativo

Esse tipo não tem campos.

Um objeto que representa um status de credencial ativa. Esta mensagem está intencionalmente vazia no momento. Novos campos podem ser adicionados no futuro.

Revogado

Esse tipo não tem campos.

Um objeto que representa um status de credencial revogada. Esta mensagem está intencionalmente vazia no momento. Novos campos podem ser adicionados no futuro.

Excluído

Esse tipo não tem campos.

Um objeto que representa um status de credencial excluído. Esta mensagem está intencionalmente vazia no momento. Novos campos podem ser adicionados no futuro.

UserActionRequired

Um objeto que representa uma tarefa ou ação que o usuário precisa concluir.

Representação JSON
{
  "deadlineTimeMillis": string,
  "deadlineEnforcementHint": {
    object (EnforcementHint)
  },

  // Union field action can be only one of the following:
  "submitProofing": {
    object (SubmitProofing)
  }
  // End of list of possible types for union field action.
}
Campos
deadlineTimeMillis

string (int64 format)

O tempo de época em que a ação expira e o emissor deve mover a credencial para um estado mais restrito. Usado pelo cliente para avisar o usuário sobre quando a ação precisa ser concluída, mas cabe ao emissor aplicar restrições.

deadlineEnforcementHint

object (EnforcementHint)

Dica que descreve como o emissor aplicaria o prazo da ação.

Campo de união action. A ação que o usuário precisa concluir. action pode ser apenas de um dos tipos a seguir:
submitProofing

object (SubmitProofing)

Envie a comprovação da credencial.

EnforcementHint

Dica que descreve como o emissor aplicaria a ação necessária.

Representação JSON
{

  // Union field hint can be only one of the following:
  "revocationHint": {
    object (RevocationHint)
  }
  // End of list of possible types for union field hint.
}
Campos
Campo de união hint. Tipo de dica de aplicação. hint pode ser apenas de um dos tipos a seguir:
revocationHint

object (RevocationHint)

A credencial será revogada pelo emissor.

RevocationHint

Esse tipo não tem campos.

A credencial será revogada pelo emissor.

SubmitProofing

Detalhes do status da comprovação.

Representação JSON
{

  // Union field ProofingAllowance can be only one of the following:
  "limitedAttempts": {
    object (LimitedAttempts)
  },
  "unlimitedAttempts": {
    object (UnlimitedAttempts)
  }
  // End of list of possible types for union field ProofingAllowance.
}
Campos
Campo de união ProofingAllowance. A tentativa de comprovação na credencial atual. ProofingAllowance pode ser apenas de um dos tipos a seguir:
limitedAttempts

object (LimitedAttempts)

O usuário tem um número limitado de tentativas para enviar a comprovação.

unlimitedAttempts

object (UnlimitedAttempts)

O usuário tem tentativas ilimitadas para enviar a comprovação. Isso não é recomendado para o emissor.

LimitedAttempts

O usuário tem um número limitado de tentativas para enviar a comprovação.

Representação JSON
{
  "remainingAttempts": integer,
  "maxAttempts": integer,
  "maxAttemptsEnforcementHint": {
    object (EnforcementHint)
  }
}
Campos
remainingAttempts

integer

O número de tentativas restantes para enviar a comprovação. Isso é apenas para exibição de mensagens de UX. A Carteira do Google não vai usar esse número.

maxAttempts

integer

O número máximo de tentativas de envio de comprovação. Isso é apenas para exibição de mensagens de UX. A Carteira do Google não vai usar esse número.

maxAttemptsEnforcementHint

object (EnforcementHint)

Dica que descreve como o emissor aplicaria o número máximo de tentativas.

UnlimitedAttempts

Esse tipo não tem campos.

O usuário tem tentativas ilimitadas para enviar a comprovação. Isso não é recomendado para o emissor.