Алгоритм проверки по черному списку предназначен для проверки присутствия человека по базе заранее загруженных фотографий. В качестве источника для сравнения можно использовать изображение и/или фрагмент видео.
Порядок действий описан ниже.
1. Авторизуйтесь. Параметры передаются в json-запросе в составе credentials. См. статьи Коллекции Postman и Аутентификация.
2. Поместите видеофайл в папку, как описано здесь.
Пример заполнения payload
для видео:
3. Запустите анализ: POST/api/folders/{{folder_id}}/analyses/
В типе анализа должно быть указано collection
.
В source_media
указывается media_id
из ответа предыдущего запроса. Это опционально, если требуется проверить одно из двух заранее загруженных в папку видео.
Сохраните analyse_id
из ответа.
4а. Через некоторое время проверьте результат. Дождитесь, когда поля resolution_status
и resolution
изменят статус на любой, кроме PROCESSING
, – этот статус и будет результатом.
4б. Еще один вариант: добавьте вебхук, который обратится к вашему сайту по завершении анализа. В payload запроса добавьте нужный адрес в поле resolution_endpoint
:
В запросе вебхука будет содержаться информация о папке и связанных с ней анализах.
Подробно статусы анализов описаны здесь.
Если вы хотите узнать, с кем именно из вашей базы фотографий совпало лицо с медиафайла, который вы только что загрузили, найдите в ответе анализ collection
, в нем results_media
, где и будет идентификатор нужной вам персоны person_id
. Чтобы получить информацию об этой персоне, вызовите метод GET /api/collections/{{collection_id}}/persons/{{person_id}}
, указав идентификаторы вашей коллекции и персоны в ней.
В этой статье рассказывается, как создать коллекцию методами API, как добавить в нее персону и фотографии, как потом все это удалить, а также удалить саму коллекцию. Все это можно также сделать , однако здесь мы описываем только соответствующие методы API.
Коллекция в Oz API – это база фотографий лиц (персон), которые используются в анализе Blacklist для сравнения с лицом человека с только что снятого фото или видео.
Персона – это сущность в коллекции, соответствующая одному человеку. Для одной персоны может быть загружено несколько фотографий.
Коллекция создается в рамках определенной компании, таким образом, для добавления новой коллекции необходим идентификатор компании company_id
.
Если вы его не знаете, найдите компанию поиском с помощью метода GET /api/companies/?search_text=test
, где test – наименование компании или его часть. Сохраните полученный company_id
.
Для создания коллекции вызовите метод POST /api/collections/
. В теле запроса укажите название своей коллекции (alias) и company_id
нужной компании, как показано ниже:
В ответе на запрос будет идентификатор коллекции collection_id
. Он понадобится на следующем шаге.
Для добавления новой персоны в коллекцию вызовите метод POST /api/collections/{{collection_id}}/persons/
, где collection_id
– идентификатор коллекции из предыдущего шага. В запросе передайте фото персоны (или несколько фото). В Payload укажите соответствующие фото , как показано ниже.
В ответе вам придет идентификатор персоны person_id
- это идентификатор отдельного человека в коллекции.
В этом же запросе через payload можно добавить данные о персоне:
Вы также можете загрузить дополнительные фото персоны после ее добавления: используйте метод POST {{host}}/api/collections/{{collection_id}}/persons/{{person_id}}/images/
с соответствующим person_id
. Тело запроса заполните так же, как для метода POST /api/collections/{{collection_id}}/persons/
.
Чтобы получить информацию о всех персонах в коллекции, вызовите метод GET /api/collections/{{collection_id}}/persons/
.
Если вам нужен список фотографий для отдельной персоны, воспользуйтесь методом GET /api/collections/{{collection_id}}/persons/{{person_id}}/images/
. Обратите внимание: для каждого фото будет указан идентификатор фото person_image_id
– он потребуется вам, например, для удаления фото.
Чтобы удалить персону со всеми соответствующими ей фотографиями, используйте метод DELETE /api/collections/{{collection_id}}/persons/{{person_id}}
, указав идентификаторы коллекции и персоны. Все фото этой персоны удалятся автоматически. Персону нельзя удалить, если с ней связаны анализы – то есть если эта персона участвовала в анализе Black list и с ней были найдены совпадения. Для удаления такой персоны сперва нужно удалить соответствующие анализы методом DELETE /api/analyses/{{analyse_id}}
(потребуется analyse_id
анализа collection (Black list)).
Для удаления всех связанных с коллекцией анализов запросите список всех папок с анализом Black list: call GET /api/folders/?analyse.type=COLLECTION
. Для каждой папки из списка (GET /api/folders/{{folder_id}}/
), найдите analyse_id
нужного анализа, а затем удалите анализ – DELETE /api/analyses/{{analyse_id}}
.
Для удаления определенной фотографии той или иной персоны вызовите метод DELETE /api/collections/{{collection_id}}/persons/{{person_id}}/images/{{person_image_id}}
и укажите идентификаторы коллекции, персоны, фотографии.
Перед удалением коллекции нужно удалить информацию о всех входящих в нее персонах, а затем стереть саму коллекцию с помощью метода DELETE /api/collections/{{collection_id}}/
.