Saltar para o conteúdo principal

Visão geral

A Pesquisa facial emite um pequeno conjunto de avisos para que a sua equipa possa perceber por que razão uma pesquisa devolveu Approved ou Declined. Os avisos são devolvidos no array face_search.warnings[] da resposta a POST /v3/face-search/ (consulte o relatório da Pesquisa facial). Os avisos aqui utilizam um formato reduzido em comparação com os avisos de fluxo: não existe node_id. O contrato de resposta documentado declara cinco campos — risk, additional_data, log_type, short_description, long_description — e o payload de execução inclui adicionalmente feature, que é sempre "LIVENESS" neste endpoint.

Avisos produzidos

Produtor: FaceSearchAPIView.add_warnings (apis/views/face_search.py:250-330); derivação de estado: get_face_search_status (apis/views/face_search.py:242-248), que recusa apenas para os dois riscos de lista de bloqueio. Regras de emissão que convém conhecer:
  • A lista de bloqueio tem precedência sobre os duplicados. Uma correspondência confirmada na lista de bloqueio suprime DUPLICATED_FACE, e uma possível correspondência na lista de bloqueio suprime POSSIBLE_DUPLICATED_FACE — nunca recebe ambos os membros de um par para o mesmo intervalo de confiança.
  • additional_data referencia apenas o primeiro rosto correspondente, mesmo quando matches[] contém vários. Os avisos de lista de bloqueio contêm {blocklisted_session_id, blocklisted_session_number, api_service}; os avisos de duplicado contêm {duplicated_session_id, duplicated_session_number, api_service}; MULTIPLE_FACES_DETECTED contém null. O valor de api_service está em maiúsculas (por exemplo, PASSIVE_LIVENESS) ou null para sessões de fluxo.
  • Rostos na lista de permissões suprimem avisos de duplicado — uma correspondência de alta confiança na lista de permissões anula DUPLICATED_FACE/POSSIBLE_DUPLICATED_FACE (nunca anula avisos de lista de bloqueio).

Strings exatas dos avisos

Validação da imagem de pesquisa

Quando não é detetado nenhum rosto em user_image, a API rejeita o pedido com o código HTTP 400 e {"error": "No face detected in the image"} antes de um objeto face_search ser construído — pelo que um aviso NO_FACE_DETECTED nunca aparece numa resposta bem-sucedida da Pesquisa facial. Isto é devolvido como uma string de error de nível superior, e não em warnings[].

Definições configuráveis

Os intervalos de similaridade que separam correspondências confirmadas (FACE_IN_BLOCKLIST, DUPLICATED_FACE) de possíveis correspondências (POSSIBLE_FACE_IN_BLOCKLIST, POSSIBLE_DUPLICATED_FACE) são fixos internamente — o ajuste de limiares por aplicação aplica-se à verificação de prova de vida do fluxo, não a este endpoint. Os parâmetros que controla por pedido são:
  • search_type (most_similar, predefinição | blocklisted_or_approved) — most_similar classifica cada rosto registado por similaridade; blocklisted_or_approved restringe os candidatos a rostos na lista de bloqueio, rostos na lista de permissões, rostos de sessões aprovadas e rostos de perfis de utilizador importados, classificando as entradas na lista de bloqueio em primeiro lugar.
  • save_api_request (predefinição true) — persiste a chamada como uma sessão do tipo API e regista o rosto pesquisado no seu índice de pesquisa facial. Os rostos registados por chamadas de Pesquisa facial são excluídos de resultados futuros da Pesquisa facial. Defina como false para consultar sem armazenar ou registar.
  • rotate_image (predefinição false) — tenta rotações de 90 graus e mantém a orientação com a melhor deteção facial; útil quando a orientação EXIF está ausente.

Exemplos

Correspondência na lista de bloqueio (força Declined)

Sinal de duplicado (o estado permanece Approved)

Relacionado

Tipos de aviso

Última modificação em 7 de novembro de 2026