• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/delivery/rest/requestservice.php
  • Класс: BitrixSaleDeliveryRestRequestService
  • Вызов: RequestService::getRequestStatus
static function getRequestStatus(array $params, string $key): ?array
{
	if (!isset($params[$key]))
	{
		return null;
	}

	if (!is_array($params[$key]))
	{
		throw new RestException(
			sprintf('Unexpected status (%s) format: array expected', $key),
			self::ERROR_CODE_STATUS_UNEXPECTED_FORMAT
		);
	}

	if (empty($params[$key]['TEXT']))
	{
		throw new RestException(
			'Status text has not been specified',
			self::ERROR_CODE_STATUS_TEXT_NOT_SPECIFIED
		);
	}

	if (empty($params[$key]['SEMANTIC']))
	{
		throw new RestException(
			'Status semantic has not been specified',
			self::ERROR_CODE_STATUS_SEMANTIC_NOT_SPECIFIED
		);
	}

	if (!in_array($params[$key]['SEMANTIC'], RequestsManager::getRequestStatusSemantics(), true))
	{
		throw new RestException(
			sprintf('Unexpected request status semantic: %s', $params[$key]['SEMANTIC']),
			self::ERROR_CODE_STATUS_SEMANTIC_NOT_SPECIFIED
		);
	}

	return [
		'TEXT' => $params[$key]['TEXT'],
		'SEMANTIC' => $params[$key]['SEMANTIC'],
	];
}