В этой статье рассказывается, как создать коллекцию методами 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}}/
.