Перейти до основного вмісту

ApiServer WinCalc

ApiServer дозволяє комунікувати з програмою WinCalc онлайн.

Запити виконуються методом post.

Текст запита передається у body в XML форматі.

Для економії трафіку можливо стиснути XML методом ZLIB та передати у вигляді base64.

Для перевірки запитів можливо використати наш сервер https://my-srv.vsgroup.ua:3192/

Методи

get_base_guid

Отримання поточного ідентифікатору бази даних (БД).

Запит:

<?xml version="1.0" encoding="UTF-8"?>
<root>
<request>
<action>get_base_guid</action>
</request>
</root>

Відповідь:

<?xml version="1.0" encoding="UTF-8"?>
<Root>
<request>
<action>get_base_guid</action>
</request>
<response>
<status>Ok</status>
<base_guid>{F4C7668C-9DBB-468E-8AAA-C42DF20E12F1}</base_guid>
</response>
</Root>

get_base

Отримання налаштувань БД.

Запит:

<?xml version="1.0" encoding="UTF-8"?>
<root>
<request>
<action>get_base</action>
</request>
</root>

Відповідь:

<?xml version="1.0" encoding="UTF-8"?>
<Root>
<request>
<action>get_base</action>
</request>
<response>
<status>Ok</status>
<base_guid>{F4C7668C-9DBB-468E-8AAA-C42DF20E12F1}</base_guid>
<ProfSys> Профільні системи
<R1>
<ID>145</ID>
<PROFNAME>WDS 300</PROFNAME>
<ORDERID>1</ORDERID>
<DSC>WDS 300</DSC>
<MinR>280</MinR>
<SV>3</SV>
<VCUTOFF>28</VCUTOFF>
<OR2_ID>39077</OR2_ID>
<MINRS>600</MINRS>
<MINRI>250</MINRI>
<DTT>1</DTT>
</R1>
<R2>
<ID>147</ID>
<PROFNAME>WDS 5S</PROFNAME>
<ORDERID>1</ORDERID>
<DSC>WDS 5S</DSC>
<MinR>280</MinR>
<SV>3</SV>
<VCUTOFF>28</VCUTOFF>
<OR2_ID>39077</OR2_ID>
<MINRS>600</MINRS>
<MINRI>250</MINRI>
<DTT>1</DTT>
</R2>
</ProfSys>
<FurnSys> Фурнітура
<R2>
<ID>2</ID>
<FURN>AXOR K-3 Comfort line</FURN>
<PID>145,147,101,146,122,104,159,160,163,164,161,162,165</PID> ID профільних систем
<SortID>10</SortID>
<OR_ID>43317</OR_ID>
<DSC>K-3</DSC>
</R2>
<R3>
<ID>11</ID>
<FURN>AXOR K-3 Comfort line (скрытые петли)</FURN>
<PID>145,147,101,146,122,104,159,160,163,164,161,162,165</PID>
<SortID>10</SortID>
<OR_ID>46008</OR_ID>
<DSC>K-3</DSC>
</R3>
</FurnSys>
<PaneTypes> Склопакети
<R1>
<ID>12</ID>
<PID>100,145,101,102,122,,147,,146,148,161,162,163,164,165</PID> ID профільних систем
<NAME>4-16-4</NAME>
<W>24</W>
<ZGROUP>Обычные</ZGROUP>
<OR_ID>45188</OR_ID>
</R1>
<R2>
<ID>13</ID>
<PID>100,145,101,102,122,,147,,146,148,161,162,163,164,165</PID>
<NAME>4-16-4LowE</NAME>
<W>24</W>
<ZGROUP>LowE</ZGROUP>
<OR_ID>45189</OR_ID>
</R2>
</PaneTypes>
<ConstrTypes> Типи конструкцій
<R1>
<ID>1</ID>
<PROFSYS_IDS>145,147,101,146,122,104,159,160,163,164,161,162,165</PROFSYS_IDS>
<NAME>Окна и балк. двери</NAME>
<K>1</K>
<IW>1</IW>
</R1>
<R2>
<ID>2</ID>
<PROFSYS_IDS>101,122,159,160,163,164,161,162,165</PROFSYS_IDS>
<NAME>Входные двери</NAME>
<K>1</K>
<FT>1</FT>
<HF>1</HF>
</R2>
</ConstrTypes>
<UTypes> Ущільнювачі
<R1>
<NAME>По умолчанию</NAME>
<zdsc>По умолчанию</zdsc>
<U>1</U>
</R1>
</UTypes>
<LamTypes> Ламінація
<Node1>
<Name>Білий</Name>
</Node1>
<R1>
<ID>1</ID>
<NAME>Золотой Дуб</NAME>
<CODE>1</CODE>
<BColor>33023</BColor>
<CN>1</CN>
<CV>1</CV>
<CD>1</CD>
<FDecor>3</FDecor>
</R1>
<R2>
<ID>2</ID>
<NAME>Орех</NAME>
<CODE>2</CODE>
<BColor>12632256</BColor>
<CN>1</CN>
<CV>1</CV>
<CD>1</CD>
<FDecor>3</FDecor>
</R2>
</LamTypes>
<FDecors> Накладки фурнітури
<R1>
<Name>по умолчанию</Name>
</R1>
<R2>
<ID>1</ID>
<Name>коричневый</Name>
<DSC>кор.декор</DSC>
<CODE>1</CODE>
</R2>
</FDecors>
<Articuls> Основні профілі
<R1>
<ID>31</ID>
<ARTICUL>штапик 22мм 064</ARTICUL>
<PARENTID>102,146</PARENTID>
<PARENTTIP>12</PARENTTIP>
<PARENT1>--</PARENT1>
<PARENT2>--24-</PARENT2>
<OR1_ID>42127</OR1_ID>
<TT>15</TT>
<DTT>1</DTT>
<CONSTRTYPES_ID>a</CONSTRTYPES_ID>
<UTypes_ID>a</UTypes_ID>
<Colors_ID>a</Colors_ID>
</R1>
<R2>
<ID>32</ID>
<ARTICUL>штапик 14мм 065</ARTICUL>
<PARENTID>102,146</PARENTID>
<PARENTTIP>12</PARENTTIP>
<PARENT1>--</PARENT1>
<PARENT2>--32-</PARENT2>
<OR1_ID>42128</OR1_ID>
<TT>15</TT>
<DTT>1</DTT>
<CONSTRTYPES_ID>a</CONSTRTYPES_ID>
<UTypes_ID>a</UTypes_ID>
<Colors_ID>a</Colors_ID>
</R2>
</Articuls>
<Pricl> Спец. профілі
<R1>
<ID>73</ID>
<NAME>-</NAME>
<RASSH>1</RASSH>
<OPISANIE>p</OPISANIE>
<PID>150,151,152,153,154</PID>
</R1>
<R2>
<ID>74</ID>
<NAME>Подоконный профиль</NAME>
<RASSH>1</RASSH>
<OPISANIE>p</OPISANIE>
<PID>159,160</PID>
<zdsc>Подоконный профиль</zdsc>
<NDEF>1</NDEF>
<OR_ID>46408</OR_ID>
</R2>
</Pricl>
<Rassh> Розширювачі
<R1>
<ID>23</ID>
<NAME>Расширитель 40мм</NAME>
<W>40</W>
<Allign>1</Allign>
<PID>159,160</PID>
<zdsc>Расширитель 40мм</zdsc>
<OR_ID>46445</OR_ID>
</R1>
<R2>
<ID>24</ID>
<NAME>Расширитель 100мм</NAME>
<W>100</W>
<Allign>1</Allign>
<PID>159,160</PID>
<zdsc>Расширитель 100мм</zdsc>
<OR_ID>46440</OR_ID>
</R2>
</Rassh>
<Inners> Шпроси
<R1>
<ID>507</ID>
<NAME>Шпросс 8мм белый</NAME>
<W>8</W>
<TORC>20</TORC>
<DUPLEX>-1</DUPLEX>
<OR_ID>45690</OR_ID>
</R1>
<R2>
<ID>508</ID>
<NAME>Шпросс 8мм коричневый</NAME>
<W>8</W>
<TORC>20</TORC>
<DUPLEX>-1</DUPLEX>
<OR_ID>45692</OR_ID>
</R2>
</Inners>
<Kompl> Доповнення
<R5>
<ID>2</ID>
<PID>2</PID>
<NAME>Балконная защелка</NAME>
<ZDESC>Балконная защелка</ZDESC>
<TIP>3</TIP>
<MAT>БЗ</MAT>
<MAXL>1</MAXL>
<DEMONT>-1</DEMONT>
<SORTID>1</SORTID>
<OR_ID>43400</OR_ID>
<KUParams>
78DA7BBF7BBF8D7D456E8E42596A5171667E9EAD92A19E8192426A5E727E4A665EBAAD5268889BAE8592BD1D2F9782824D507E7E89BE1D00FBE810C9
</KUParams>
<KUParams_blob>eNp7v3u/jX1Fbo5CWWpRcWZ+nq2SoZ6BkkJqXnJ+SmZeuq1SaIibroWSvR0vl4KCTVB+fom+HQD76BDJ
</KUParams_blob>
<RGroupName>{Изделие}</RGroupName>
<SCodes>,1,2,9,10,-0,-1,-2</SCodes>
</R5>
</Kompl>
<Komplcat> Каталоги доповнень
<R1>
<ID>4</ID>
<NAME>Подоконники</NAME>
<SortID>10</SortID>
</R1>
<R2>
<ID>5</ID>
<NAME>Отливы и козырьки</NAME>
<SortID>20</SortID>
</R2>
<LamNames> Найменування ламінації сторін
<L0>Зовнішня</L0>
<L1>Внутрішня</L1>
<L2>Двостороння</L2>
<L3>В масі</L3>
</LamNames>
<RParams> Групи знижок
<DM>1</DM>
<R1>Виріб</R1>
<R2>Послуги</R2>
<R3>Підвіконня</R3>
<R4>Ламинат</R4>
<R5>Отливы и козырьки</R5>
<R6>Москитные сетки</R6>
</RParams>
</response>
</Root>

calc

Розрахунок конструкції.

Запит для наступної конструкції:

<?xml version="1.0" encoding="UTF-8"?>
<root>
<request>
<action>calc</action>
<params>
<model> Модель виробу
<DS>,</DS>
<ImgParam>
<ModelTip>7</ModelTip>
<ModelParam>
<XMLConstruct>
<_0 OriginalName="0">
<Conturs> Рами.
<_0 OriginalName="0"> Вершини рами.
<Node1> Координати у декартовій системі.
<X>0</X>
<Y>0</Y>
<R>0</R>
</Node1>
<Node2>
<X>0</X>
<Y>1500</Y>
<R>0</R>
</Node2>
<Node3>
<X>1400</X>
<Y>1500</Y>
<R>0</R>
</Node3>
<Node4>
<X>1400</X>
<Y>0</Y>
<R>0</R>
</Node4>
</_0>
</Conturs>
</_0>
<_1 OriginalName="1">
<Lines> Імпости
<Node1>
<Points> Досить будь-які дві координати на вісі імпоста.
<Node1> Координати у декартовій системі.
<X>700</X>
<Y>46</Y>
<R/>
</Node1>
<Node2>
<X>700</X>
<Y>1454</Y>
<R/>
</Node2>
</Points>
</Node1>
</Lines>
</_1>
<_2 OriginalName="2">
<SashCodes> Коды відкривань. Нумерация отворів зверху вниз та зліва направо.
<S0/>
<S1>10</S1>
</SashCodes>
</_2>
<_3 OriginalName="3"/>
<_4 OriginalName="4"/>
<_5 OriginalName="5"/>
<_6 OriginalName="6"/>
<_7 OriginalName="7"/>
<_8 OriginalName="8"/>
<_9 OriginalName="9"/>
<DConfig>
<MarginX>50</MarginX>
<MarginY>50</MarginY>
<ScaleValue>1</ScaleValue>
<SizeDist>30</SizeDist>
<FontSizes>10</FontSizes>
<BColor>4290822336</BColor>
<PColor>4286611584</PColor>
<FColor>4294967295</FColor>
<PFColor>4289121008</PFColor>
<DivSizes>1</DivSizes>
<MaxLevel>100</MaxLevel>
<NewSortAlgo>1</NewSortAlgo>
<NewRedAlgo>1</NewRedAlgo>
<NewSortAlgo1>1</NewSortAlgo1>
<GBlack>4278190080</GBlack>
</DConfig>
<PParams/>
<PConfig/>
<SConfig/>
<Config/>
</XMLConstruct>
</ModelParam>
</ImgParam>
<ProfSys> Профільная система
<ID>162</ID>
<Name>Brgmann bluEvolution 82 MD</Name>
</ProfSys>
<ProfSysTypes>
<ID>0</ID>
<Name/>
<Index>-1</Index>
</ProfSysTypes>
<FurnSys> Фурнітура
<ID>20</ID>
<Name>Roto</Name>
</FurnSys>
<PaneType> Склопакет
<ID>13</ID>
<NAME>4-16-4</NAME>
<Index>0</Index>
</PaneType>
<LamType> Ламінація
<ID>0</ID>
<Value>0</Value>
<NAME>Білий</NAME>
<Index>0</Index>
<SideIndex>-1</SideIndex>
<ColorIOIndex>0</ColorIOIndex>
</LamType>
<DecorType> Накладки фірнітури
<ID>0</ID>
<NAME>-</NAME>
<Index>0</Index>
</DecorType>
<ConstrType> Тип конструкції
<ID>1</ID>
<NAME>Fenster</NAME>
<Index>0</Index>
</ConstrType>
<UType> Ущільнювач
<ID>0</ID>
<NAME>Default</NAME>
<Index>0</Index>
<DSC>Default</DSC>
</UType>
<KOMPL/>
<COUNT>1</COUNT> Кількість виробів
<PRICEPARAM> Знижки
<R0>0</R0>
<MV>0</MV>
<DV>0</DV>
</PRICEPARAM>
</model>
</params>
</request>
</root>

Відповідь:

<?xml version="1.0" encoding="UTF-8"?>
<root>
<request>
<action>calc</action>
<model>...</model> Модель виробу
</request>
<response>
<offer> Комерційна пропозиція виробу
<pt>123.45</pt> Вартість виробу
</offer>
<model>...</model> Дані виробу
<info>...</info> Додаткові дані виробу
<status>Ok</status>
</response>
</root>

Файл замовлення WXO

WXO файл є XML файлом, який стиснений за допомогою алгоритму ZLIB і містить контрольну суму. Програма WinCalc дозволяє завантажити файл без стиснення та контрольної суми, який значно простіше створити зовнішнім системам.

Наприклад (test.wxo):

****
<root>
<OfferFields> Реквізити замовлення
<ActDate>2025-01-01</ActDate> Дата замовлення
<NoText>TEST-01</Notext> Номер текстовий замовлення
<CLIENTNAME>TEST</CLIENTNAME> Замовник
<CUSTOMERADDR>TEST ADDR</CUSTOMERADDR> Адреса замовлення
<CUSTOMERTEL>TEST TEL</CUSTOMERTEL> Адреса замовлення
<ZREM>TEST REMARK</ZREM> Примітка
</OfferFields>
<Constructions> Позиції замовлення
<Construction> Позиція замовлення 1
<MODELXML> Дані тегу model, які отримані при відповіді методу calc
<DS>,</DS>
<ImgParam>
<ModelTip>7</ModelTip>
<ModelParam>
<XMLConstruct>
<_0 OriginalName="0">
<Conturs> Рами.
<_0 OriginalName="0"> Вершини рами.
<Node1> Координати у декартовій системі.
<X>0</X>
<Y>0</Y>
<R>0</R>
</Node1>
<Node2>
<X>0</X>
<Y>1500</Y>
<R>0</R>
</Node2>
<Node3>
<X>1400</X>
<Y>1500</Y>
<R>0</R>
</Node3>
<Node4>
<X>1400</X>
<Y>0</Y>
<R>0</R>
</Node4>
</_0>
</Conturs>
</_0>
<_1 OriginalName="1">
<Lines> Імпости
<Node1>
<Points> Досить будь-які дві координати на вісі імпоста.
<Node1> Координати у декартовій системі.
<X>700</X>
<Y>46</Y>
<R/>
</Node1>
<Node2>
<X>700</X>
<Y>1454</Y>
<R/>
</Node2>
</Points>
</Node1>
</Lines>
</_1>
<_2 OriginalName="2">
<SashCodes> Коды відкривань. Нумерация отворів зверху вниз та зліва направо.
<S0/>
<S1>10</S1>
</SashCodes>
</_2>
<_3 OriginalName="3"/>
<_4 OriginalName="4"/>
<_5 OriginalName="5"/>
<_6 OriginalName="6"/>
<_7 OriginalName="7"/>
<_8 OriginalName="8"/>
<_9 OriginalName="9"/>
<DConfig>
<MarginX>50</MarginX>
<MarginY>50</MarginY>
<ScaleValue>1</ScaleValue>
<SizeDist>30</SizeDist>
<FontSizes>10</FontSizes>
<BColor>4290822336</BColor>
<PColor>4286611584</PColor>
<FColor>4294967295</FColor>
<PFColor>4289121008</PFColor>
<DivSizes>1</DivSizes>
<MaxLevel>100</MaxLevel>
<NewSortAlgo>1</NewSortAlgo>
<NewRedAlgo>1</NewRedAlgo>
<NewSortAlgo1>1</NewSortAlgo1>
<GBlack>4278190080</GBlack>
</DConfig>
<PParams/>
<PConfig/>
<SConfig/>
<Config/>
</XMLConstruct>
</ModelParam>
</ImgParam>
<ProfSys> Профільная система
<ID>162</ID>
<Name>Brgmann bluEvolution 82 MD</Name>
</ProfSys>
<ProfSysTypes>
<ID>0</ID>
<Name/>
<Index>-1</Index>
</ProfSysTypes>
<FurnSys> Фурнітура
<ID>20</ID>
<Name>Roto</Name>
</FurnSys>
<PaneType> Склопакет
<ID>13</ID>
<NAME>4-16-4</NAME>
<Index>0</Index>
</PaneType>
<LamType> Ламінація
<ID>0</ID>
<Value>0</Value>
<NAME>Білий</NAME>
<Index>0</Index>
<SideIndex>-1</SideIndex>
<ColorIOIndex>0</ColorIOIndex>
</LamType>
<DecorType> Накладки фірнітури
<ID>0</ID>
<NAME>-</NAME>
<Index>0</Index>
</DecorType>
<ConstrType> Тип конструкції
<ID>1</ID>
<NAME>Fenster</NAME>
<Index>0</Index>
</ConstrType>
<UType> Ущільнювач
<ID>0</ID>
<NAME>Default</NAME>
<Index>0</Index>
<DSC>Default</DSC>
</UType>
<KOMPL/>
<COUNT>1</COUNT> Кількість виробів
<PRICEPARAM> Знижки
<R0>0</R0>
<MV>0</MV>
<DV>0</DV>
</PRICEPARAM>
</MODELXML>
</CONSTRUTCION>
</Constructions>
</root>