Блог Горошко Андрея Bitrix24 Установить диапазон сетевых адресов timeman.networkrange.set

Установить диапазон сетевых адресов timeman.networkrange.set

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Установить диапазон сетевых адресов timeman.networkrange.set», проанализируем лучшие практики и покажем, как правильно использовать timeman.networkrange.set в реальных задачах.

Установить диапазон сетевых адресов timeman.networkrange.set

> Scope: timeman
>
> Кто может выполнять метод: администратор

Метод timeman.networkrange.set устанавливает диапазоны сетевых адресов для офисной сети.

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

Название
тип
Описание
RANGES*
string
Диапазоны сетевых адресов в виде списка объектов. Каждый объект содержит описание диапазона сетевых адресов.

ranges: [
    {
        "ip_range": "10.0.0.0-10.255.255.255",
        "name": "Офисная сеть 10.x.x.x"
    },
    {
        "ip_range": "10.10.0.1",
        "name": "Адрес 10.10.0.1"
    },
    ...
]

Диапазон может содержать:
— блок адресов, например, 10.0.0.0-10.255.255.255
— один адрес, например, 10.10.0.1

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"ranges":[{"ip_range":"10.0.0.0-10.255.255.255","name":"Офисная сеть 10.x.x.x"},{"ip_range":"172.16.0.0-172.31.255.255","name":"Офисная сеть 172.x.x.x"},{"ip_range":"192.168.0.0-192.168.255.255","name":"Офисная сеть 192.168.x.x"}]}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/timeman.networkrange.set
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"ranges":[{"ip_range":"10.0.0.0-10.255.255.255","name":"Офисная сеть 10.x.x.x"},{"ip_range":"172.16.0.0-172.31.255.255","name":"Офисная сеть 172.x.x.x"},{"ip_range":"192.168.0.0-192.168.255.255","name":"Офисная сеть 192.168.x.x"}],"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/timeman.networkrange.set
  • JS
    try
    {
    	const response = await $b24.callMethod(
    		'timeman.networkrange.set',
    		{
    			ranges: [
    				{
    					"ip_range": "10.0.0.0-10.255.255.255",
    					"name": "Офисная сеть 10.x.x.x"
    				},
    				{
    					"ip_range": "172.16.0.0-172.31.255.255",
    					"name": "Офисная сеть 172.x.x.x"
    				},
    				{
    					"ip_range": "192.168.0.0-192.168.255.255",
    					"name": "Офисная сеть 192.168.x.x"
    				}
    			]
    		}
    	);
    	
    	const result = response.getData().result;
    	console.log(result);
    }
    catch( error )
    {
    	console.error(error.ex);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'timeman.networkrange.set',
                [
                    'ranges' => [
                        [
                            "ip_range" => "10.0.0.0-10.255.255.255",
                            "name"     => "Офисная сеть 10.x.x.x"
                        ],
                        [
                            "ip_range" => "172.16.0.0-172.31.255.255",
                            "name"     => "Офисная сеть 172.x.x.x"
                        ],
                        [
                            "ip_range" => "192.168.0.0-192.168.255.255",
                            "name"     => "Офисная сеть 192.168.x.x"
                        ]
                    ]
                ]
            );
    
        $result = $response
            ->getResponseData()
            ->getResult();
    
        echo 'Success: ' . print_r($result, true);
    
    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error setting network ranges: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        'timeman.networkrange.set',
        {
            ranges: [
                {
                    "ip_range": "10.0.0.0-10.255.255.255",
                    "name": "Офисная сеть 10.x.x.x"
                },
                {
                    "ip_range": "172.16.0.0-172.31.255.255",
                    "name": "Офисная сеть 172.x.x.x"
                },
                {
                    "ip_range": "192.168.0.0-192.168.255.255",
                    "name": "Офисная сеть 192.168.x.x"
                }
            ]
        },
        function(result){
            if(result.error())
            {
                console.error(result.error().ex);
            }
            else
            {
                console.log(result.data());
            }
        }
    );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'timeman.networkrange.set',
        [
            'ranges' => [
                [
                    'ip_range' => '10.0.0.0-10.255.255.255',
                    'name' => 'Офисная сеть 10.x.x.x'
                ],
                [
                    'ip_range' => '172.16.0.0-172.31.255.255',
                    'name' => 'Офисная сеть 172.x.x.x'
                ],
                [
                    'ip_range' => '192.168.0.0-192.168.255.255',
                    'name' => 'Офисная сеть 192.168.x.x'
                ]
            ]
        ]
    );

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

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

HTTP-статус: 200

{
    "result": {
        "result": true
    },
    "time": {
        "start": 1742999863.0244141,
        "finish": 1742999863.057137,
        "duration": 0.03272294998168945,
        "processing": 0.0023658275604248047,
        "date_start": "2025-03-26T17:37:43+03:00",
        "date_finish": "2025-03-26T17:37:43+03:00",
        "operating_reset_at": 1743000463,
        "operating": 0
    }
}

При возникновении ошибки разбора диапазонов

HTTP-статус: 200

{
    "result": {
        "result": false,
        "error_ranges": [
            {
                "ip_range": "a172.16.0.0-172.31.255.255",
                "name": "Офисная сеть 172.x.x.x"
            }
        ]
    },
    "time": {
        "start": 1743058773.526674,
        "finish": 1743058773.5625639,
        "duration": 0.035889863967895508,
        "processing": 0.0005609989166259766,
        "date_start": "2025-03-27T09:59:33+03:00",
        "date_finish": "2025-03-27T09:59:33+03:00",
        "operating_reset_at": 1743059373,
        "operating": 0
    }
}

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

Название
тип
Описание
result
boolean
Корневой элемент ответа. Может иметь значения:
— true — все диапазоны успешно установлены
— false — есть диапазоны с ошибками
error_range
array
Массив диапазонов, в которых были найдены ошибки
time
time
Информация о времени выполнения запроса

Объект диапазона {#ip_range}

Название
тип
Описание
ip_range
string
Диапазон сетевых адресов
name
string
Название диапазона

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

HTTP-статус: 400

{
    "error": "INVALID_FORMAT",
    "error_description": "A wrong format for the RANGES field is passed"
}

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

КодОписаниеЗначение
ACCESS_ERRORYou don’t have access to use this methodМетод доступен только администратору
INVALID_FORMATA wrong format for the RANGES field is passedПередан некорректный формат в параметре RANGES
  • [](./index)
  • [](./timeman-networkrange-get)
  • [](./timeman-networkrange-check)

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

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

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

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

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

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

Related Post

Внедрение Битрикс24 для компании по установке окон и дверейВнедрение Битрикс24 для компании по установке окон и дверей

Профессиональная настройка и внедрение Битрикс24 CRM позволяет систематизировать работу отдела продаж, исключить потерю лидов и автоматизировать ключевые бизнес-процессы компании. Услуга «Внедрение Битрикс24 для компании по установке окон и дверей» обеспечивает

Внедрение Битрикс24 для агентства коммерческой недвижимостиВнедрение Битрикс24 для агентства коммерческой недвижимости

Профессиональная настройка и внедрение Битрикс24 CRM позволяет систематизировать работу отдела продаж, исключить потерю лидов и автоматизировать ключевые бизнес-процессы компании. Услуга «Внедрение Битрикс24 для агентства коммерческой недвижимости» обеспечивает учет арендных площадей,

При обновлении пользовательского поля onCrmQuoteUserFieldUpdateПри обновлении пользовательского поля onCrmQuoteUserFieldUpdate

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «При обновлении пользовательского поля onCrmQuoteUserFieldUpdate». Вы узнаете экспертные методики работы с обновлении пользовательского