Редактировал(а) Dmitriy 2026/04/23 06:18

От версии 10.1
отредактировано Ярослава Ерина
на 2024/07/30 05:36
Изменить комментарий: К данной версии нет комментариев
К версии 16.1
отредактировано Ярослава Ерина
на 2024/09/18 06:43
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -16,6 +16,10 @@
16 16  
17 17  Также будет предоставлен секретный ключ (тестового и боевого окружения) для идентификации системы внешних наливов в Топаз "Web Офис". Данный ключ необходимо будет передавать во всех запросах от внешней системы в Топаз "Web Офис" в заголовке externalSystemApikey
18 18  
19 +== Адрес для отправки запросов ==
20 +
21 +Базовым адресом **(baseUrl)** для выполнения запросов является [[https:~~/~~/topazoffice.ru/ms/external-fueling/integration>>https://topazoffice.ru/ms/external-fueling/integration]]
22 +
19 19  == Получение списка АЗС и их конфигураций ==
20 20  
21 21  Внешняя система опрашивает Топаз "Web Офис" для получения списка АЗС и их конфигураций **через HTTP **запрос на **url **с префиксом **/integration/station?apikey={apikey **}, запрос типа **GET **, timeout 10 секунд.
... ... @@ -24,7 +24,8 @@
24 24  
25 25  **...**
26 26  
27 -{{code language="javascript"}}{
31 +{{code language="javascript"}}
32 +{
28 28  // идентификатор станции АЗС
29 29  string Id
30 30  // статус станции: true – доступна, false – выключена
... ... @@ -47,10 +47,9 @@
47 47  "Fuels": [ "a92", "a95", "diesel_premium", ... N ]
48 48  }
49 49  } ... N
50 -}{{/code}}
55 +}
56 +{{/code}}
51 51  
52 -{{{{ // идентификатор станции АЗС string Id // статус станции: true – доступна, false – выключена bool Enable, // наименование станции string Name, // адрес станции string Address, // гео точка на карте location Location { double Lat, double Lon }, // словарь доступных ТРК Dictionary Columns { // номер колонки (int32) Key: { // список доступных типов топлива "Fuels": [ "a92", "a95", "diesel_premium", ... N ] } } ... N }}}}
53 -
54 54  **Возможные идентификаторы топлива**
55 55  
56 56  |ID|Марка
... ... @@ -72,29 +72,34 @@
72 72  
73 73  Внешняя система опрашивает Топаз "Web Офис" для получения прайс-листа **HTTP **запросом на **url **с префиксом **/integration/price?apikey={apikey} **, запрос типа **GET **, timeout 10секунд.
74 74  
75 -В ответ Топаз "Web Офис" дает ответ в формате **JSON**
79 +В ответ Топаз "Web Офис" дает ответ в формате **JSON**{{{}}}
76 76  
77 -{{{{ { // идентификатор станции внутри Топаз "Web Офис" string StationId, // идентификатор топлива string ProductId, // цена за 1 литр double Price }, …. N }}}}
78 -
79 -
80 80  {{code language="javascript"}}
81 81  {
82 -{
83 -// идентификатор станции внутри Топаз "Web Офис"
84 -string StationId, 
85 -// идентификатор топлива 
86 -string ProductId, 
87 -// цена за 1 литр 
88 -double Price 
89 -}, …. N 
83 + {
84 + // идентификатор станции внутри Топаз "Web Офис"
85 + string StationId,
86 + // идентификатор топлива
87 + string ProductId,
88 + // цена за 1 литр
89 + double Price
90 + },
91 +…. N
90 90  }
91 91  {{/code}}
92 92  
93 93  
94 -**Пример ответа**
95 95  
96 -{{{{ {“StationId”: “0001”, “ProductId”: “a92”, “Price”: 38.66}, {“StationId”: “0001”, “ProductId”: “a95_premium”, “Price”: 45.21}, {“StationId”: “0002”, “ProductId”: “a92”, “Price”: 38.98}, }}}}
97 +**Пример ответа**{{{}}}
97 97  
99 +{{code language="javascript"}}
100 +{
101 +{“StationId”: “0001”, “ProductId”: “a92”, “Price”: 38.66},
102 +{“StationId”: “0001”, “ProductId”: “a95_premium”, “Price”: 45.21},
103 +{“StationId”: “0002”, “ProductId”: “a92”, “Price”: 38.98},
104 +}
105 +{{/code}}
106 +
98 98  == Обработка заказа ==
99 99  
100 100  [[image:https://wiki.topazelectro.ru/download/attachments/1179735/image2023-1-19_16-21-33.png?version=1&modificationDate=1716374642000&api=v2]]
... ... @@ -102,9 +102,46 @@
102 102  Информирование Топаз "Web Офис" о заказе и их статусах осуществляется **HTTP **запросом на **url **с префиксом **/integration/order **, запрос типа **POST **, timeout 10 секунд.
103 103  
104 104  
105 -**Тело запроса содержит JSON вида Order**
114 +**Тело запроса содержит JSON вида Order**{{{}}}
106 106  
107 -{{{{ // идентификатор заказа string Id // дата и время создания в UTC, формат даты yyyy-MM-dd'T'HH:mm:ss.SSSSSSS'Z' либо yyyy-MM-dd HH:mm:ss String DateCreate // значение заказа double OrderVolume // идентификатор станции АЗС string StationExtendedId // номер колонки int ColumnId // идентификатор топлива string FuelId // стоимость 1 литра топлива double PriceFuel // сумма заказа double Sum // кол-во литров double Litre // итого оплачено double SumPaid // статус заказа OrderStatus Status // дата и время завершения заказа UTC, формат даты yyyy-MM-dd'T'HH:mm:ss.SSSSSSS'Z' либо yyyy-MM-dd HH:mm:ss String DateEnd // идентификатор причины отмены заказа string ReasonId // причина отмены string Reason // итого сумма литров залито double LitreCompleted // итого оплачено по завершению заказа double SumPaidCompleted // идентификатор договора string ContractId }}}}
116 +{{code language="none"}}
117 +{
118 +// идентификатор заказа
119 +string Id
120 +// дата и время создания в UTC, формат даты yyyy-MM-dd'T'HH:mm:ss.SSSSSSS'Z' либо yyyy-MM-dd HH:mm:ss
121 +String DateCreate
122 +// значение заказа
123 +double OrderVolume
124 +// идентификатор станции АЗС
125 +string StationExtendedId
126 +// номер колонки
127 +int ColumnId
128 +// идентификатор топлива
129 +string FuelId
130 +// стоимость 1 литра топлива
131 +double PriceFuel
132 +// сумма заказа
133 +double Sum
134 +// кол-во литров
135 +double Litre
136 +// итого оплачено
137 +double SumPaid
138 +// статус заказа
139 +OrderStatus Status
140 +// дата и время завершения заказа UTC, формат даты yyyy-MM-dd'T'HH:mm:ss.SSSSSSS'Z' либо yyyy-MM-dd HH:mm:ss
141 +String DateEnd
142 +// идентификатор причины отмены заказа
143 +string ReasonId
144 +// причина отмены
145 +string Reason
146 +// итого сумма литров залито
147 +double LitreCompleted
148 +// итого оплачено по завершению заказа
149 +double SumPaidCompleted
150 +// идентификатор договора
151 +string ContractId
152 +}
153 +{{/code}}
108 108  
109 109  Параметр **OrderType **– тип заказа может принимать следующие значения:
110 110