Блог Горошко Андрея Bitrix24,SQL Изменить коннектор biconnector.connector.update

Изменить коннектор biconnector.connector.update

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

Изменить коннектор biconnector.connector.update

> Scope: biconnector
>
> Кто может выполнять метод: пользователь с доступом к разделу «Рабочее место аналитика»

Метод biconnector.connector.update обновляет существующий коннектор.

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

Название
тип
Описание
id
integer
Идентификатор коннектора, можно получить методами biconnector.connector.list и biconnector.connector.add
fields
object
Объект, содержащий обновляемые данные. Формат объекта:

{
    "field_1": "value_1",
    "field_2": "value_2",
    ...,
    "field_n": "value_n"
}

— field_n — название поля
— value_n — значение поля

Подробное описание ниже

Параметр fields {#fields}

Название
тип
Описание
title
string
Новое название коннектора
logo
string
Новый логотип коннектора. Может передаваться ссылкой на изображение или строкой формата base64, например data:image/svg+xml;base64,PHN2ZyB3...
description
string
Новое описание коннектора
urlCheck
string
Новый эндпоинт для проверки доступности коннектора, (подробное описание)
urlTableList
string
Новый эндпоинт для получения списка таблиц, (подробное описание)
urlTableDescription
string
Новый эндпоинт для получения описания конкретной таблицы, (подробное описание)
urlData
string
Новый эндпоинт для получения данных по выбранной таблице, (подробное описание)
settings
array
Новый список параметров подключения, (подробное описание)
sort
int
Новый параметр сортировки коннектора

Примеры кода

  • cURL (Webhook)
    curl -X POST \
         -H "Content-Type: application/json" \
         -H "Accept: application/json" \
         -d '{
             "id": 4,
             "fields": {
                 "title": "UPDATED REST CONNECTOR",
                 "logo": "data:image/svg+xml;base64,NEWLOGODATA",
                 "description": "Updated description",
                 "urlCheck": "http://example.com/api/new_check",
                 "urlTableList": "http://example.com/api/new_table_list",
                 "urlTableDescription": "http://example.com/api/new_table_description",
                 "urlData": "http://example.com/api/new_data",
                 "settings": [
                    {
                        "name": "Идентификатор сотрудника",
                        "type": "STRING",
                        "code": "id"
                    },
                    {
                        "name": "Пароль",
                        "type": "STRING",
                        "code": "password"
                    }
                 ],
                 "sort": 200
             }
             }' \
         https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/biconnector.connector.update
  • cURL (OAuth)
    curl -X POST \
         -H "Content-Type: application/json" \
         -H "Accept: application/json" \
         -d '{
             "id": 4,
             "fields": {
                 "title": "UPDATED REST CONNECTOR",
                 "logo": "data:image/svg+xml;base64,NEWLOGODATA",
                 "description": "Updated description",
                 "urlCheck": "http://example.com/api/new_check",
                 "urlTableList": "http://example.com/api/new_table_list",
                 "urlTableDescription": "http://example.com/api/new_table_description",
                 "urlData": "http://example.com/api/new_data",
                 "settings": [
                    {
                        "name": "Идентификатор сотрудника",
                        "type": "STRING",
                        "code": "id"
                    },
                    {
                        "name": "Пароль",
                        "type": "STRING",
                        "code": "password"
                    }
                 ],
                 "sort": 200
             },
             "auth": "**put_access_token_here**"
             }' \
         https://**put_your_bitrix24_address**/rest/biconnector.connector.update
  • JS
    try
    {
    	const response = await $b24.callMethod(
    		'biconnector.connector.update',
    		{
    			id: 4,
    			fields: {
    				"title": "UPDATED REST CONNECTOR",
    				"logo": "data:image/svg+xml;base64,NEWLOGODATA",
    				"description": "Updated description",
    				"urlCheck": "http://example.com/api/new_check",
    				"urlTableList": "http://example.com/api/new_table_list",
    				"urlTableDescription": "http://example.com/api/new_table_description",
    				"urlData": "http://example.com/api/new_data",
    				"settings": [
    					{
    						"name": "Идентификатор сотрудника",
    						"type": "STRING",
    						"code": "id"
    					},
    					{
    						"name": "Пароль",
    						"type": "STRING",
    						"code": "password"
    					}
    				],
    				"sort": 200
    			}
    		}
    	);
    	
    	const result = response.getData().result;
    	result.error()
    		? console.error(result.error())
    		: console.info(result);
    }
    catch( error )
    {
    	console.error('Error:', error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'biconnector.connector.update',
                [
                    'id' => 4,
                    'fields' => [
                        "title"               => "UPDATED REST CONNECTOR",
                        "logo"                => "data:image/svg+xml;base64,NEWLOGODATA",
                        "description"         => "Updated description",
                        "urlCheck"            => "http://example.com/api/new_check",
                        "urlTableList"        => "http://example.com/api/new_table_list",
                        "urlTableDescription" => "http://example.com/api/new_table_description",
                        "urlData"             => "http://example.com/api/new_data",
                        "settings"            => [
                            [
                                "name" => "Идентификатор сотрудника",
                                "type" => "STRING",
                                "code" => "id"
                            ],
                            [
                                "name" => "Пароль",
                                "type" => "STRING",
                                "code" => "password"
                            ]
                        ],
                        "sort"                => 200
                    ]
                ]
            );
    
        $result = $response
            ->getResponseData()
            ->getResult();
    
        if ($result->error()) {
            echo 'Error: ' . $result->error();
        } else {
            echo 'Success: ' . print_r($result->data(), true);
        }
    
    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error updating connector: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        'biconnector.connector.update',
        {
            id: 4,
            fields: {
                "title": "UPDATED REST CONNECTOR",
                "logo": "data:image/svg+xml;base64,NEWLOGODATA",
                "description": "Updated description",
                "urlCheck": "http://example.com/api/new_check",
                "urlTableList": "http://example.com/api/new_table_list",
                "urlTableDescription": "http://example.com/api/new_table_description",
                "urlData": "http://example.com/api/new_data",
                "settings": [
                    {
                        "name": "Идентификатор сотрудника",
                        "type": "STRING",
                        "code": "id"
                    },
                    {
                        "name": "Пароль",
                        "type": "STRING",
                        "code": "password"
                    }
                ],
                "sort": 200
            }
        },
        (result) => {
            result.error()
                ? console.error(result.error())
                : console.info(result.data());
        }
    );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'biconnector.connector.update',
        [
            'id' => 4,
            'fields' => [
                'title' => 'UPDATED REST CONNECTOR',
                'logo' => 'data:image/svg+xml;base64,NEWLOGODATA',
                'description' => 'Updated description',
                'urlCheck' => 'http://example.com/api/new_check',
                'urlTableList' => 'http://example.com/api/new_table_list',
                'urlTableDescription' => 'http://example.com/api/new_table_description',
                'urlData' => 'http://example.com/api/new_data',
                'settings' => [
                    [
                        'name' => 'Идентификатор сотрудника',
                        'type' => 'STRING',
                        'code' => 'id'
                    ],
                    [
                        'name' => 'Пароль',
                        'type' => 'STRING',
                        'code' => 'password'
                    ]
                ],
                'sort' => 200
            ]
        ]
    );

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

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

HTTP-статус: 200

{
    "result": true,
    "time": {
        "start": 1725365418.056843,
        "finish": 1725365419.671506,
        "duration": 1.6146628856658936,
        "processing": 1.3475170135498047,
        "date_start": "2024-09-03T14:10:18+02:00",
        "date_finish": "2024-09-03T14:10:19+02:00"
    }
}

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

Название
тип
Описание
result
boolean
Корневой элемент ответа, содержит true в случае успеха
time
time
Информация о времени выполнения запроса

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

HTTP-статус: 200

{
    "error": "VALIDATION_FIELDS_NOT_PROVIDED",
    "error_description": "Fields not provided."
}

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

КодОписаниеЗначение
VALIDATION_ID_NOT_PROVIDEDID is missing.Идентификатор не указан
VALIDATION_INVALID_ID_FORMATID has to be a positive integer.Неверный формат ID
VALIDATION_FIELDS_NOT_PROVIDEDFields not provided.Поля не переданы в запросе
VALIDATION_UNKNOWN_PARAMETERSUnknown parameters: #LIST_OF_PARAMS#Обнаружены неизвестные параметры: перечень
VALIDATION_READ_ONLY_FIELDField «#TITLE#» is read only.Поле #TITLE# доступно только для чтения и не может быть изменено
VALIDATION_IMMUTABLE_FIELDField «#TITLE#» is immutable.Поле #TITLE# неизменяемое
VALIDATION_INVALID_FIELD_TYPEField «#TITLE#» must be of type #TYPE#.Поле #TITLE# должно быть типа #TYPE#
CONNECTOR_NOT_FOUNDConnector was not found.Коннектор не найден
VALIDATION_SETTINGS_MISSING_REQUIRED_FIELDSSettings must include «type», «name» and «code» fields.В настройках должны быть указаны поля type, name и code
VALIDATION_SETTINGS_INVALID_TYPEParameter «type» is not correct.Недопустимое значение параметра type
VALIDATION_SETTINGS_NAME_TOO_LONGParameter «name» must be less than 512 characters.Значение параметра name не должно превышать 512 символов
VALIDATION_SETTINGS_CODE_TOO_LONGParameter «code» must be less than 512 characters.Значение параметра code не должно превышать 512 символов
  • [](./biconnector-connector-add)
  • [](./biconnector-connector-get)
  • [](./biconnector-connector-list)
  • [](./biconnector-connector-delete)
  • [](./biconnector-connector-fields)

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

Практические рекомендации:

  • При написании кастомных компонентов для «Изменить коннектор biconnector.connector.update» всегда разделяйте бизнес-логику и представление (шаблон).
  • Используйте отладку SQL-запросов через конструкцию $wpdb->last_query или стандартный трекер Битрикса, чтобы контролировать нагрузку.

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

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

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

Related Post

Событие перед закрытием карточки CallCard::BeforeCloseСобытие перед закрытием карточки CallCard::BeforeClose

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Событие перед закрытием карточки CallCard::BeforeClose», разберем архитектурные особенности

Событие при добавлении банковского реквизита onCrmBankDetailAddСобытие при добавлении банковского реквизита onCrmBankDetailAdd

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

Настройка выгрузки штрихкодов и кодов маркировки из 1С на сайтНастройка выгрузки штрихкодов и кодов маркировки из 1С на сайт

Бесшовная интеграция сайта на 1С-Битрикс с внешними системами — это ключевое условие автоматизации продаж и масштабирования бизнеса. Услуга «Настройка выгрузки штрихкодов и кодов маркировки из 1С на сайт» обеспечивает хранение