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

От версии 27.1
отредактировано Ярослава Ерина
на 2024/12/11 12:27
Изменить комментарий: К данной версии нет комментариев
К версии 20.3
отредактировано Dmitriy
на 2024/12/03 12:21
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Автор документа
... ... @@ -1,1 +1,1 @@
1 -XWiki.erina_jv
1 +XWiki.erin_ds
Содержимое
... ... @@ -1,7 +1,5 @@
1 -{{toc/}}
1 +====== **v 1.0.1** ======
2 2  
3 -v 1.0.1
4 -
5 5  == Настройка перед интеграцией ==
6 6  
7 7  
... ... @@ -33,14 +33,6 @@
33 33  
34 34  Базовым адресом **(baseUrl)** для выполнения запросов является [[https:~~/~~/topazoffice.ru/ms/external-fueling/integration>>https://topazoffice.ru/ms/external-fueling/integration]]
35 35  
36 -
37 -== **Методы API "Топаз-Web Office":** ==
38 -
39 -1. **Получение списка АЗС и их конфигураций**
40 -1. **Получение прайс-листа**
41 -1. **Получение и обработка заказа**
42 -1. **Проверка статуса работы станции**
43 -
44 44  == Получение списка АЗС и их конфигураций ==
45 45  
46 46  Внешняя система опрашивает "Топаз-Web Office" для получения списка АЗС и их конфигураций **через HTTP **запрос на **baseUrl **с префиксом **/station?apikey={apikey **}, запрос типа **GET **, timeout 10 секунд.
... ... @@ -49,7 +49,7 @@
49 49  
50 50  **...**
51 51  
52 -{{code language="javascript" layout="LINENUMBERS"}}
42 +{{code language="javascript"}}
53 53  {
54 54  // идентификатор станции АЗС
55 55  string Id
... ... @@ -99,7 +99,7 @@
99 99  
100 100  В ответ Топаз "Web Офис" дает ответ в формате **JSON**{{{}}}
101 101  
102 -{{code language="javascript" layout="LINENUMBERS"}}
92 +{{code language="javascript"}}
103 103  {
104 104   {
105 105   // идентификатор станции внутри Топаз "Web Офис"
... ... @@ -114,6 +114,7 @@
114 114  {{/code}}
115 115  
116 116  
107 +
117 117  **Пример ответа**{{{}}}
118 118  
119 119  {{code language="javascript"}}
... ... @@ -124,7 +124,7 @@
124 124  }
125 125  {{/code}}
126 126  
127 -== Получение и обработка заказа ==
118 +== Обработка заказа ==
128 128  
129 129  [[image:https://wiki.topazelectro.ru/download/attachments/1179735/image2023-1-19_16-21-33.png?version=1&modificationDate=1716374642000&api=v2]]
130 130  
... ... @@ -131,67 +131,47 @@
131 131  Информирование "Топаз-Web Office" о заказе и их статусах осуществляется **HTTP **запросом на **baseUrl **с префиксом **/order **, запрос типа **POST **, timeout 10 секунд.
132 132  
133 133  
134 -**Тело запроса содержит JSON вида Order{{{}}}**
125 +**Тело запроса содержит JSON вида Order**{{{}}}
135 135  
136 -{{code language="javascript" layout="LINENUMBERS"}}
127 +{{code language="javascript"}}
137 137  {
138 -// Идентификатор заказа
139 -String Id
129 +// идентификатор заказа
130 +string Id
140 140  // дата и время создания в UTC, формат даты yyyy-MM-dd'T'HH:mm:ss.SSSSSSS'Z' либо yyyy-MM-dd HH:mm:ss
141 -String DateCreate
132 +String DateCreate
133 +// значение заказа
134 +double OrderVolume
142 142  // идентификатор станции АЗС
143 -String StationExtendedId
144 -// Тип заказа
145 -String OrderType
146 -// номер стороны (поста)
136 +string StationExtendedId
137 +// номер колонки
147 147  int ColumnId
148 -// Идентификатор топлива
149 -String FuelId
150 -// Стоимость 1 литра топлива
139 +// идентификатор топлива
140 +string FuelId
141 +// стоимость 1 литра топлива
151 151  double PriceFuel
152 -// Сумма заказа
143 +// сумма заказа
153 153  double Sum
154 -// Размер заказа в литрах
145 +// кол-во литров
155 155  double Litre
156 -// Итого оплачено
147 +// итого оплачено
157 157  double SumPaid
158 -// Статус заказа
149 +// статус заказа
159 159  OrderStatus Status
160 160  // дата и время завершения заказа UTC, формат даты yyyy-MM-dd'T'HH:mm:ss.SSSSSSS'Z' либо yyyy-MM-dd HH:mm:ss
161 161  String DateEnd
162 -// Идентификатор причины отмены заказа
163 -String ReasonId
164 -// Причина отмены
165 -String Reason
166 -// Итого заправлено
153 +// идентификатор причины отмены заказа
154 +string ReasonId
155 +// причина отмены
156 +string Reason
157 +// итого сумма литров залито
167 167  double LitreCompleted
168 -// Итого оплачено по завершению заказа
159 +// итого оплачено по завершению заказа
169 169  double SumPaidCompleted
170 -// Идентификатор договора
171 -String ContractId
172 -// Способ оплаты
173 -String PayType
161 +// идентификатор договора
162 +string ContractId
174 174  }
175 175  {{/code}}
176 176  
177 -**Обязательными полями при создании нового заказа являются:**
178 -
179 -{{code layout="LINENUMBERS" language="javascript"}}
180 -{
181 - "Id": "string",
182 - "DateCreate": "string",
183 - "OrderType": "Money",
184 - "StationExtendedId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
185 - "ColumnId": 0,
186 - "FuelId": "diesel"
187 - "PriceFuel": 0,
188 - "Sum": 0,
189 - "Litre": 0,
190 - "Status": "OrderCreated"
191 - "ContractId": "string"
192 -}
193 -{{/code}}
194 -
195 195  Параметр **OrderType **– тип заказа может принимать следующие значения:
196 196  
197 197  * **Money **– заправка на фиксированную сумму
... ... @@ -215,45 +215,12 @@
215 215  
216 216  При получении заказа в статусе **OrderCreated **Топаз "Web Офис" проверяет ряд параметров **StationExtendedId **– в случае если идентификатор станции не найден в Топаз "Web Офис", то Топаз "Web Офис" дает ответ **400**
217 217  
218 -**FuelId **+ **PriceFuel **– в случае если стоимость топлива в Топаз "Web Офис" отличается от присланной, то Топаз "Web Офис" дает ответ **402.**
189 +**FuelId **+ **PriceFuel **– в случае если стоимость топлива в Топаз "Web Офис" отличается от присланной, то Топаз "Web Офис" дает ответ **402**
219 219  
191 +== Передача статусов о заказе ==
220 220  
221 -== Проверка статуса работы станции ==
193 +=== Статус Accepted ===
222 222  
223 -Перед формирование заказ внешняя система делает запрос на станцию для определения доступности и готовности станции принять заказ **baseUrl **с префиксом
224 -
225 -**/ping?apikey={apikey}&stationId={stationId}&columnId={columnId},**
226 -
227 -**stationId **– идентификатор станции
228 -
229 -**columnId **– идентификатор стороны ТРК
230 -
231 -запрос типа **GET **, timeout 10 секунд.
232 -
233 -==== **Статусы ответов** ====
234 -
235 -**200 ОК **– станция и ТРК готова принять и обработать заказ
236 -
237 -**400 **– станция или ТРК не найдена (не верный идентификатор станции или ТРК) **404 **– ТРК занята / ТРК не готова принять заказ
238 -
239 -любой ответ не **200 ОК **– интерпретируется как на станции нет интернета / станция не доступна
240 -
241 -----
242 -
243 -Для получения статусов Интегратору необходимо со своей стороны реализовать сервис для их получения и обработки.
244 -
245 -== **Методы REST API интегратора (внешней системы):** ==
246 -
247 -1. **Статус Accepted**
248 -1. **Статус Fueling**
249 -1. **Статус Canceled**
250 -1. **Статус Completed**
251 -1. **Отправка счетчика налива**
252 -
253 -Данные запросы "Топаз-Web Office" отправляет Интегратору.
254 -
255 -=== **Статус Accepted** ===
256 -
257 257  Данный статус сообщает внешней системе о том, что заказ принят и обработан в "Топаз-Web Office"
258 258  
259 259  Данный статус "Топаз-Web Office" отсылает после того, как были произведены некоторые действия с заказом (например, заказ сохранен в базе данных) и система готова перейти на следующий шаг
... ... @@ -260,15 +260,13 @@
260 260  
261 261  В случае если внешняя система дала ответ, отличный от **200 ОК **, то "Топаз-Web Office" отсылает статус Canceled и прекращает обработку заказ
262 262  
263 -**baseUrl + /api/order/accept**
201 +**baseUrl + /api/order/accept POST**
264 264  
265 -**POST**
266 -
267 267  **apikey={apikey}&orderId={ordeId}**
268 268  
269 269  все параметры являются обязательными
270 270  
271 -=== **Статус Fueling** ===
207 +=== Статус Fueling ===
272 272  
273 273  Данный статус сообщает внешней системе о том, что "Топаз-Web Office" готов запустить колонку (начать пролив)
274 274  
... ... @@ -276,15 +276,13 @@
276 276  
277 277  В случае если внешняя система дала ответ, отличный от **200 ОК **, то "Топаз-Web Office" отсылает статус Canceled и прекращает обработку заказ
278 278  
279 -**baseUrl + /api/order/fueling**
215 +**baseUrl + /api/order/fueling POST**
280 280  
281 -**POST**
282 -
283 283  **apikey={apikey}&orderId={ordeId}**
284 284  
285 285  все параметры являются обязательными
286 286  
287 -=== **Статус Canceled** ===
221 +=== Статус Canceled ===
288 288  
289 289  Данный статус сообщает внешней системе о том, что заказ следует отменить
290 290  
... ... @@ -298,7 +298,7 @@
298 298  
299 299  **reason – **текстовая причина отмены
300 300  
301 -=== **Статус Completed** ===
235 +=== Статус Completed ===
302 302  
303 303  Данный статус сообщает внешней системе о том, что заказ выполнен и топливо залито
304 304  
... ... @@ -306,8 +306,10 @@
306 306  
307 307  **baseUrl + /api/order/completed POST**
308 308  
309 -**apikey={apikey}&orderId={ordeId}&litre={litre}&extendedOrderId={extendedOrderId}&extendedDate={extendedDate}**
243 +**apikey={apikey}&orderId={ordeId}&litre={litre}&extendedOrderId={extendedOrderId}&**
310 310  
245 +**extendedDate={extendedDate}**
246 +
311 311  все параметры являются обязательными
312 312  
313 313  **litre **– кол-во пролитых литров, указывается как **double **с разделителем точка **extendedOrderId **– идентификатор заказа в АСУ сети
... ... @@ -314,7 +314,7 @@
314 314  
315 315  **extendedDate **– дата по которой АСУ строит отчет для сверки, формат **dd.MM.yyyy HH:mm:ss**
316 316  
317 -=== **Отправка счетчика налива** ===
253 +=== Отправка счетчика налива ===
318 318  
319 319  В момент процесса налива "Топаз-Web Office" может сообщать внешней системе статус счетчика налива
320 320  
... ... @@ -329,3 +329,21 @@
329 329  все параметры являются обязательными
330 330  
331 331  **litre **– кол-во пролитых на момент отправки запроса литров, указывается как double с разделителем точка
268 +
269 +== Проверка статуса работы станции ==
270 +
271 +Перед формирование заказ внешняя система делает запрос на станцию для определения доступности и готовности станции принять заказ **baseUrl **с префиксом
272 +
273 +**/ping?apikey={apikey}&stationId={stationId}&columnId={columnId}, stationId **– идентификатор станции
274 +
275 +**columnId **– идентификатор ТРК
276 +
277 +запрос типа **GET **, timeout 10 секунд.
278 +
279 +== Статусы ответов ==
280 +
281 +**200 ОК **– станция и ТРК готова принять и обработать заказ
282 +
283 +**400 **– станция или ТРК не найдена (не верный идентификатор станции или ТРК) **404 **– ТРК занята / ТРК не готова принять заказ
284 +
285 +любой ответ не **200 ОК **– интерпретируется как на станции нет интернета / станция не доступна