7  /  41

Продукты v.1

Для получения 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

	
	<?xml version="1.0" encoding="UTF-8"?>
<catalog date="30-09-2013">
	<program value="Название программы" />
	<comments>&lt;div style="background:#FFF; width:100%;padding:10px;"&gt; &lt;a href="http://foodcost.ru/"&gt; &lt;img src="/upload/medialibrary/d8b/d8b2022632b023e9cfac04838bc69726.png" title="Фуд Кост" border="0" alt="Фуд Кост" width="195" height="34" /&gt; &lt;/a&gt; &lt;br/&gt; &lt;h3 style="color:#FF6300"&gt;Благодарим за использование наших сервисов!&lt;/h3&gt; &lt;/div&gt; &lt;div style="background:#edf5dd; width:100%; padding:10px;"&gt; &lt;h4 style="color:#7ea348"&gt;Дополнительно:&lt;/h4&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://foodcost.ru/support/faq/" title="Открыть" target="_blank"&gt;Часто задаваемые вопросы&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://foodcost.ru/support/tiket/" title="Открыть" target="_blank"&gt;Техническая поддержка &lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt;</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 сессии

Примечание:
Базовая единица измерения на сервере — грамм. Для обеспечения возможности перерасчета единиц веса в клиентских системах указан код единицы хранения по ОКЕИ и коэффициент перерасчета в базовую единицу (грамм).

0