...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/controller/calllist.php
- Класс: Bitrix\Crm\Controller\CallList
- Вызов: CallList::addCallList
static function addCallList(array $query, int $nav, \CRestServer $server): int { $query = array_change_key_case($query, CASE_UPPER); self::checkRequiredParams(['ENTITY_TYPE', 'ENTITIES'], $query, $server); if(!is_array($query['ENTITIES'])) { throw new RestException( 'Entities is not array', self::ENTITIES_ERROR, $server::STATUS_WRONG_REQUEST ); } $entityTypeId = \CCrmOwnerType::resolveId($query['ENTITY_TYPE']); if (!in_array($entityTypeId, [\CCrmOwnerType::Contact, \CCrmOwnerType::Company], true)) { throw new RestException( 'Incorrect entity type', self::ENTITY_TYPE_ERROR, $server::STATUS_WRONG_REQUEST ); } if (!self::isEntitiesExist($query['ENTITY_TYPE'], $query['ENTITIES'], $server)) { throw new RestException('Incorrect entities id', self::ENTITY_ERROR, $server::STATUS_WRONG_REQUEST); } $query['ENTITIES'] = self::filterAllowedItems($query['ENTITIES'], $entityTypeId); if (empty($query['ENTITIES'])) { throw new RestException( 'You don\'t have access to these entities', self::ACCESS_ERROR, $server::STATUS_FORBIDDEN ); } $callList = \Bitrix\Crm\CallList\CallList::createWithEntities($query['ENTITY_TYPE'], $query['ENTITIES']); if (isset($query['WEBFORM_ID'])) { if (!self::isWebFormExist($query['WEBFORM_ID'])) { throw new RestException('Incorrect webform id', self::WEBFORM_ERROR, $server::STATUS_WRONG_REQUEST); } $callList->setWebformId($query['WEBFORM_ID']); } $callList->persist()->createActivity(); return $callList->getId(); }