Центр документации
Карта сайта

Создай визитку сам!


Самоучитель по интеграции дизайна и настройке Amiro.CMS на примере демонстрационной версии пакета Визитка »


Получение списка элементов

ОПИСАНИЕ

Метод sys.item_list позволяет получить список элементов заданного модуля с применением сортировок по одному из полей и фильтрацией данных.

Метод sys.item_get позволяет получить данные отдельного элемента.

НЕОБХОДИМОСТЬ АВТОРИЗАЦИИ

Нет.

REQUEST 

Параметр
Обязательное
Значение
Описание
service+ami_webservice 
version+1.1 
action+sys.item_list | sys.item_get 
appToken+#string

Токен доступа к API

userToken #stringТокен авторизации пользователя
modId+#stringID Модуля
lang+#stringЯзык данных

Параметры списка

Параметр
Обязательное
Значение
Описание
Значение по умолчанию
limit #integer1...200010
offset #integer 0
sortCol #stringПоле по которому происходит сортировка#options
sortDir #stringНаправление сортировки (asc/desc)#options
getFoundRows 1/0Возвращать или нет общее количество строк0
fields[] #arrayПеречень полей моделивсе поля
filter #arrayМассив полей для фильтрации в формате JSON (имя поля -> значение) 

Параметры элемента

Параметр
Обязательное
Значение
Описание
itemId +#mixedId элемента


RESPONSE (список)

Ключ
Значение
Описание
errorCode#stringКод ошибки, 'OK' в случае успешного выполнения
errorMessage#stringСообщение об ошибке, пустая строка если выполнение прошло без ошибок
list#arrayМассив данных элементов списка
listColumns#arrayМассив, описывающий столбцы списка
listData#arrayДанные списка: число элементов, сортировка и пр.

RESPONSE (элемент)

Ключ
Значение
Описание
errorCode#stringКод ошибки, 'OK' в случае успешного выполнения
errorMessage#stringСообщение об ошибке, пустая строка если выполнение прошло без ошибок
item#arrayМассив данных элемента

ФОРМАТ КЛЮЧЕЙ LIST, LISTCOLUMNS, LISTDATA

На примере списка, имеющего столбцы id, column1, columnN и M элементов.

 

'list' => array(
    0 => array(
        'id'        => 1,
        'column1'   => 'Element id=1, column 1 value',
        'columnN'   => 'Element id=1, column N value',
    ),
    ...
    M => array(
        'id'        => Z,
        'column1'   => 'Element id=Z, column 1 value',
        'columnN'   => 'Element id=Z, column N value',
    ),
),
'listColumns' => array(
    'id' => array(
        'caption' => '',
        'format'  => 'hidden'
    ),
    'column1' => array(
        'caption' => 'Заголовок столбца  списка 1',
        'format'  => 'defined by component'
    ),
    'columnN' => array(
        'caption' => 'Заголовок столбца  списка N',
        'format'  => 'defined by component'
    )
),
'listData' => array(
    'dataCount' => M, // Количество элементов всего
    'dataType' => 'array',
    'sort' => array(
        'col' => 'Поле сортировки',
        'dir' => 'Направление сортировки (asc/desc)'
    )
)

 

КАСТОМИЗАЦИЯ СПИСКА ПОЛЕЙ

Список полей доступных через REST API по умолчанию:

'id', 'date_created', 'header', 'announce', 'ext_img_small', 'ext_rate_rate', 'ext_rate_count'

Управление списком возможно через событие on_webservice_start:

Пример добавления поля price:

AMI_Event::addHandler('on_webservice_start', 'cstWebServiceStart', AMI_Event::MOD_ANY);


function cstWebServiceStart($name, array $aEvent, $handlerModId, $srcModId) {

    if($aEvent['mod_id'] == 'eshop_item' && $aEvent['action'] == 'sys.item_get') {

        $aEvent['aSafeFields'][] = 'price';

    }

    return $aEvent;

}

ВОЗМОЖНЫЕ КОДЫ ОШИБОК 

Общие коды ошибок

Коды ошибок авторизации

Установка и настройка Руководство пользователя Интеграция дизайна Разработчикам (API)
 2000 – 2021 © Amiro.CMS Все права защищены.