Skip to content

Latest commit

 

History

History
214 lines (170 loc) · 7.4 KB

crm-contact-company-items-set.md

File metadata and controls

214 lines (170 loc) · 7.4 KB

Установить набор компаний, связанных с указанным контактом crm.contact.company.items.set

Scope: crm

Кто может выполнять метод: любой пользователь с правом «изменения» контактов

Метод crm.contact.company.items.set устанавливает набор компаний, связанных с указанным контактом.

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

{% include Сноска о параметрах %}

#| || Название тип | Описание || || id* integer | Идентификатор контакта.

Идентификатор можно получить с помощью методов crm.contact.list или crm.contact.add || || items* object[] | Набор объектов, которые описывают привязанные компании к контакту. Структура отдельно взятого объекта привязки смотрите ниже || |#

Структура объекта привязки {#contact_company_binding}

{% include Сноска о параметрах %}

#| || Название тип | Описание || || COMPANY_ID* crm_entity | Идентификатор компании, который будет привязан к контакту.

Идентификатор можно получить с помощью метода crm.item.list по entityTypeId = 4 || || IS_PRIMARY boolean | Является ли привязка первичной. Возможные значения:

  • Y — да
  • N — нет

Если нет привязки с IS_PRIMARY = Y, то она выставляется у первой привязки в items.

Если передано несколько привязок с IS_PRIMARY = Y, то первичной будет считаться первая привязка с IS_PRIMARY = Y || || SORT integer | Индекс сортировки.

По умолчанию i + 10, где i — максимальный индекс сортировки у существующих и переданных привязок для текущего контакта или 0 в случае, если SORT не передан ни у одной из привязок и если у контакта отсутствуют привязки.

Если передана уже существующая привязка без параметра SORT, то значение по умолчанию не выставится (значение останется тем же) || |#

Примеры кода

{% include Сноска о примерах %}

Установить у контакта с id = 82 следующие привязанные компании:

  • компания с id = 8, сделать ее первичной и установить SORT = 100
  • компания с id = 9, установить SORT = 200
  • компания с id = 10, установить SORT = 400

{% list tabs %}

  • cURL (Webhook)

    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"id":82,"items":[{"COMPANY_ID":8,"IS_PRIMARY":"Y","SORT":100},{"COMPANY_ID":9,"SORT":200},{"COMPANY_ID":10,"SORT":400}]}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/crm.contact.company.items.set
  • cURL (OAuth)

    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"id":82,"items":[{"COMPANY_ID":8,"IS_PRIMARY":"Y","SORT":100},{"COMPANY_ID":9,"SORT":200},{"COMPANY_ID":10,"SORT":400}],"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/crm.contact.company.items.set
  • JS

    BX24.callMethod(
        'crm.contact.company.items.set',
        {
            id: 82,
            items: [
                {
                    COMPANY_ID: 8,
                    IS_PRIMARY: "Y",
                    SORT: 100,
                },
                {
                    COMPANY_ID: 9,
                    SORT: 200,
                },
                {
                    COMPANY_ID: 10,
                    SORT: 400,
                }
            ],
        },
        (result) => {
            result.error()
                ? console.error(result.error())
                : console.info(result.data())
            ;
        },
    );
  • PHP

    require_once('crest.php');
    
    $result = CRest::call(
        'crm.contact.company.items.set',
        [
            'id' => 82,
            'items' => [
                [
                    'COMPANY_ID' => 8,
                    'IS_PRIMARY' => 'Y',
                    'SORT' => 100,
                ],
                [
                    'COMPANY_ID' => 9,
                    'SORT' => 200,
                ],
                [
                    'COMPANY_ID' => 10,
                    'SORT' => 400,
                ]
            ]
        ]
    );
    
    echo '<PRE>';
    print_r($result);
    echo '</PRE>';

{% endlist %}

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

HTTP-статус: 200

{
    "result": true,
    "time": {
        "start": 1724139480.073569,
        "finish": 1724139481.016709,
        "duration": 0.9431400299072266,
        "processing": 0.4230809211730957,
        "date_start": "2024-08-20T09:38:00+02:00",
        "date_finish": "2024-08-20T09:38:01+02:00",
        "operating": 0
    }
}

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

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

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

HTTP-статус: 400

{
    "error": "",
    "error_description": "The parameter items must be array."
}

{% include notitle обработка ошибок %}

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

#| || Код | Описание | Значение || || - | The parameter ownerEntityID is invalid or not defined | Передан id меньше 0 или не передан вовсе || || - | The parameter items must be array | В items передан не массив || || ACCESS_DENIED | Access denied! | У пользователя нет прав на изменения контактов || || - | Not found | Контакт с переданным id не найден || |#

{% include системные ошибки %}

Продолжите изучение