Для получения XML-файла с группами и списком продуктов необходимо сформировать GET-запрос, в котором передать параметры авторизации и параметр file=ingredients.
GET| Параметр | Обязательный | Описание |
|---|---|---|
| LOGIN | Да | Логин пользователя на FOODCOST к которому привязана компания. |
| PASSWORD | Да | Пароль пользователя на FOODCOST к которому привязана компания. |
| KEY | Да | Ключ интеграции, получаемый пользователем после активации подписки на FOODCOST и к которому привязана компания. |
| KEY_SESSION | Да | Идентификатор сессии получается при каждом новом сеансе работы пользователя с вашим приложением. При последующих заходах того же пользователя это значение будет другим, поэтому его нужно сохранить для последующей авторизации. |
| file | Да | ingredients |
| v |
Версия файлов, доступ к которым нужно получить. Параметр необязательный. Для доступа к актуальным данным требуется установить значение 2. Если этот параметр не используется, будут загружены данные актуальные на 01.10.2018 |
Внимание! При формировании запроса, названия параметров должны быть написаны прописными или строчными буквами так, как указано в настоящей документации.
GET
GET /personal/exchange/?LOGIN=user&PASSWORD=qWerTy&KEY=UHui9B7zAST4AAK9Z&KEY_SESSION=6f347c1f5817502451ec1a5d91e42823&file=ingredients&v=2 HTTP/1.1
Host: foodcost.pro
Cache-Control: no-cache
После успешной авторизации, сервер предоставит для скачивания XML-файл с описанием разделов и свойств продуктов, включая Нутриентный состав базовый (см. Глоссарий).
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="catalog">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="comments" type="xs:string" />
<xs:element minOccurs="0" name="sections">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="section">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="fc_id" type="xs:string" />
<xs:element minOccurs="0" name="name" type="xs:string" />
<xs:element minOccurs="0" name="time" type="xs:string" />
<xs:element minOccurs="0" name="description" type="xs:string" />
<xs:element minOccurs="0" name="parent_id" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="elements">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="element">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="fc_id" type="xs:string" />
<xs:element minOccurs="0" name="name" type="xs:string" />
<xs:element minOccurs="0" name="timestamp" type="xs:string" />
<xs:element minOccurs="0" name="parent_id" type="xs:string" />
<xs:element minOccurs="0" name="description" type="xs:string" />
<xs:element minOccurs="0" name="weight_units" type="xs:unsignedShort" />
<xs:element minOccurs="0" name="storage_unit" type="xs:unsignedShort" />
<xs:element minOccurs="0" name="alcohol" type="xs:decimal" />
<xs:element minOccurs="0" name="proteins" type="xs:decimal" />
<xs:element minOccurs="0" name="fats" type="xs:decimal" />
<xs:element minOccurs="0" name="carbohydrates" type="xs:decimal" />
<xs:element minOccurs="0" name="nutrition" type="xs:decimal" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="session_id">
<xs:complexType>
<xs:attribute name="value" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="data" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<catalog date="30-09-2013">
<program value="Название программы" />
<comments><div style="background:#FFF; width:100%;padding:10px;"> <a href="http://foodcost.ru/"> <img src="/upload/medialibrary/d8b/d8b2022632b023e9cfac04838bc69726.png" title="Фуд Кост" border="0" alt="Фуд Кост" width="195" height="34" /> </a> <br/> <h3 style="color:#FF6300">Благодарим за использование наших сервисов!</h3> </div> <div style="background:#edf5dd; width:100%; padding:10px;"> <h4 style="color:#7ea348">Дополнительно:</h4> <ul> <li><a href="http://foodcost.ru/support/faq/" title="Открыть" target="_blank">Часто задаваемые вопросы</a></li> <li><a href="http://foodcost.ru/support/tiket/" title="Открыть" target="_blank">Техническая поддержка </a></li> </ul> </div></comments>
<sections>
<section>
<fc_id>4093</fc_id>
<name>Наименование продукта</name>
<description>Краткое описание группы ингредиентов</description>
<parent_id>1431</parent_id>
</section>
</sections>
…
<elements>
<element>
<fc_id>25187</fc_id>
<name>Название продукта</name>
<description>Описание продукта</description>
<image>https://ссылка на изображение</image>
<parent_id>1558</parent_id>
<water>93,4</water>
<proteins>0,2</proteins>
<fats>0.7</fats>
<carbohydrates>5,2</carbohydrates>
<alcohol>28</alcohol>
<nutrition>27</nutrition>
<storage_unit>112</storage_unit>
<weight_units>1000</weight_units>
</element>
</elements>
<session_id value="ID сессии"/>
</catalog>
| наименование | описание |
|---|---|
| catalog date | Дата редактирования файла |
| program value | Название ПО, указанного пользователем при подключении сервиса |
| comments | Комментарии для пользователей, рекомендованные к выдаче после успешной загрузки |
| sections | Раздел с описанием секций |
| section | Описание секции |
| elements | Раздел с описанием элементов |
| element | Описание элемента |
| name | Название |
| time | Дата и время создания/редактирования |
| image | Изображение |
| description | Краткое описание |
| parent_id | ID родительского раздела |
| proteins | Содержание белка в 100 г продукта в граммах |
| fats | Содержание жиров в 100 г продукта в граммах |
| carbohydrates | Содержание углеводов в 100 г продукта в граммах |
| alcohol | Содержание спирта в 100 г продукта в граммах |
| nutrition | Калорийность 100 г продукта в граммах |
| density | Плотность продукта |
| cleaning | Процент потерь при холодной обработке |
| storage_unit | Код единицы хранения по ОКЕИ |
| weight_units | Коэффициент перерасчета в базовую единицу |
| session_id | ID сессии |
Примечание:
Базовая единица измерения на сервере — грамм. Для обеспечения возможности перерасчета единиц веса в клиентских системах указан код единицы хранения по ОКЕИ и коэффициент перерасчета в базовую единицу (грамм).