Блог Горошко Андрея Bitrix24,PHP Получить список цифровых рабочих мест crm.automatedsolution.list

Получить список цифровых рабочих мест crm.automatedsolution.list

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Получить список цифровых рабочих мест crm.automatedsolution.list», проанализируем лучшие практики и покажем, как правильно использовать crm.automatedsolution.list в реальных задачах.

Получить список цифровых рабочих мест crm.automatedsolution.list

> Scope: crm
>
> Кто может выполнять метод: пользователи с административным доступом к разделу CRM

Метод вернет массив настроек цифровых рабочих мест. Каждый элемент массива — это структура, аналогичная ответу на запрос crm.automatedsolution.get.

Параметры метода

Название
тип
Описание
order
object
Список для сортировки в формате {"field_1": "value_1", ... "field_N": "value_N"}, где ключ — поле, а значение — ASC или DESC. Доступные для сортировки поля:
— id
— title
filter
object
Объект для фильтрации выбранных цифровых рабочих мест в формате {"field_1": "value_1", ... "field_N": "value_N"}. Доступные для фильтрации поля:
— id
— title

Фильтр может иметь неограниченную вложенность и количество условий. По умолчанию все условия соединяются друг с другом как AND (логическое И). Если нужно использовать OR (Логическое ИЛИ), то можно передать специальный ключ logic со значением OR.

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

— >= — больше либо равно
— > — больше
— <= — меньше либо равно
— < — меньше
— % — LIKE, поиск по подстроке. Символ % в значении фильтра передавать не нужно. Поиск ищет подстроку в любой позиции строки
— =% — LIKE, поиск по подстроке. Символ % нужно передавать в значении. Примеры:
— "мол%" — ищем значения, начинающиеся с «мол»
— "%мол" — ищем значения, заканчивающиеся на «мол»
— "%мол%" — ищем значения, где «мол» может быть в любой позиции

— %= — LIKE (см. описание выше)

— !% — NOT LIKE, поиск по подстроке. Символ % в значении фильтра передавать не нужно. Поиск идет с обоих сторон.

— !=% — NOT LIKE, поиск по подстроке. Символ % нужно передавать в значении. Примеры:
— "мол%" — ищем значения, не начинающиеся с «мол»
— "%мол" — ищем значения, не заканчивающиеся на «мол»
— "%мол%" — ищем значения, где подстроки «мол» нет в любой позиции

— !%= — NOT LIKE (см. описание выше)

— = — равно, точное совпадение (используется по умолчанию)
— != — не равно

start
integer
Параметр используется для управления постраничной навигацией.

Размер страницы результатов всегда статичный: 50 записей.

Чтобы выбрать вторую страницу результатов необходимо передавать значение 50. Чтобы выбрать третью страницу результатов значение — 100 и так далее.

Формула расчета значения параметра start:

start = (N-1) * 50, где N — номер нужной страницы

Примеры кода

1. Получить все цифровые рабочие места, отсортированные по убыванию id

  • cURL (Webhook)
        curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"order":{"id":"DESC"}}' \
        https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.automatedsolution.list
  • cURL (OAuth)
        curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"order":{"id":"DESC"},"auth":"**put_access_token_here**"}' \
        https://**put_your_bitrix24_address**/rest/crm.automatedsolution.list
  • JS
        BX24.callMethod(
            "crm.automatedsolution.list",
            {
                "order": {
                    "id": "DESC",
                }
            },
            function(result) {
                if (result.error()) {
                    console.error(result.error());
                } else {
                    console.info(result.data());
                }
            }
        );
  • PHP
        require_once('crest.php');

        $result = CRest::call(
            'crm.automatedsolution.list',
            [
                'order' => [
                    'id' => 'DESC'
                ]
            ]
        );

        echo '<PRE>';
        print_r($result);
        echo '</PRE>';

2. Получить все цифровые рабочие места, название которых начинается с «HR»

  • cURL (Webhook)
        curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"filter":{"%=title":"HR%"}}' \
        https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.automatedsolution.list
  • cURL (OAuth)
        curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"filter":{"%=title":"HR%"},"auth":"**put_access_token_here**"}' \
        https://**put_your_bitrix24_address**/rest/crm.automatedsolution.list
  • JS
        BX24.callMethod(
            "crm.automatedsolution.list",
            {
                "filter": {
                    "%=title": "HR%"
                }
            },
            function(result) {
                if (result.error()) {
                    console.error(result.error());
                } else {
                    console.info(result.data());
                }
            }
        );
  • PHP
        require_once('crest.php');

        $result = CRest::call(
            'crm.automatedsolution.list',
            [
                'filter' => [
                    '%=title' => 'HR%'
                ]
            ]
        );

        echo '<PRE>';
        print_r($result);
        echo '</PRE>';

3. Получить все цифровые места, у которых название начинается с «HR» или «Customer» и id больше 100 с сортировкой по названию

  • cURL (Webhook)
        curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"order":{"title":"ASC"},"filter":{">id":100,"0":{"logic":"OR","0":{"%=title":"HR%"},"1":{"%=title":"Customer%"}}}}' \
        https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.automatedsolution.list
  • cURL (OAuth)
        curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"order":{"title":"ASC"},"filter":{">id":100,"0":{"logic":"OR","0":{"%=title":"HR%"},"1":{"%=title":"Customer%"}}},"auth":"**put_access_token_here**"}' \
        https://**put_your_bitrix24_address**/rest/crm.automatedsolution.list
  • JS
        BX24.callMethod(
            "crm.automatedsolution.list",
            {
                "order": {
                    "title": "ASC"
                },
                "filter": {
                    ">id": 100,
                    "0": {
                        "logic": "OR",
                        "0": {
                            "%=title": "HR%"
                        },
                        "1": {
                            "%=title": "Customer%"
                        }
                    }
                }
            },
            function(result) {
                if (result.error()) {
                    console.error(result.error());
                } else {
                    console.info(result.data());
                }
            }
        );
  • PHP
        require_once('crest.php');

        $result = CRest::call(
            'crm.automatedsolution.list',
            [
                'order' => [
                    'title' => 'ASC'
                ],
                'filter' => [
                    '>id' => 100,
                    '0' => [
                        'logic' => 'OR',
                        '0' => [
                            '%=title' => 'HR%'
                        ],
                        '1' => [
                            '%=title' => 'Customer%'
                        ]
                    ]
                ]
            ]
        );

        echo '<PRE>';
        print_r($result);
        echo '</PRE>';

Обработка ответа

HTTP-статус: 200

{
	"result": {
		"automatedSolutions": [
			{
				"id": 238,
				"title": "HR",
				"typeIds": [
					129
				]
			},
			{
				"id": 240,
				"title": "Customer Success",
				"typeIds": []
			},
			{
				"id": 267,
				"title": "R&D",
				"typeIds": [
					14,
					158
				]
			}
		]
	},
	"total": 3,
	"time": {
		"start": 1715849396.642359,
		"finish": 1715849396.954623,
		"duration": 0.31226396560668945,
		"processing": 0.0068209171295166016,
		"date_start": "2024-05-16T11:49:56+03:00",
		"date_finish": "2024-05-16T11:49:56+03:00",
		"operating_reset_at": 1715849996,
		"operating": 0
	}
}

Возвращаемые данные

Название
тип
Описание
result
object
Корневой элемент ответа
automatedSolutions
object
Массив объектов с информацией о выбранных оплатах
total
integer
Общее количество найденных записей
time
time
Информация о времени выполнения запроса

Обработка ошибок

HTTP-статус: 400

{
    "error":"ACCESS_DENIED",
    "error_description":"Недостаточно прав"
}

Возможные коды ошибок

КодОписание
ACCESS_DENIEDНедостаточно прав
INVALID_ARG_VALUEНеверное значение входных аргументов. Подробности можно узнать в тексте ошибки
  • [](./index)
  • [](./crm-automated-solution-add)
  • [](./crm-automated-solution-update)
  • [](./crm-automated-solution-get)
  • [](./crm-automated-solution-delete)
  • [](./crm-automated-solution-fields)

💡 Экспертное мнение и рекомендации

Советы эксперта по интеграции:

  • Всегда используйте кэширование при частых запросах к crm.automatedsolution.list, чтобы разгрузить базу данных.
  • Соблюдайте стандарты PSR при написании обработчиков для «Получить список цифровых рабочих мест crm.automatedsolution.list».
  • Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Создать позицию с товаром из каталога в количестве 4 единиц с произвольной ценойСоздать позицию с товаром из каталога в количестве 4 единиц с произвольной ценой

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Создать позицию с товаром из каталога в количестве

Изменить параметры группы соцсети sonet_group.updateИзменить параметры группы соцсети sonet_group.update

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Изменить параметры группы соцсети sonet_group.update». Мы подготовили подробный разбор принципов работы и развернутые примеры интеграции.

Разработка B2B-портала для поставщиков канцелярских товаров и офисной бумагиРазработка B2B-портала для поставщиков канцелярских товаров и офисной бумаги

Разработка и внедрение профессионального B2B-портала и дилерского кабинета на 1С-Битрикс позволяет кардинально сократить издержки отдела оптовых продаж, перевести дилеров на самообслуживание 24/7 и исключить ошибки ручного ввода заказов. Услуга «Разработка