метод REST scope: crm

crm.item.update

Обновить элемент

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

Описание

Метод обновляет элемент определенного типа объекта CRM, задав ему новые значения из параметра fields.

При обновлении элемента производится стандартный ряд проверок, модификаций и автоматических действий:
- проверяются права доступа
- проверяется заполненность обязательных полей, если изменена стадия элемента в рамках того же направления
- проверяется заполненность зависимых от стадий обязательных полей, если изменена стадия элемента в рамках того же направления
- проверяется корректность заполнения полей
- полям присваиваются значения по умолчанию
- если перед сохранением оказывается, что никакие значения полей не были изменены, то сохранение не производится
- после сохранения запускаются роботы

Параметры

entityTypeId integer обязательный

Идентификатор системного или пользовательского типа, чей элемент мы хотим изменить.

Числовые значения для системных типов (Лид — 1, Сделка — 2, Контакт — 3, Компания — 4, Счет — 31 и др.) приведены в справочнике типов объектов CRM. Идентификатор смарт-процесса можно узнать методом crm.type.list

id integer необязательный

Идентификатор элемента, который мы хотим изменить.

Можно получить методом crm.item.list или crm.item.add

fields object обязательный

Объект формата

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

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

У каждого типа объекта CRM свой набор полей. Это значит, что набор полей для изменения Лида не обязан подходить набору полей для изменения Контакта или Смарт-процесса.

Список доступных полей относительно каждого типа объекта описан ниже.

Некорректное поле в fields будет проигнорировано.

В fields нужно передавать только те поля, которые нужно изменить

useOriginalUfNames boolean необязательный

Параметр для управления форматом имен пользовательских полей в запросе и ответе.
Возможные значения:

  • Y — оригинальные имена пользовательских полей, например UF_CRM_2_1639669411830
  • N — имена пользовательских полей в camelCase, например ufCrm2_1639669411830

По умолчанию — N

Примеры запроса

curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"entityTypeId":2,"id":351,"fields":{"title":"REST Сделка #1","stageId":"C9:UC_NYL06U","assignedById":6,"observers":[1,2,3],"opened":"N","typeId":"SERVICE","opportunity":10000,"currencyId":"USD","additionalInfo":"Изменение сделки через REST","isManualOpportunity":"N","utmSource":"google","ufCrm_1721244707107":200.05,"parentId1220":2}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.item.update

Ответ

HTTP-статус: 200

{
    "result": {
        "item": {
            "id": 351,
            "createdTime": "2024-07-23T19:10:26+02:00",
            "dateCreateShort": null,
            "updatedTime": "2024-07-23T18:19:21+02:00",
            "dateModifyShort": null,
            "createdBy": 1,
            "updatedBy": 1,
            "assignedById": 6,
            "opened": "N",
            "leadId": null,
            "companyId": 0,
            "contactId": 0,
            "quoteId": null,
            "title": "REST Сделка #1",
            "productId": null,
            "categoryId": 9,
            "stageId": "C9:UC_NYL06U",
            "stageSemanticId": "P",
            "isNew": "N",
            "isRecurring": "N",
            "isReturnCustomer": "N",
            "isRepeatedApproach": "N",
            "closed": "N",
            "typeId": "SERVICE",
            "opportunity": 10000,
            "isManualOpportunity": "N",
            "taxValue": 0,
            "currencyId": "USD",
            "probability": null,
            "comments": "",
            "begindate": "2024-07-23T02:00:00+02:00",
            "begindateShort": null,
            "closedate": "2024-07-31T02:00:00+02:00",
            "closedateShort": null,
            "eventDate": null,
            "eventDateShort": null,
            "eventId": null,
            "eventDescription": null,
            "locationId": null,
            "webformId": 0,
            "sourceId": "",
            "sourceDescription": "",
            "originatorId": null,
            "originId": null,
            "additionalInfo": "Изменение сделки через REST",
            "searchContent": "351 Сделка #351 10200.00 Российский рубль Не Придумал Придумал Продажа Название2134234233 23.07.2024 31.07.2024",
            "orderStage": null,
            "movedBy": 1,
            "movedTime": "2024-07-23T18:19:21+02:00",
            "lastActivityBy": 1,
            "lastActivityTime": "2024-07-23T18:10:26+02:00",
            "isWork": null,
            "isWon": null,
            "isLose": null,
            "receivedAmount": null,
            "lostAmount": null,
            "hasProducts": null,
            "ufCrm_1721244707107": 200.05,
            "parentId1220": 2,
            "utmSource": "google",
            "utmMedium": null,
            "utmCampaign": null,
            "utmContent": null,
            "utmTerm": null,
            "observers": [
                1,
                2,
                3
            ],
            "contactIds": [],
            "entityTypeId": 2
        }
    },
    "time": {
        "start": 1721751560.824475,
        "finish": 1721751564.481578,
        "duration": 3.6571030616760254,
        "processing": 3.1893951892852783,
        "date_start": "2024-07-23T18:19:20+02:00",
        "date_finish": "2024-07-23T18:19:24+02:00",
        "operating": 3.1893470287323
    }
}

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

result object

Корневой элемент ответа, содержит единственный ключ item

item item

Информация об обновленном элементе, описание полей

time time

Информация о времени выполнения запроса

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

HTTP-статус: 400

{
    "error": "NOT_FOUND",
    "error_description": "Смарт-процесс не найден"
}
Код Описание Значение
403 allowed_only_intranet_user Действие разрешено только интранет-пользователям
400 NOT_FOUND Смарт-процесс не найден
400 ACCESS_DENIED Доступ запрещен
400 CRM_FIELD_ERROR_VALUE_NOT_VALID Неверное значение поля "field"
400 100 Expected iterable value for multiple field, but got type instead
400 - Недостаточно прав на смену стадии
400 UPDATE_DYNAMIC_ITEM_RESTRICTED Вы не можете изменить элемент из-за ограничений вашего тарифа

Что будем искать? Например,Продвижение

Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с политикой в отношении персональных данных.