

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Programação das APIs Amazon Rekognition Face Liveness
<a name="face-liveness-programming-api"></a>

Para usar a API Amazon Rekognition Face Liveness, você deve criar um back-end que execute as seguintes etapas:

1. Ligue [CreateFaceLivenessSession](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateFaceLivenessSession.html)para iniciar uma sessão de Face Liveness. Quando a operação `CreateFaceLivenessSession` for concluída, a interface do usuário solicita que o usuário envie uma selfie em vídeo. O FaceLivenessDetector componente do AWS Amplify então liga [StartFaceLivenessSession](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_rekognitionstreaming_StartFaceLivenessSession.html)para realizar a detecção de Liveness.

1. Ligue [GetFaceLivenessSessionResults](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_GetFaceLivenessSessionResults.html)para retornar os resultados da detecção associados a uma sessão de Face Liveness.

1. Continue configurando seu aplicativo React para usar o FaceLivenessDetector componente seguindo as etapas no guia [Amplify Liveness](https://ui.docs.amplify.aws/react/connected-components/liveness).

Antes de usar o Face Liveness, certifique-se de ter criado uma conta da AWS, configurado a CLI da AWS e os SDKs da AWS e configurado o AWS Amplify. Você também deve garantir que a política do IAM para sua API de back-end tenha permissões que abranjam o seguinte: `GetFaceLivenessSessionResults`, e `CreateFaceLivenessSession`. Consulte a seção [Pré-requisitos](face-liveness-prerequisites.md) para obter mais informações.

## Etapa 1: CreateFaceLivenessSession
<a name="face-liveness-programming-api-create-session"></a>

CreateFaceLivenessSession A operação da API cria uma sessão de Face Liveness e retorna uma única`SessionId`.

Como parte da entrada para essa operação, também é possível especificar uma localização de bucket do Amazon S3. Isso permite o armazenamento de uma imagem de referência e imagens de auditoria geradas durante a sessão Face Liveness. O bucket do Amazon S3 deve estar localizado na conta da AWS do chamador e na mesma região do endpoint Face Liveness. Além disso, as chaves de objeto do S3 são geradas pelo sistema Face Liveness.

Também é possível fornecer um `AuditImagesLimit`, que é um número entre 0 e 4. Por padrão, ele é definido como 0. O número de imagens retornadas é o melhor esforço e é baseado na duração do vídeo de selfie.

Por fim, você pode fornecer um ChallengePreference, incluindo o tipo e a versão do desafio que você deseja que sua sessão use como padrão. Por padrão, isso será usado FaceLivenessMovementAndLightChallenge, mas pode ser definido como FaceMovementChallenge.

**Exemplo de solicitação**

```
{
   "ClientRequestToken": "string",
   "KmsKeyId": "string",
   "Settings": { 
      "AuditImagesLimit": number,
      "ChallengePreferences": [ 
         { 
            "Type": "string",
            "Versions": { 
               "Maximum": "string",
               "Minimum": "string"
            }
         }
      ],
      "OutputConfig": { 
         "S3Bucket": "string",
         "S3KeyPrefix": "string"
      }
   }
}
```

**Exemplo de resposta**

```
{
    {"SessionId": "0f959dbb-37cc-45d8-a08d-dc42cce85fa8"}
}
```

## Etapa 2: StartFaceLivenessSession
<a name="face-liveness-programming-api-start-session"></a>

Quando a operação CreateFaceLivenessSession da API termina, o componente AWS Amplify executa a operação StartFaceLivenessSession da API. O usuário é solicitado a capturar uma selfie em vídeo. Para uma verificação bem-sucedida, o usuário deve posicionar a face dentro do oval na tela, mantendo uma boa iluminação. Para obter mais informações, consulte [Recomendações para o uso do Face Liveness](recommendations-liveness.md). 

Essa operação de API requer o vídeo capturado durante a sessão do Face Liveness, o sessionID obtido da operação CreateFaceLivenessSession da API e um retorno de chamada. `onAnalysisComplete` O retorno de chamada pode ser usado para sinalizar o back-end para chamar a operação da GetFaceLivenessSessionResults API, que retorna uma pontuação de confiança, referência e imagens de auditoria. 

Observe que essa etapa é executada pelo FaceLivenessDetector componente AWS Amplify no aplicativo cliente. Você não precisa fazer configurações adicionais para ligar `StartFaceLivenessSession`. 

## Etapa 3: GetFaceLivenessSessionResults
<a name="face-liveness-programming-api-get-session-results"></a>

A operação GetFaceLivenessSessionResults da API recupera os resultados de uma sessão específica do Face Liveness. Ele requer o SessionID como entrada e retorna a pontuação de confiança correspondente do Face Liveness. Ele também fornece uma imagem de referência que inclui uma caixa delimitadora de face e imagens de auditoria que também contêm caixas delimitadoras de face. A pontuação de confiança do Face Liveness varia de 0 a 100. 

**Exemplo de solicitação**

```
{"SessionId": "0f959dbb-37cc-45d8-a08d-dc42cce85fa8"}
```

**Exemplo de resposta**

```
{
    "SessionId": "0f959dbb-37cc-45d8-a08d-dc42cce85fa8",
    "Confidence": 98.9735,
    "ReferenceImage": {
        "S3Object": { 
            "Bucket": "s3-bucket-name",
            "Name": "file-name",
        },
        "BoundingBox": { 
           "Height": 0.4943420886993408, 
            "Left": 0.8435328006744385, 
            "Top": 0.8435328006744385, 
            "Width": 0.9521094560623169}
    },
    "AuditImages": [{
        "S3Object": { 
            "Bucket": "s3-bucket-name",
            "Name": "audit-image-name",
        },
        "BoundingBox": { 
           "Width": 0.6399999856948853,
           "Height": 0.47999998927116394,
           "Left": 0.1644444465637207,
           "Top": 0.17666666209697723}
    }],
    "Status": "SUCCEEDED"
}
```

## Etapa 4: Responda aos resultados
<a name="face-liveness-programming-api-respond-results"></a>

Após a sessão Face Liveness, compare a pontuação de confiança da verificação com o limite especificado. Se a pontuação for maior que o limite, o usuário poderá ir para a próxima tela ou tarefa. Se a verificação falhar, o usuário será notificado e solicitado a tentar novamente. 