rest_api
Различия
Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| rest_api [2021/09/22 09:07] – создано apeks | rest_api [2022/10/11 09:35] (текущий) – удалено apeks | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | В системе пользователям предоставляется возможность не только пользоваться имеющимися возможностями, | ||
| - | |||
| - | И конечно содержимое его должно быть именно скриптом. Ниже следует описание работы с ними. | ||
| - | |||
| - | |||
| - | **Пользовательский скрипт** | ||
| - | Пользовательский скрипт должен быть реализован в виде процедуры с именем “userfunc”, | ||
| - | function userfunc(reqData) | ||
| - | { | ||
| - | alert(JSON.stringify(reqData)); | ||
| - | } | ||
| - | |||
| - | Данный пользовательский скрипт выведет в браузере сообщение, | ||
| - | |||
| - | {" | ||
| - | |||
| - | Объект “reqData” предназначен для предоставления пользовательскому скрипту информации о объекте или объектах, | ||
| - | |||
| - | Все необходимые проверки на соответствие/ | ||
| - | |||
| - | ** | ||
| - | Запрос серверу** | ||
| - | Запрос серверу можно осуществить посредством функции “apiDoRequest”. Функция имеет один входной параметр “reqData”, | ||
| - | Запрос на чтение данных объекта системы: | ||
| - | Для того, чтобы запросить у системы поля одного из объектов, | ||
| - | {" | ||
| - | Массив “reqArr” может содержать неограниченное количество объектов системы разного типа, для которых необходимо осуществить выдачу информации. Пример запроса для нескольких объектов системы указан ниже. | ||
| - | {" | ||
| - | Поле “error” в отправляемых данных не играет роли и требует обработки лишь при получении ответа от сервера (сервер отвечает в этом же формате, | ||
| - | {" | ||
| - | Процедура пользовательского скрипта, | ||
| - | function userfunc(reqData) | ||
| - | { | ||
| - | reqData.event = " | ||
| - | alert(JSON.stringify(apiDoRequest(reqData))); | ||
| - | } | ||
| - | |||
| - | Запрос на чтение данных объекта системы может быть выполнен для следующих типов объектов системы: | ||
| - | |||
| - | · Номенклатурная позиция – значение поля “type”: | ||
| - | · Коллекция – значение поля “type”: | ||
| - | · Файл – значение поля “type”: | ||
| - | · Параметр – значение поля “type”: | ||
| - | · Компонент – значение поля “type”: | ||
| - | |||
| - | Индикация ошибок | ||
| - | На случай, | ||
| - | Если запрос не был выполнен полностью (например, | ||
| - | {" | ||
| - | Значение поля “event” в сообщении такого рода сохраняется от запроса, | ||
| - | Если же запрос производился для нескольких объектов системы и для ряда из них он прошёл успешно, | ||
| - | {" | ||
| - | |||
| - | Объекты системы | ||
| - | В системе присутствуют следующие типы объектов: | ||
| - | · Номенклатурная позиция; | ||
| - | · Коллекция; | ||
| - | · Файл; | ||
| - | · Параметр; | ||
| - | · Компонент. | ||
| - | Помимо объектов системы АПЕКС существует система зависимостей, | ||
| - | · Компонент*; | ||
| - | · Связанный параметр; | ||
| - | · Связанная коллекция; | ||
| - | · Связанная номенклатура; | ||
| - | · Связанная зависимость; | ||
| - | · Связанная ссылка. | ||
| - | * Данный тип зависимости также является объектом системы, | ||
| - | |||
| - | Чтение объекта системы | ||
| - | Параметр «event» запроса установлен в значение «get_data». | ||
| - | Чтение объектов системы может осуществляться по idобъекта и по обозначению объекта в системе. Чтение по обозначению доступно для номенклатуры, | ||
| - | Далее приведён запрос на чтение номенклатурной позиции по обозначению. | ||
| - | {" | ||
| - | Сервер возвращает объекты системы в формате JSONстроки со следующей структурой полей: | ||
| - | Номенклатурная позиция: | ||
| - | · id– уникальный идентификатор позиции среди объектов своего типа; | ||
| - | · type– тип объекта (“nomenclature”); | ||
| - | · name– обозначение позиции (используется вместо «id»); | ||
| - | · notation– наименование позиции; | ||
| - | · created_date – дата и время создания позиции; | ||
| - | · change_date – дата и время изменения позиции; | ||
| - | Коллекция: | ||
| - | · id– уникальный идентификатор позиции среди объектов своего типа; | ||
| - | · type– тип объекта (“collection”); | ||
| - | · name– обозначение позиции; | ||
| - | · notation– наименование позиции; | ||
| - | · link_type – тип связи позиции; | ||
| - | · status – статус позиции; | ||
| - | · start_date – дата начала (формат строки: | ||
| - | · start_time – время начала (формат строки: | ||
| - | · end_date – дата окончания (формат строки: | ||
| - | · end_time – время окончания (формат строки: | ||
| - | · created_date – дата и время создания позиции; | ||
| - | · change_date – дата и время изменения позиции; | ||
| - | Файл: | ||
| - | · id– уникальный идентификатор позиции среди объектов своего типа; | ||
| - | · type– тип объекта (“file”); | ||
| - | · name– имя файла; | ||
| - | · file_type– расширение файла; | ||
| - | · link_type – тип связи позиции; | ||
| - | · comment– тип связи позиции; | ||
| - | · size– размер файла в байтах; | ||
| - | · created_date – дата и время создания позиции; | ||
| - | · change_date – дата и время изменения позиции; | ||
| - | Параметр: | ||
| - | · id– уникальный идентификатор позиции среди объектов своего типа; | ||
| - | · type– тип объекта (“parameter”); | ||
| - | · name– обозначение позиции; | ||
| - | · notation– наименование позиции; | ||
| - | · parameter_type – тип параметра; | ||
| - | · created_date – дата и время создания позиции; | ||
| - | · change_date – дата и время изменения позиции; | ||
| - | Компонент: | ||
| - | · id– уникальный идентификатор позиции среди объектов своего типа; | ||
| - | · type– тип объекта (“component”); | ||
| - | · nomenclature_id – идентификатор номенклатурной позиции, | ||
| - | · parent_obj_id – идентификатор коллекции в которой содержится данный компонент; | ||
| - | · parent_id – идентификатор родительского объекта типа «компонент» в дереве компонентов; | ||
| - | · link_type – тип связи позиции; | ||
| - | · status – статус позиции; | ||
| - | · amount – количество; | ||
| - | · unit – единица измерения; | ||
| - | · comment – комментарий; | ||
| - | · price – цена; | ||
| - | · start_date – дата начала (формат строки: | ||
| - | · start_time – время начала (формат строки: | ||
| - | · end_date – дата окончания (формат строки: | ||
| - | · end_time – время окончания (формат строки: | ||
| - | · created_date – дата и время создания позиции; | ||
| - | · change_date – дата и время изменения позиции; | ||
| - | · | ||
| - | Чтение содержимого блоков объекта | ||
| - | Параметр «event» запроса установлен в значение «get_obj_blocks». | ||
| - | Сервер возвращает содержимое блоков объекта системы в формате JSONстроки. | ||
| - | Тело запроса для объекта состоит из двух полей | ||
| - | · type– тип объекта; | ||
| - | · id – id объекта; | ||
| - | Далее приведён запрос на чтение всех блоков коллекции. | ||
| - | {" | ||
| - | Далее приведён ответ сервера на на чтение всех блоков коллекции. | ||
| - | {" | ||
| - | |||
| - | Чтение содержимого блока компонентов коллекции с учётом фильтрации | ||
| - | Параметр «event» запроса установлен в значение «get_components_filter». | ||
| - | Сервер возвращает содержимое блока компонентов коллекции с учётом фильтрации в формате JSONстроки в формате аналогичном запросу «get_obj_blocks». | ||
| - | Для осуществления фильтрации могут быть использованы следующие параметры: | ||
| - | · Номенклатура, | ||
| - | · Единица измерения компонента; | ||
| - | · Массив прикреплённых к компоненту параметров и соответствующие им значения; | ||
| - | Тело запроса для объекта состоит из двух полей | ||
| - | · type– тип объекта (должен быть установлен в «collection»); | ||
| - | · id – id коллекции; | ||
| - | · name– обозначение коллекции (используется вместо «id»); | ||
| - | · nomenclature_id– idноменклатуры, | ||
| - | · nomenclature_name – обозначение номенклатуры, | ||
| - | · unit_id – idединицы измерения для отбора компонентов; | ||
| - | · unit_name – обозначение единицы измерения для отбора компонентов (используется вместо «unit_id»); | ||
| - | · params– массив параметров и их значений, | ||
| - | Далее приведён запрос на чтение компонентов коллекции с учётом следующих фильтров: | ||
| - | · Родительская коллекция с обозначением «Тестовая коллекция»; | ||
| - | · Номенклатура, | ||
| - | · Единица измерения компонента «кг»; | ||
| - | · Компонента должна иметь два прикреплённых параметра «Тестовый параметр 1» и «Тестовый параметр 2» со значениями «123» и «456» соответственно; | ||
| - | {" | ||
| - | |||
| - | Редактирование объекта системы | ||
| - | Параметр «event» запроса установлен в значение «edit_data». | ||
| - | Сервер осуществляет редактирование выбранного объекта системы | ||
| - | Тело запроса для объекта состоит из трёх и более полей (в зависимости от количество реквизитов объекта, | ||
| - | · type– тип объекта; | ||
| - | · id – id объекта; | ||
| - | · name– обозначение объекта (используется вместо «id»); | ||
| - | · < | ||
| - | · < | ||
| - | · < | ||
| - | Далее приведён запрос для редактирования поля количества у компонента с idравным «256486», количество для этого компонента будет установлено в «123». | ||
| - | {" | ||
| - | |||
| - | Удаление объекта системы | ||
| - | Параметр «event» запроса установлен в значение «delete_data». | ||
| - | Сервер осуществляет удаление выбранного объекта системы | ||
| - | Тело запроса для объекта состоит из двух полей: | ||
| - | · type– тип объекта; | ||
| - | · id – id объекта; | ||
| - | · name– обозначение объекта (используется вместо «id»); | ||
| - | Далее приведён запрос для удаления номенклатурной позиции с idравным «21». | ||
| - | {" | ||
| - | |||
| - | Чтение доступных статусов | ||
| - | Параметр «event» запроса установлен в значение «get_statuses». | ||
| - | |||
| - | Чтение доступных единиц измерения | ||
| - | Параметр «event» запроса установлен в значение «get_units». | ||
| - | |||
| - | Чтение доступных типов связи | ||
| - | Параметр «event» запроса установлен в значение «get_link_types». | ||
| - | |||
| - | Запись данных | ||
| - | Параметр «event» запроса установлен в значение «new_data». | ||
| - | В ответ на запрос записи сервер отправляет JSON структуру с подтверждением, | ||
| - | Далее приведён запрос на создание номенклатурной позиции. | ||
| - | {" | ||
| - | Далее приведён ответ сервера на создание номенклатурной позиции. | ||
| - | {" | ||
| - | Для записи данных необходимо отправить данные в следующем формате: | ||
| - | Номенклатурная позиция: | ||
| - | · name - обозначение новой позиции; | ||
| - | · notation - наименование новой позиции; | ||
| - | · folder_name - наименование каталога во " | ||
| - | Коллекция: | ||
| - | · name – обозначение позиции; | ||
| - | · notation – наименование позиции; | ||
| - | · link_type – тип связи позиции; | ||
| - | · status – статус позиции; | ||
| - | · start_date – дата начала (формат строки: | ||
| - | · start_time – время начала (формат строки: | ||
| - | · end_date – дата окончания (формат строки: | ||
| - | · end_time – время окончания (формат строки: | ||
| - | · folder_name - наименование каталога во " | ||
| - | Параметр: | ||
| - | · name - обозначение новой позиции | ||
| - | · notation - наименование новой позиции | ||
| - | · folder_name - наименование каталога во " | ||
| - | · parameter_type - тип параметра. Значения " | ||
| - | Файл: | ||
| - | Запись файлов в систему посредством APIна текущий момент недоступна. | ||
| - | Компонент: | ||
| - | · nomenclature_id – идентификатор номенклатурной позиции, | ||
| - | · parent_obj_id – идентификатор коллекции в которой будет создан данный компонент; | ||
| - | · parent_id – идентификатор родительского объекта типа «компонент» в дереве компонентов; | ||
| - | · link_type – тип связи позиции; | ||
| - | · status – статус позиции; | ||
| - | · amount – количество; | ||
| - | · unit – единица измерения; | ||
| - | · comment – комментарий; | ||
| - | · price – цена; | ||
| - | · start_date – дата начала (формат строки: | ||
| - | · start_time – время начала (формат строки: | ||
| - | · end_date – дата окончания (формат строки: | ||
| - | · end_time – время окончания (формат строки: | ||
| - | |||
| - | Связанный параметр: | ||
| - | · parameter_id - id параметра в системе; | ||
| - | · parent_obj_id - id родительского объекта (коллекции, | ||
| - | · parent_obj_type - тип родительского объекта (nomenclature, | ||
| - | · parent_id - id родительского прикреплённого параметра для организации иерархии. 0 - для помещения в корень; | ||
| - | · s_value - строковое значение для строковых параметров; | ||
| - | · d_value - числовое значение для числовых параметров; | ||
| - | Связанная коллекция: | ||
| - | · collection_id - id коллекции в системе; | ||
| - | · parent_obj_id - id родительского объекта (коллекции, | ||
| - | · parent_obj_type - типродительскогообъекта (nomenclature, | ||
| - | · assignment_link_type – назначение позиции (тип связи); | ||
| - | Связанная номенклатура: | ||
| - | · nomenclature_id - id номенклатуры в системе; | ||
| - | · parent_obj_id - id родительского объекта (коллекции, | ||
| - | · parent_obj_type - типродительскогообъекта (nomenclature, | ||
| - | · comment – комментарий; | ||
| - | · link_type – тип связи позиции; | ||
| - | Связанная зависимость: | ||
| - | · component_id - id компонента в системе; | ||
| - | · parent_obj_id - id родительского объекта (коллекции, | ||
| - | · assignment_link_type – назначение позиции (тип связи); | ||
| - | Связанная ссылка: | ||
| - | · link – текст ссылки; | ||
| - | · parent_obj_id - id родительского объекта (коллекции, | ||
| - | · parent_obj_type - типродительскогообъекта (nomenclature, | ||
| - | · comment – комментарий. | ||
| - | Коды ошибок | ||
| - | 0 – Ошибки отсутствуют; | ||
| - | 1 – Ошибка прав; | ||
| - | 2 – Ошибка получения данных; | ||
| - | 3 – Ошибка данных запроса; | ||
| - | 4 – Ошибка создания позиции; | ||
| - | 5 – Ошибка авторизации; | ||
| - | 6 – Ошибка подписки. | ||
| - | |||
rest_api.1632301660.txt.gz · Последнее изменение: 2021/09/22 09:07 — apeks
