Method: vdc.getProofingStatus

Um endpoint para recuperar o status atual de uma comprovação.

Solicitação HTTP

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

Corpo da solicitação

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

Representação JSON
{
  "requestMetadata": {
    object (RequestMetadata)
  },
  "deviceReferenceId": string,
  "proofingId": 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.

proofingId

string

Um identificador opaco que representa um comprovante com um pacote específico de evidências para um dispositivo específico.

Por exemplo: UUID

Corpo da resposta

Uma resposta com o status atual de uma comprovação.

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

Representação JSON
{
  "responseMetadata": {
    object (ResponseMetadata)
  },
  "proofingStatus": {
    object (ProofingStatus)
  }
}
Campos
responseMetadata

object (ResponseMetadata)

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

proofingStatus

object (ProofingStatus)

O status atual da comprovação.

ProofingStatus

Um objeto que representa os diferentes status que uma comprovação pode ter.

Representação JSON
{

  // Union field status can be only one of the following:
  "pending": {
    object (Pending)
  },
  "accepted": {
    object (Accepted)
  },
  "rejected": {
    object (Rejected)
  },
  "challenged": {
    object (Challenged)
  },
  "canceled": {
    object (Canceled)
  },
  "revoked": {
    object (Revoked)
  },
  "expired": {
    object (Expired)
  }
  // End of list of possible types for union field status.
}
Campos
Campo de união status. Um oneof contendo os diferentes status possíveis para uma comprovação. status pode ser apenas de um dos tipos a seguir:
pending

object (Pending)

Um status pendente, indicando que o emissor ainda não decidiu.

accepted

object (Accepted)

Um status aceito, indicando que o emissor aceitou a comprovação.

rejected

object (Rejected)

Um status rejeitado, indicando que o emissor recusou a comprovação.

challenged

object (Challenged)

Um status em risco, indicando que o emissor quer que o usuário conclua uma contestação antes que o emissor decida sobre a comprovação.

canceled

object (Canceled)

Um status cancelado, indicando que o usuário cancelou a comprovação.

revoked

object (Revoked)

Um status revogado, indicando que o emissor revogou a comprovação.

expired

object (Expired)

Um status expirado, indicando que a comprovação não teve uma decisão tomada (provavelmente devido a uma contestação não concluída) antes de um prazo definido pelo emissor.

Pendente

Esse tipo não tem campos.

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

Aceito

Esse tipo não tem campos.

Um objeto que representa um status de comprovação aceito.

Recusado

Um objeto que representa um status de comprovação rejeitado.

Representação JSON
{
  "primaryRejection": {
    object (Rejection)
  },
  "additionalRejections": [
    {
      object (Rejection)
    }
  ]
}
Campos
primaryRejection

object (Rejection)

O motivo principal da rejeição do status da comprovação.

additionalRejections[]

object (Rejection)

Outros motivos, se existirem, para o status de rejeição da comprovação.

Rejection

Um objeto que contém detalhes sobre um motivo de rejeição específico, que leva a um status de comprovação rejeitado.

Representação JSON
{
  "rejectionDescription": string,
  "issuerRejectionIdentifier": string,

  // Union field reason can be only one of the following:
  "evidenceMismatch": {
    object (EvidenceMismatch)
  },
  "evidenceIncomplete": {
    object (EvidenceIncomplete)
  },
  "lowRiskScore": {
    object (LowRiskScore)
  },
  "recordNotFound": {
    object (RecordNotFound)
  },
  "recordInvalid": {
    object (RecordInvalid)
  },
  "maxProvisioningsReached": {
    object (MaxProvisioningsReached)
  },
  "riskCheckFailure": {
    object (RiskCheckFailure)
  },
  "livenessCheckFailure": {
    object (LivenessCheckFailure)
  }
  // End of list of possible types for union field reason.
}
Campos
rejectionDescription

string

Uma descrição dessa rejeição para que os representantes de suporte depurem. Isso nunca é mostrado aos usuários. Pode conter texto descritivo e não confidencial usado para depuração.

Atenção: não inclua nenhuma PII nesta mensagem.

issuerRejectionIdentifier

string

Esse identificador é específico do emissor e é gerado por ele. Ele é usado para fins de depuração apenas para identificar a rejeição. O emissor conhece essa rejeição pelo identificador.

Campo de união reason. Um dos vários motivos de rejeição de uma comprovação. reason pode ser apenas de um dos tipos a seguir:
evidenceMismatch

object (EvidenceMismatch)

Indica que a comprovação foi rejeitada devido a uma incompatibilidade de evidência.

Exemplos de uso: incompatibilidade de selfie e imagem capturadas pelo app no sistema do emissor. - Incompatibilidade de imagem do documento de captura do app e a imagem no sistema do emissor.

evidenceIncomplete

object (EvidenceIncomplete)

Indica que a comprovação foi rejeitada devido a evidências incompletas.

Exemplos de uso: nem todas as evidências exigidas foram recebidas pelo emissor.

lowRiskScore
(deprecated)

object (LowRiskScore)

(OBSOLETO: use riskCheckFailure ou livenessCheckFailure, conforme necessário)

Indica que a comprovação foi rejeitada devido a uma baixa pontuação de risco.

Exemplos de uso: a pontuação de risco fornecida pela carteira é baixa. - O emissor bloqueou este usuário devido a repetidas tentativas malsucedidas.

recordNotFound

object (RecordNotFound)

Indica que a comprovação foi rejeitada porque o registro não existe no sistema do emissor.

Exemplos de uso: o registro não foi encontrado no sistema do emissor. - Um registro específico é excluído.

recordInvalid

object (RecordInvalid)

Indica que a comprovação foi rejeitada porque o registro no sistema do emissor está em estado inválido.

Exemplos de uso: o registro está em estado cancelado. - O registro expirou.

maxProvisioningsReached

object (MaxProvisioningsReached)

Indica que a comprovação foi rejeitada devido ao provisionamento do documento para a quantidade máxima de dispositivos permitidos.

riskCheckFailure

object (RiskCheckFailure)

Indica que a comprovação foi rejeitada devido a uma falha na verificação da pontuação de risco.

Exemplos de uso: a pontuação de risco fornecida pela carteira é alta, o que representa um alto risco de fraude. - O emissor avalia que a solicitação tem um alto risco de fraude.

livenessCheckFailure

object (LivenessCheckFailure)

Indica que a comprovação foi rejeitada devido a uma falha na verificação de atividade.

Exemplos de uso: a pontuação de vivacidade fornecida pela carteira é baixa.

EvidenceMismatch

Um objeto que indica uma rejeição de incompatibilidade de evidência.

Representação JSON
{
  "evidenceType": string
}
Campos
evidenceType

string

Uma descrição da evidência que foi incompatível. Usada apenas para fins de depuração.

EvidenceIncomplete

Um objeto que indica uma rejeição incompleta de evidência.

Representação JSON
{
  "evidenceType": string
}
Campos
evidenceType

string

Uma descrição da evidência que estava incompleta. Usada apenas para fins de depuração.

LowRiskScore

Esse tipo não tem campos.

Um objeto que indica uma rejeição de pontuação de baixo risco. Esta mensagem está intencionalmente vazia no momento. Novos campos podem ser adicionados no futuro.

RecordNotFound

Esse tipo não tem campos.

Um objeto que indica uma rejeição de registro não encontrado. Esta mensagem está intencionalmente vazia no momento. Novos campos podem ser adicionados no futuro.

RecordInvalid

Um objeto que indica uma rejeição de registro inválido.

Representação JSON
{
  "invalidityReason": string
}
Campos
invalidityReason

string

Uma descrição de por que o registro é inválido.

MaxProvisioningsReached

Um objeto indicando que o provisionamento máximo atingiu a rejeição.

Representação JSON
{
  "maxNumberOfProvisioningsAllowed": integer
}
Campos
maxNumberOfProvisioningsAllowed

integer

O número máximo de provisionamentos permitidos, conforme definido pela política do emissor.

RiskCheckFailure

Esse tipo não tem campos.

Um objeto que indica uma rejeição de falha na verificação de risco. Esta mensagem está intencionalmente vazia no momento. Novos campos podem ser adicionados no futuro.

LivenessCheckFailure

Esse tipo não tem campos.

Um objeto que indica uma rejeição de falha na verificação de atividade. Esta mensagem está intencionalmente vazia no momento. Novos campos podem ser adicionados no futuro.

Em risco

Um objeto que representa um status de comprovação contestado.

Representação JSON
{
  "challengeDescription": string,

  // Union field challenge can be only one of the following:
  "physicalLocationVisit": {
    object (PhysicalLocationVisit)
  },
  "issuerUrlVisit": {
    object (IssuerUrlVisit)
  },
  "additionalTimeRequired": {
    object (AdditionalTimeRequired)
  }
  // End of list of possible types for union field challenge.
}
Campos
challengeDescription

string

Uma descrição do risco para os representantes de suporte depurarem. Isso nunca é mostrado aos usuários. Pode conter texto descritivo e não confidencial usado para depuração.

Atenção: não inclua nenhuma PII nesta mensagem.

Campo de união challenge. Um dos vários desafios que o usuário pode ter que concluir. challenge pode ser apenas de um dos tipos a seguir:
physicalLocationVisit

object (PhysicalLocationVisit)

Um risco em que um usuário deve visitar um local físico, como o escritório de um emissor, para concluir um desafio.

issuerUrlVisit

object (IssuerUrlVisit)

Uma opção de desafio em que um usuário precisa acessar um URL fornecido pelo emissor e concluir um desafio nesse URL.

additionalTimeRequired

object (AdditionalTimeRequired)

Uma opção de desafio em que é necessário mais tempo para revisar essa comprovação.

PhysicalLocationVisit

Esse tipo não tem campos.

Um objeto que representa a opção de desafio em que um usuário precisa visitar um local físico, como o escritório de um emissor, para concluir um desafio. Esse risco está fora da banda do Google. Por motivos de segurança, se o emissor for compatível com esse tipo de desafio, ele deverá fornecer os detalhes do local ao Google durante a integração.

IssuerUrlVisit

Esse tipo não tem campos.

Um objeto que representa a opção de risco em que um usuário deve visitar um URL fornecido pelo emissor e concluir um desafio nesse URL. Esse risco está fora da banda do Google. Por motivos de segurança, se o emissor for compatível com esse tipo de desafio, ele deverá fornecer o URL ao Google durante a integração.

AdditionalTimeRequired

Um objeto que representa a opção de desafio em que é necessário mais tempo para analisar a comprovação. O tempo estimado de conclusão pode ser fornecido opcionalmente.

Representação JSON
{
  "estimatedCompletion": string
}
Campos
estimatedCompletion

string (int64 format)

O tempo estimado em que a revisão será concluída. O formato é um carimbo de data/hora, representado como o número de milissegundos desde a época do Unix.

Cancelado

Esse tipo não tem campos.

Um objeto que representa um status de comprovação cancelado. 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 comprovação revogado. Esta mensagem está intencionalmente vazia no momento. Novos campos podem ser adicionados no futuro.

Expirado

Esse tipo não tem campos.

Um objeto que representa um status de comprovação expirado. Esta mensagem está intencionalmente vazia no momento. Novos campos podem ser adicionados no futuro.