Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
doc:dev:api:flexfield [12.08.2016 19:36] rlysov создано |
doc:dev:api:flexfield [02.06.2018 10:42] (текущий) |
||
---|---|---|---|
Строка 8: | Строка 8: | ||
Настроенные Гибкие Поля можно посмотреть в административной консоли в меню "Настройки" -> "Гибкие поля" | Настроенные Гибкие Поля можно посмотреть в административной консоли в меню "Настройки" -> "Гибкие поля" | ||
+ | |||
+ | ===== Пример использования Гибких Полей ===== | ||
+ | |||
+ | Например, Вы продаете одежду и настроили для справочника "Клиенты" гибкое поле "Размер". Теперь для каждого клиента возможно указать размер его одежды. Указать значение можно двумя способами. | ||
+ | |||
+ | 1. **Первый способ** - через административный интерфейс в карточке Клиента (меню Клиенты). В карточке появится новая графа "Размер", в котором можно задать нужное значение | ||
+ | |||
+ | 2. **Второй способ** - программно через API. Чтобы задать значение гибкого поля через API, необходимо к стандартному [[doc:dev:api:customer|запросу на изменение/добавление Клиента]] добавить еще один параметр в формате: [**ИмяПоля**]=[**Значение**] | ||
+ | |||
+ | В качестве **ИмяПоля** можно указать как пользовательское название поля (пример: "Размер"), так и его системное имя: attribute1, .., attribute15. Конкретный номер атрибута для каждого гибкого поля можно посмотреть в административном интерфейсе настройках гибких полей (**Настройки** -> **Гибкие поля** -> **Номер атрибута**) | ||
+ | |||
+ | Пример запроса на изменение гибкого поля "Размер" для Клиента с ID=1 через API: | ||
+ | |||
+ | [[http://mycompany.virtpos.ru/api/customer/update?apikey=MySecret&id=1&Размер=XL]] | ||
+ | |||
+ | |||
===== Функции API для работы с Гибкими Полями ===== | ===== Функции API для работы с Гибкими Полями ===== | ||
Строка 17: | Строка 33: | ||
* **delete** - удаление настроенного ранее Гибкого Поля | * **delete** - удаление настроенного ранее Гибкого Поля | ||
- | ===== listTables ===== | ||
+ | ---- | ||
+ | |||
+ | ===== listTables :: Получение списка справочников ===== | ||
- | ==== listTables :: Получение списка справочников ===== | + | Запрос возвращает список справочников системы, которые поддерживают работу с Гибкими Полями. Эти системные названия используются в других запросах в качестве параметра **table_name**. |
- | Запрос возвращает список справочников системы, которые поддерживают работу с Гибкими Полями. Эти системные названия используются в других запросах в качестве параметра "table_name". | + | ==== Пример вызова ===== |
Пример запроса на получение списка справочников: | Пример запроса на получение списка справочников: | ||
- | http://mycompany.virtpos.ru/api/flexfield/listTables?apikey=MySecret&format=xml | + | http://mycompany.virtpos.ru/api/flexField/listTables?apikey=MySecret&format=xml |
- | ==== listTables :: Параметры запроса ==== | + | ==== Параметры запроса ==== |
* **apikey** - Секретный ключ для доступа к данным. Обязательный параметр. | * **apikey** - Секретный ключ для доступа к данным. Обязательный параметр. | ||
Строка 34: | Строка 52: | ||
* **format** - формат, в котором сервер отдаст данные. Может принимать значения "xml" или "json". Необязательный параметр. | * **format** - формат, в котором сервер отдаст данные. Может принимать значения "xml" или "json". Необязательный параметр. | ||
- | ==== listTables :: Пример ответа ==== | + | ==== Пример ответа ==== |
<file xml> | <file xml> | ||
Строка 41: | Строка 59: | ||
<success>1</success> | <success>1</success> | ||
<type>frexfield.tables</type> | <type>frexfield.tables</type> | ||
- | <count>17</count> | + | <count>5</count> |
<tables> | <tables> | ||
- | <warehouse>Точка продаж</warehouse> | + | <table> |
- | <location>Территория</location> | + | <name>warehouse</name> |
- | <organisation>Юридическое лицо</organisation> | + | <description>Точка продаж</description> |
- | <item>Товар</item> | + | </table> |
- | <onhand>Товарный остаток</onhand> | + | <table> |
- | <manufacturer>Производитель</manufacturer> | + | <name>location</name> |
- | <groups_name>Группа товаров</groups_name> | + | <description>Территория</description> |
- | <supplier>Поставщик</supplier> | + | </table> |
- | <inflow>Поступление</inflow> | + | <table> |
- | <movegood>Перемещение</movegood> | + | <name>organisation</name> |
- | <inventory>Инвентаризация</inventory> | + | <description>Юридическое лицо</description> |
- | <pricelist>Прайслист</pricelist> | + | </table> |
- | <pricelist_lines>Строка прайслиста</pricelist_lines> | + | <table> |
- | <receipt>Чек продажи</receipt> | + | <name>item</name> |
- | <user>Пользователь</user> | + | <description>Товар</description> |
- | <customer>Клиент</customer> | + | </table> |
- | <customer_group>Группа клиента</customer_group> | + | <table> |
+ | <name>onhand</name> | ||
+ | <description>Товарный остаток</description> | ||
+ | </table> | ||
</tables> | </tables> | ||
</root> | </root> | ||
</file> | </file> | ||
+ | |||
+ | ---- | ||
===== index :: Запрос на получение данных ===== | ===== index :: Запрос на получение данных ===== | ||
- | ==== index :: пример вызова ==== | + | ==== Пример вызова ==== |
Пример запроса на получение данных о настроенных Гибких Полях: | Пример запроса на получение данных о настроенных Гибких Полях: | ||
- | http://mycompany.virtpos.ru/api/flexfield?apikey=MySecret&format=xml | + | http://mycompany.virtpos.ru/api/flexField?apikey=MySecret&format=xml |
==== Параметры запроса ==== | ==== Параметры запроса ==== | ||
- | * **apikey** - Секретный ключ для доступа к данным. Обязательный параметр. | + | * **apikey** (get или post) - Секретный ключ для доступа к данным. Обязательный параметр. |
- | * **format** - формат, в котором сервер отдаст данные. Может принимать значения "xml" или "json". Необязательный параметр. | + | * **format** (get only) - формат, в котором сервер отдаст данные. Может принимать значения "xml" или "json". Необязательный параметр. |
- | * **id** - код Гибкого Поля, для которого надо вернуть данные. Если не указан, то возвращаются данные обо всех настроенных полях. | + | * **id** (get only) - код Гибкого Поля, для которого надо вернуть данные. Если не указан, то возвращаются данные обо всех настроенных полях. |
- | * **table_name** - системное название справочника. Если указано, то возвращаются поля только для этого справочника | + | * **table_name** (get only) - системное название справочника. Если указано, то возвращаются поля только для этого справочника |
- | * **name** - название Гибкого Поля. Если указано, то возвращаются поля только с таким названием | + | * **name** (get only) - название Гибкого Поля. Если указано, то возвращаются поля только с таким названием |
- | ==== index :: Ответ сервера ==== | + | ==== Ответ сервера ==== |
В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info | В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info | ||
- | ==== index :: Пример ответа сервера ==== | + | ==== Пример ответа сервера ==== |
Ниже приведен пример ответа сервера в формате XML | Ниже приведен пример ответа сервера в формате XML | ||
Строка 117: | Строка 140: | ||
</file> | </file> | ||
+ | |||
+ | ---- | ||
===== update :: добавление/изменение Гибкого Поля ===== | ===== update :: добавление/изменение Гибкого Поля ===== | ||
- | Для обновления конкретного гибкого поля надо передать либо его идентификатор (параметр **id**), либо пару справочник + название_поля (параметры **table_name** и **name**) | + | Для обновления конкретного гибкого поля надо передать: |
+ | * либо его идентификатор (параметр **id**) | ||
+ | * либо пару справочник + название_поля (параметры **table_name** и **name**) | ||
- | ==== update :: пример вызова ==== | + | ==== Пример вызова ==== |
Пример запроса на изменение данных о гибком поле: | Пример запроса на изменение данных о гибком поле: | ||
- | http://mycompany.virtpos.ru/api/flexfield/update?apikey=MySecret&create_if_not_exist=0&enabled=N | + | http://mycompany.virtpos.ru/api/flexField/update?apikey=MySecret&create_if_not_exist=0&enabled=N |
==== Параметры запроса ==== | ==== Параметры запроса ==== | ||
- | * **apikey** - Секретный ключ для доступа к данным. Обязательный параметр. | + | * **apikey** (get или post) - Секретный ключ для доступа к данным. Обязательный параметр. |
- | * **format** - формат, в котором сервер отдаст данные. Может принимать значения "xml" или "json". Необязательный параметр. | + | * **format** (get only) - формат, в котором сервер отдаст данные. Может принимать значения "xml" или "json". Необязательный параметр. |
- | * **id** - код товарной группы, данные которой надо обновить | + | * **id** (get only) - код товарной группы, данные которой надо обновить |
- | * **table_name** - системное название таблицы, в которой надо изменить (добавить) поле. Используется для однозначной идентификации записи вместе с параметром **name** | + | * **table_name** (get only) - системное название таблицы, в которой надо изменить (добавить) поле. Используется для однозначной идентификации записи вместе с параметром **name** |
- | * **name** - название гибкого поля, которое надо изменить (добавить). Используется для однозначной идентификации записи вместе с параметром **table_name** | + | * **name** (get only) - название гибкого поля, которое надо изменить (добавить). Используется для однозначной идентификации записи вместе с параметром **table_name** |
- | * **create_if_not_exist** - если "1", то при неудачном поиске гибкое поле будет добавлено в систему. | + | * **create_if_not_exist** (get only) - если "1", то при неудачном поиске гибкое поле будет добавлено в систему. |
- | * **attr_type** - тип гибкого поля. Принимает значения: list (выбор из списка) или text(текстовые данные) | + | * **attr_type** (get или post) - тип гибкого поля. Принимает значения: list (выбор из списка) или text(текстовые данные) |
- | * **enabled** - признак активно поле или нет. Принимает значения: Y (активно) или N (неактивно) | + | * **enabled** (get или post) - признак активно поле или нет. Принимает значения: Y (активно) или N (неактивно) |
- | * **default_value** - значение по умолчанию | + | * **default_value** (get или post) - значение по умолчанию |
- | * **list_values** - список возможных значений гибкого поля. Используется с типом поля list. Список возможных значений передается в виде строки, разделенной запятыми. Лишних пробелов быть не должно. Пример: "Да,Нет,Возможно" | + | * **list_values** (get или post) - список возможных значений гибкого поля. Используется с типом поля list. Список возможных значений передается в виде строки, разделенной запятыми. Лишних пробелов быть не должно. Пример: "Да,Нет,Возможно" |
Строка 158: | Строка 185: | ||
* Флаг **isnew** равен "1", если запись была создана, и "0" если обновлена. | * Флаг **isnew** равен "1", если запись была создана, и "0" если обновлена. | ||
- | |||
Строка 170: | Строка 196: | ||
</root> | </root> | ||
</file> | </file> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== delete :: Удаление Гибкого Поля ===== | ||
+ | |||
+ | Функция настроенное ранее удаляет Гибкое Поле. Для удаления конкретного гибкого поля надо передать: | ||
+ | * либо его идентификатор (параметр **id**) | ||
+ | * либо пару: справочник + название_поля (параметры **table_name** и **name**) | ||
+ | |||
+ | |||
+ | ==== Пример вызова ===== | ||
+ | |||
+ | Пример запроса на удаление гибкого поля: | ||
+ | |||
+ | http://mycompany.virtpos.ru/api/flexField/delete?apikey=MySecret&format=xml&id=2 | ||
+ | |||
+ | ==== Параметры запроса ==== | ||
+ | |||
+ | * **apikey** (get или post) - Секретный ключ для доступа к данным. Обязательный параметр. | ||
+ | |||
+ | * **format** (get only) - формат, в котором сервер отдаст данные. Может принимать значения "xml" или "json". Необязательный параметр. | ||
+ | |||
+ | * **id** (get only) - идентификатор гибкого поля, которое надо удалить | ||
+ | |||
+ | * **table_name** (get only) - системное название таблицы, в которой надо удалить поле. Используется для однозначной идентификации записи вместе с параметром **name** | ||
+ | |||
+ | * **name** (get only) - название гибкого поля, которое надо удалить. Используется для однозначной идентификации записи вместе с параметром **table_name** | ||
+ | |||
+ | ==== Пример ответа ==== | ||
+ | |||
+ | <file xml> | ||
+ | <?xml version="1.0" encoding="UTF-8"?> | ||
+ | <root> | ||
+ | <success>1</success> | ||
+ | </root> | ||
+ | </file> | ||
+ | |||
+ | |||