Карточка

Создание новой карточки

Чтобы создать новую карточку, используйте следующий метод:

POST /cards/humans/

Совет

Для карточек ТС в запросе вместо humans укажите cars.

Тело запроса является обязательным и содержит объект application/json со следующими параметрами.

Совет

* – означает, что параметр является обязательным. 🆁 – только для чтения.

Название

Схема JSON

Описание

active

boolean

true, если объект активен.

name*

string

Название карточки, до 256 символов.

comment

string

Комментарий, до 2048 символов.

watch_lists*

[integer]

Массив из ID списков наблюдений.

meta

Любой тип данных

Метаданные.

active_after

date-time┃null

Информация о дате и времени.

active_before

date-time┃null

Информация о дате и времени.

disable_schedule

{…}

Сериализатор mixin, который вызывает ошибку проверки ValidationError, если представлены избыточные поля. Может использоваться во вложенных сериализаторах.

Пример запроса

Совет

Этот пример приведен только для ознакомления, подставьте свои значения в соответствующие поля. Вы можете заполнить только обязательные поля, а остальные будут по умолчанию.

{
 "active": false,
 "name": "A",
 "comment": "AAAAAA",
 "watch_lists": [
   0
 ],
 "meta": {},
 "active_after": "1970-01-01T00:00:00.000Z",
 "active_before": "1970-01-01T00:00:00.000Z",
 "disable_schedule": {
   "monday": [
     [
       "A"
     ]
   ],
   "tuesday": [
     [
       "A"
     ]
   ],
   "wednesday": [
     [
       "A"
     ]
   ],
   "thursday": [
     [
       "A"
     ]
   ],
   "friday": [
     [
       "A"
     ]
   ],
   "saturday": [
     [
       "A"
     ]
   ],
   "sunday": [
     [
       "A"
     ]
   ]
 }
}

Вы можете отправить в запросе следующие параметры:

{
 "active": true,
 "name": "Angelina Jolie",
 "comment": "Миссис Смит",
 "watch_lists": [
   2
 ]
}

CURL пример

curl -X POST "http://<findface-ip:port>/cards/humans/" \
 -H "Accept: application/json" \
 -H "Content-Language: ru" \
 -H "Accept-Language: ru" \
 -H "Authorization: Token <token>" \
 -H "Content-Type: application/json" \
 -d '{"active":true,"name":"Angelina Jolie","comment":"Миссис Смит","watch_lists":[2]}' \

Если ответ успешен (Created: 201), то возвращается объект, который содержит следующие параметры. Пример.

Название

Схема JSON

Описание

id*

integer 🆁

ID карточки.

active

boolean

true, если объект активен.

filled*

boolean 🆁

true, если карточка заполнена.

created_date*

date-time 🆁

Дата создания.

modified_date*

date-time 🆁

Дата изменения.

name*

string

Название карточки, до 256 символов.

comment

string

Комментарий, до 2048 символов.

watch_lists*

[integer]

Массив из ID списков наблюдений.

looks_like*

  • confidence*

  • collection*

  • matched_object*

  • number

  • string┃null

  • string┃null

  • Порог схожести – от 0 до 1.

  • Группа карточек.

  • Совпадающий объект.

meta

Любой тип данных

Метаданные.

looks_like_confidence*

number 🆁

Степень схожести.

active_after

date-time┃null

Информация о времени и дате.

active_before

date-time┃null

Информация о времени и дате.

disable_schedule

массив

Сериализатор mixin, который вызывает ошибку проверки ValidationError, если представлены избыточные поля. Может использоваться во вложенных сериализаторах.

recount_schedule_on*

date-time 🆁

Информация о времени и дате.

face_objects*

integer 🆁

Счетчик связанных лиц.

body_objects*

integer 🆁

Счетчик связанных силуэтов.

face_cluster*

integer 🆁

Кластер лиц.

body_cluster*

integer 🆁

Кластер силуэтов.

links_to_relations*

  • id*

  • name*

  • created_date*

  • card*

  • relation*

  • integer 🆁

  • string

  • date-time 🆁

  • integer

  • integer

  • ID

  • Название, до 256 символов.

  • Дата создания связи.

  • Связанная карточка.

  • Связь.

Примечание

Связи не поддерживаются в FindFace Multi 2.1.3 и хранятся только в API.

Пример ответа

{
 "id": 1,
 "active": true,
 "filled": true,
 "created_date": "2023-01-17T07:43:56.363330Z",
 "modified_date": "2023-01-17T07:43:56.363354Z",
 "name": "Angelina Jolie",
 "comment": "Миссис Смит",
 "watch_lists": [
   2
 ],
 "meta": {},
 "active_after": null,
 "active_before": null,
 "disable_schedule": {},
 "recount_schedule_on": null,
 "face_objects": 0,
 "body_objects": 0,
 "face_cluster": null,
 "body_cluster": null,
 "links_to_relations": []
}

Вывести список карточек

Чтобы вывести списком карточки «Люди» с их параметрами, используйте следующий метод:

GET /cards/humans/

Запрос содержит параметры QUERY-STRING PARAMETERS. Подробнее http://<findface-ip:port>/api-docs.

Вы можете использовать этот метод для поиска лиц в системе. Укажите значение detection:<detection id>, полученное при обнаружении объекта на фотографии, в поле looks_like.

CURL пример

curl -X GET "http://<findface-ip:port>/cards/humans/?looks_like=detection%3Acf4ffvmv54rotim9jt60" \
 -H "Accept: application/json" \
 -H "Content-Language: ru" \
 -H "Accept-Language: ru" \
 -H "Authorization: Token <token>" \

Если ответ успешен (OK: 200), то возвращается объект со следующими параметрами:

Название

Схема JSON

Описание

next_page

string┃null

Следующая страница.

prev_page

string┃null

Предыдущая страница.

results

[{…}]

Содержит параметры.

Пример ответа

 {
 "next_page": null,
 "prev_page": null,
 "results": [
   {
     "id": 1,
     "active": true,
     "filled": true,
     "created_date": "2023-01-17T07:43:56.363330Z",
     "modified_date": "2023-01-17T11:56:42.496871Z",
     "name": "Angelina Jolie",
     "comment": "Миссис Смит",
     "watch_lists": [
       2
     ],
     "looks_like": {
       "confidence": 0.8078,
       "collection": "face_objects",
       "matched_object": "4493493039043981648"
     },
     "meta": {},
     "looks_like_confidence": 0.8078,
     "active_after": null,
     "active_before": null,
     "disable_schedule": {},
     "recount_schedule_on": null,
     "face_objects": 1,
     "body_objects": 0,
     "face_cluster": 11,
     "body_cluster": null,
     "links_to_relations": []
   }
 ]
}

Полезные API запросы

GET /cards/cars/
POST /cards/cars/
GET /cards/cars/{id}/
DELETE /cards/cars/{id}/
PATCH /cards/cars/{id}/
GET /cards/cars/count/
GET /cards/humans/
POST /cards/humans/
GET /cards/humans/{id}/
DELETE /cards/humans/{id}/
PATCH /cards/humans/{id}/
GET /cards/humans/count/