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

От версии 27.1
отредактировано Ярослава Ерина
на 2024/12/11 12:27
Изменить комментарий: К данной версии нет комментариев
К версии 40.1
отредактировано Ярослава Ерина
на 2026/01/16 11:04
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Родительский документ
... ... @@ -1,1 +1,1 @@
1 -Main.WebHome
1 +vneshnie_api.vneshnie_nalivy2.WebHome
Содержимое
... ... @@ -1,5 +3,3 @@
1 -{{toc/}}
2 -
3 3  v 1.0.1
4 4  
5 5  == Настройка перед интеграцией ==
... ... @@ -13,6 +13,7 @@
13 13  1. Список ip адресов, с которых будут приходить запросы от боевого окружения системы внешнего налива
14 14  1. Официальное название системы внешних наливов, которое будет указано в Топаз "Web Офис"
15 15  1. Иконку системы внешних наливов в формате svg с соотношением сторон 1:1
14 +1. Email, на который будет зарегистрирован личный кабинет интегратора
16 16  
17 17  После получения информации по указанным пунктам, от ООО "Топаз-сервис" будет предоставлен тестовый доступ для настройки интеграции.
18 18  
... ... @@ -20,8 +20,11 @@
20 20  
21 21  (% class="box errormessage" %)
22 22  (((
22 +(% class="wikigeneratedid" id="H41443043D43D44B43943A43B44E44743D43543E43144543E43443843C43E43144343443544243F43544043543443043243044244C43243E43244143544543743043F44043E44143044543E44243243D43544843D43543944143844144243543C44B4322242243E43F430437-WebOffice2243243743043343E43B43E43243A43528header29externalSystemApikey" %)
23 +(((
23 23  === **Данный ключ необходимо будет передавать во всех запросах от внешней системы в "Топаз-Web Office" в заголовке (header) externalSystemApikey** ===
24 24  )))
26 +)))
25 25  
26 26  == ApiKey ==
27 27  
... ... @@ -33,6 +33,7 @@
33 33  
34 34  Базовым адресом **(baseUrl)** для выполнения запросов является [[https:~~/~~/topazoffice.ru/ms/external-fueling/integration>>https://topazoffice.ru/ms/external-fueling/integration]]
35 35  
38 +----
36 36  
37 37  == **Методы API "Топаз-Web Office":** ==
38 38  
... ... @@ -52,25 +52,25 @@
52 52  {{code language="javascript" layout="LINENUMBERS"}}
53 53  {
54 54  // идентификатор станции АЗС
55 -string Id
58 +string id
56 56  // статус станции: true – доступна, false – выключена
57 -bool Enable,
60 +bool enable,
58 58  // наименование станции
59 -string Name,
62 +string name,
60 60  // адрес станции
61 -string Address,
64 +string address,
62 62  // гео точка на карте
63 -location Location
66 +location location
64 64  {
65 -double Lat,
66 -double Lon },
68 +double lat,
69 +double lon },
67 67  // словарь доступных ТРК
68 -Dictionary Columns {
71 +Dictionary columns {
69 69  // номер колонки
70 70  (int32) Key:
71 71  {
72 72  // список доступных типов топлива
73 -"Fuels": [ "a92", "a95", "diesel_premium", ... N ]
76 +"fuels": [ "a92", "a95", "diesel_premium", ... N ]
74 74  }
75 75  } ... N
76 76  }
... ... @@ -78,7 +78,8 @@
78 78  
79 79  **Возможные идентификаторы топлива**
80 80  
81 -|ID|Марка
84 +(% border="1" %)
85 +|(% style="background-color:#e5e4e2; border-color:black" %)ID|(% style="background-color:#e5e4e2; border-color:black" %)Марка
82 82  |diesel|дизель
83 83  |diesel_premium|брендированный дизель
84 84  |a80|бензин марки А80
... ... @@ -93,6 +93,8 @@
93 93  |propane|газ пропан
94 94  |metan|метан
95 95  
100 +== ==
101 +
96 96  == Получение прайс-листа ==
97 97  
98 98  Внешняя система опрашивает "Топаз-Web Office" для получения прайс-листа **HTTP **запросом на **baseUrl **с префиксом **/price?apikey={apikey} **, запрос типа **GET **, timeout 10секунд.
... ... @@ -103,34 +103,36 @@
103 103  {
104 104   {
105 105   // идентификатор станции внутри Топаз "Web Офис"
106 - string StationId,
112 + string stationId,
107 107   // идентификатор топлива
108 - string ProductId,
114 + string productId,
109 109   // цена за 1 литр
110 - double Price
116 + double price
117 + // Внешний код топлива
118 + string fuelExtendedId
111 111   },
112 112  …. N
113 113  }
114 114  {{/code}}
115 115  
116 -
117 117  **Пример ответа**{{{}}}
118 118  
119 119  {{code language="javascript"}}
120 120  {
121 -{"StationId": "0001", "ProductId": "a92", "Price": 38.66},
122 -{"StationId": "0001", "ProductId": "a95_premium", "Price": 45.21},
123 -{"StationId": "0002", "ProductId": "a92", "Price": 38.98},
128 +{"stationId": "0001", "productId": "a92", "price": 38.66, "fuelExtendedId": "92"},
129 +{"stationId": "0001", "productId": "a95_premium", "price": 45.21, "fuelExtendedId": "95"},
130 +{"stationId": "0002", "productId": "a92", "price": 38.98, , "fuelExtendedId": "92"},
124 124  }
125 125  {{/code}}
126 126  
134 +== ==
135 +
127 127  == Получение и обработка заказа ==
128 128  
129 -[[image:https://wiki.topazelectro.ru/download/attachments/1179735/image2023-1-19_16-21-33.png?version=1&modificationDate=1716374642000&api=v2]]
138 +[[image:https://wiki.topazelectro.ru/download/attachments/1179735/image2023-1-19_16-21-33.png?version=1&modificationDate=1716374642000&api=v2||data-xwiki-image-style-border="true"]]
130 130  
131 131  Информирование "Топаз-Web Office" о заказе и их статусах осуществляется **HTTP **запросом на **baseUrl **с префиксом **/order **, запрос типа **POST **, timeout 10 секунд.
132 132  
133 -
134 134  **Тело запроса содержит JSON вида Order{{{}}}**
135 135  
136 136  {{code language="javascript" layout="LINENUMBERS"}}
... ... @@ -137,10 +137,12 @@
137 137  {
138 138  // Идентификатор заказа
139 139  String Id
140 -// дата и время создания в UTC, формат даты yyyy-MM-dd'T'HH:mm:ss.SSSSSSS'Z' либо yyyy-MM-dd HH:mm:ss
148 +// дата и время создания в UTC, формат даты yyyy-MM-dd'T'HH:mm:ss.SSSSSSS'Z', yyyy-MM-dd'T'HH:mm:ss.SSS'Z', либо yyyy-MM-dd HH:mm:ss
141 141  String DateCreate
142 142  // идентификатор станции АЗС
143 143  String StationExtendedId
152 +// Идентификатор АЗС в системе Интегратора (Необязательное поле)
153 +String StationId
144 144  // Тип заказа
145 145  String OrderType
146 146  // номер стороны (поста)
... ... @@ -157,7 +157,7 @@
157 157  double SumPaid
158 158  // Статус заказа
159 159  OrderStatus Status
160 -// дата и время завершения заказа UTC, формат даты yyyy-MM-dd'T'HH:mm:ss.SSSSSSS'Z' либо yyyy-MM-dd HH:mm:ss
170 +// дата и время завершения заказа UTC, формат даты yyyy-MM-dd'T'HH:mm:ss.SSSSSSS'Z', yyyy-MM-dd'T'HH:mm:ss.SSS'Z', либо yyyy-MM-dd HH:mm:ss
161 161  String DateEnd
162 162  // Идентификатор причины отмены заказа
163 163  String ReasonId
... ... @@ -234,8 +234,10 @@
234 234  
235 235  **200 ОК **– станция и ТРК готова принять и обработать заказ
236 236  
237 -**400 **– станция или ТРК не найдена (не верный идентификатор станции или ТРК) **404 **– ТРК занята / ТРК не готова принять заказ
247 +**400 **– станция или ТРК не найдена (неверный идентификатор станции или ТРК)
238 238  
249 +**404 **– ТРК занята / ТРК не готова принять заказ
250 +
239 239  любой ответ не **200 ОК **– интерпретируется как на станции нет интернета / станция не доступна
240 240  
241 241  ----
... ... @@ -268,6 +268,8 @@
268 268  
269 269  все параметры являются обязательными
270 270  
283 +=== ===
284 +
271 271  === **Статус Fueling** ===
272 272  
273 273  Данный статус сообщает внешней системе о том, что "Топаз-Web Office" готов запустить колонку (начать пролив)
... ... @@ -284,6 +284,8 @@
284 284  
285 285  все параметры являются обязательными
286 286  
301 +=== ===
302 +
287 287  === **Статус Canceled** ===
288 288  
289 289  Данный статус сообщает внешней системе о том, что заказ следует отменить
... ... @@ -298,6 +298,8 @@
298 298  
299 299  **reason – **текстовая причина отмены
300 300  
317 +=== ===
318 +
301 301  === **Статус Completed** ===
302 302  
303 303  Данный статус сообщает внешней системе о том, что заказ выполнен и топливо залито
... ... @@ -314,6 +314,8 @@
314 314  
315 315  **extendedDate **– дата по которой АСУ строит отчет для сверки, формат **dd.MM.yyyy HH:mm:ss**
316 316  
335 +=== ===
336 +
317 317  === **Отправка счетчика налива** ===
318 318  
319 319  В момент процесса налива "Топаз-Web Office" может сообщать внешней системе статус счетчика налива