Skip to content

Latest commit

 

History

History
362 lines (318 loc) · 12.3 KB

sale-property-list.md

File metadata and controls

362 lines (318 loc) · 12.3 KB

Получить список свойств заказа sale.property.list

Scope: sale

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

Метод получает список свойств заказа.

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

#| || Название тип | Описание || || select array | Массив, содержащий список полей, которые необходимо выбрать (смотрите поля объекта sale_order_property).

Если не передан или передан пустой массив, то будут выбраны все доступные поля свойств || || filter object | Объект для фильтрации выбранных привязок оплат к отгрузкам в формате {"field_1": "value_1", ... "field_N": "value_N"}.

Возможные значения для field соответствуют полям объекта sale_order_property.

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

  • = — равно (работает и с массивами)
  • % — LIKE, поиск по подстроке. Символ % в значении фильтра передавать не нужно. Поиск ищет подстроку в любой позиции строки
  • > — больше
  • < — меньше
  • != — не равно
  • !% — NOT LIKE, поиск по подстроке. Символ % в значении фильтра передавать не нужно. Поиск идет с обоих сторон.
  • >= — больше либо равно
  • <= — меньше либо равно
  • =% — LIKE, поиск по подстроке. Символ % нужно передавать в значении. Примеры:
    • "мол%" — ищем значения начинающиеся с «мол»
    • "%мол" — ищем значения заканчивающиеся на «мол»
    • "%мол%" — ищем значения, где «мол» может быть в любой позиции
  • %= — LIKE (смотрите описание выше)
  • !=% — NOT LIKE, поиск по подстроке. Символ % нужно передавать в значении. Примеры:
    • "мол%" — ищем значения не начинающиеся с «мол»
    • "%мол" — ищем значения не заканчивающиеся на «мол»
    • "%мол%" — ищем значения, где подстроки «мол» нет в любой позиции
  • !%= — NOT LIKE (смотрите описание выше) || || order object | Объект для сортировки выбранных элементов табличной части отгрузки в формате {"field_1": "order_1", ... "field_N": "order_N"}.

Возможные значения для field соответствуют полям объекта sale_order_property.

Возможные значения для order:

  • asc — в порядке возрастания
  • desc — в порядке убывания || || start integer | Параметр используется для управления постраничной навигацией.

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

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

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

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

Примеры кода

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

{% list tabs %}

  • cURL (Webhook)

    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"select":["id","active","code","defaultValue","description","inputFieldLocation","isAddress","isAddressFrom","isAddressTo","isEmail","isFiltered","isLocation","isLocation4tax","isPayer","isPhone","isProfileName","isZip","multiple","name","personTypeId","propsGroupId","required","settings","sort","type","userProps","util","xmlId"],"filter":{"@type":"STRING","%code":"EMAIL"},"order":{"id":"desc"}}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/sale.property.list
  • cURL (OAuth)

    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"select":["id","active","code","defaultValue","description","inputFieldLocation","isAddress","isAddressFrom","isAddressTo","isEmail","isFiltered","isLocation","isLocation4tax","isPayer","isPhone","isProfileName","isZip","multiple","name","personTypeId","propsGroupId","required","settings","sort","type","userProps","util","xmlId"],"filter":{"@type":"STRING","%code":"EMAIL"},"order":{"id":"desc"},"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/sale.property.list
  • JS

    BX24.callMethod(
        "sale.property.list", {
            "select": [
                "id",
                "active",
                "code",
                "defaultValue",
                "description",
                "inputFieldLocation",
                "isAddress",
                "isAddressFrom",
                "isAddressTo",
                "isEmail",
                "isFiltered",
                "isLocation",
                "isLocation4tax",
                "isPayer",
                "isPhone",
                "isProfileName",
                "isZip",
                "multiple",
                "name",
                "personTypeId",
                "propsGroupId",
                "required",
                "settings",
                "sort",
                "type",
                "userProps",
                "util",
                "xmlId",
            ],
            "filter": {
                "@type": "STRING",
                "%code": "EMAIL",
            },
            "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(
        'sale.property.list',
        [
            'select' => [
                "id",
                "active",
                "code",
                "defaultValue",
                "description",
                "inputFieldLocation",
                "isAddress",
                "isAddressFrom",
                "isAddressTo",
                "isEmail",
                "isFiltered",
                "isLocation",
                "isLocation4tax",
                "isPayer",
                "isPhone",
                "isProfileName",
                "isZip",
                "multiple",
                "name",
                "personTypeId",
                "propsGroupId",
                "required",
                "settings",
                "sort",
                "type",
                "userProps",
                "util",
                "xmlId",
            ],
            'filter' => [
                "@type" => "STRING",
                "%code" => "EMAIL",
            ],
            'order' => [
                "id" => "desc",
            ]
        ]
    );
    
    echo '<PRE>';
    print_r($result);
    echo '</PRE>';

{% endlist %}

Ответ в случае успеха

HTTP-статус: 200

{
   "result":{
      "properties":[
         {
            "active":"Y",
            "code":"EMAIL",
            "defaultValue":"",
            "description":"",
            "id":47,
            "inputFieldLocation":"0",
            "isAddress":"N",
            "isAddressFrom":"N",
            "isAddressTo":"N",
            "isEmail":"Y",
            "isFiltered":"Y",
            "isLocation":"N",
            "isPayer":"N",
            "isPhone":"N",
            "isProfileName":"N",
            "isZip":"N",
            "multiple":"N",
            "name":"E-Mail",
            "personTypeId":3,
            "propsGroupId":5,
            "required":"Y",
            "settings":[
               
            ],
            "sort":300,
            "type":"STRING",
            "userProps":"Y",
            "util":"N",
            "xmlId":""
         },
         {
            "active":"Y",
            "code":"EMAIL",
            "defaultValue":"",
            "description":"",
            "id":33,
            "inputFieldLocation":"0",
            "isAddress":"N",
            "isAddressFrom":"N",
            "isAddressTo":"N",
            "isEmail":"Y",
            "isFiltered":"N",
            "isLocation":"N",
            "isPayer":"N",
            "isPhone":"N",
            "isProfileName":"N",
            "isZip":"N",
            "multiple":"N",
            "name":"E-Mail",
            "personTypeId":4,
            "propsGroupId":8,
            "required":"Y",
            "settings":{
               "size":40
            },
            "sort":250,
            "type":"STRING",
            "userProps":"Y",
            "util":"N",
            "xmlId":""
         },
         {
            "active":"Y",
            "code":"EMAIL",
            "defaultValue":"",
            "description":"",
            "id":21,
            "inputFieldLocation":"0",
            "isAddress":"N",
            "isAddressFrom":"N",
            "isAddressTo":"N",
            "isEmail":"Y",
            "isFiltered":"Y",
            "isLocation":"N",
            "isPayer":"N",
            "isPhone":"N",
            "isProfileName":"N",
            "isZip":"N",
            "multiple":"N",
            "name":"E-Mail",
            "personTypeId":3,
            "propsGroupId":5,
            "required":"Y",
            "settings":{
               "size":40
            },
            "sort":110,
            "type":"STRING",
            "userProps":"Y",
            "util":"N",
            "xmlId":""
         }
      ]
   },
   "total":3,
   "time":{
      "start":1712818881.719586,
      "finish":1712818881.960037,
      "duration":0.24045109748840332,
      "processing":0.06902408599853516,
      "date_start":"2024-04-11T10:01:21+03:00",
      "date_finish":"2024-04-11T10:01:21+03:00"
   }
}

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

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

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

HTTP-статус: 400

{
   "error":0,
   "error_description":"error"
}

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

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

#| || Код | Описание || || 200040300010 | Недостаточно прав для чтения свойств заказа || || 0 | Другие ошибки (например, фатальные ошибки) || |#

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

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