• Модуль: faceid
  • Путь к файлу: ~/bitrix/modules/faceid/lib/faceid.php
  • Класс: BitrixFaceIdFaceId
  • Вызов: FaceId::identifyInternal
static function identifyInternal($binaryImageContent, $operation, $service)
{
	$handler = new Http;

	$params = array(
		'image' => base64_encode($binaryImageContent)
	);

	if ($service !== null)
	{
		$params['service'] = $service;
	}

	$response = $handler->query($operation, $params);

	$result = array('found' => false, 'msg' => '');
	if ($response['success'])
	{
		$result = $response['result'];
	}

	// update balance
	if (isset($response['status']['balance']))
	{
		$currentBalance = (int) $response['status']['balance'];
		BitrixMainConfigOption::set('faceid', 'balance', $currentBalance);
	}

	// continue with faces
	if ($result['found'])
	{
		$newItems = array();

		foreach ($result['items'] as $item)
		{
			$newItem = array();

			// face id
			$meta = explode(':', $item['meta']);
			$newItem['face_id'] = intval($meta[1]);

			// confidence
			$newItem['confidence'] = $item['confidence'];

			$newItem['x'] = $item['x'];
			$newItem['y'] = $item['y'];
			$newItem['width'] = $item['width'];
			$newItem['height'] = $item['height'];

			$newItems[] = $newItem;
		}

		$response['result']['items'] = $newItems;
	}

	return $response;
}