- Модуль: 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'],
];
}