Изменения документа Протокол интеграции систем внешних наливов с Топаз "Web Офис"
Редактировал(а) Dmitriy 2026/04/23 06:18
От версии 16.1
отредактировано Ярослава Ерина
на 2024/09/18 06:43
на 2024/09/18 06:43
Изменить комментарий:
К данной версии нет комментариев
К версии 1.1
отредактировано Ярослава Ерина
на 2024/07/17 12:36
на 2024/07/17 12:36
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -16,10 +16,6 @@ 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 - 23 23 == Получение списка АЗС и их конфигураций == 24 24 25 25 Внешняя система опрашивает Топаз "Web Офис" для получения списка АЗС и их конфигураций **через HTTP **запрос на **url **с префиксом **/integration/station?apikey={apikey **}, запрос типа **GET **, timeout 10 секунд. ... ... @@ -28,32 +28,38 @@ 28 28 29 29 **...** 30 30 31 -{{code language="javascript"}} 32 -{ 33 -// идентификатор станции АЗС 34 -string Id 35 -// статус станции: true – доступна, false – выключена 36 -bool Enable, 37 -// наименование станции 38 -string Name, 39 -// адрес станции 40 -string Address, 41 -// гео точка на карте 42 -location Location 43 -{ 44 -double Lat, 45 -double Lon }, 46 -// словарь доступных ТРК 47 -Dictionary Columns { 48 -// номер колонки 49 -(int32) Key: 50 -{ 51 -// список доступных типов топлива 52 -"Fuels": [ "a92", "a95", "diesel_premium", ... N ] 53 -} 54 -} ... N 55 -} 56 -{{/code}} 27 +{{{{ 28 + // идентификатор станции АЗС 29 + string Id 30 + // статус станции: true – доступна, false – выключена 31 + bool Enable, 32 + // наименование станции 33 + string Name, 34 + // адрес станции 35 + string Address, 36 + // гео точка на карте 37 + location Location { 38 + double Lat, 39 + double Lon 40 + }, 41 + // словарь доступных ТРК 42 + Dictionary Columns 43 + { 44 + // номер колонки (int32) 45 + Key: { 46 + // список доступных типов топлива 47 + "Fuels": [ 48 + "a92", 49 + "a95", 50 + "diesel_premium", 51 + ... 52 + N 53 + ] 54 + } 55 + } 56 + ... 57 + N 58 +}}}} 57 57 58 58 **Возможные идентификаторы топлива** 59 59 ... ... @@ -76,34 +76,28 @@ 76 76 77 77 Внешняя система опрашивает Топаз "Web Офис" для получения прайс-листа **HTTP **запросом на **url **с префиксом **/integration/price?apikey={apikey} **, запрос типа **GET **, timeout 10секунд. 78 78 79 -В ответ Топаз "Web Офис" дает ответ в формате **JSON** {{{}}}81 +В ответ Топаз "Web Офис" дает ответ в формате **JSON** 80 80 81 -{{code language="javascript"}} 82 -{ 83 - { 84 - // идентификатор станции внутри Топаз "Web Офис" 85 - string StationId, 86 - // идентификатор топлива 87 - string ProductId, 88 - // цена за 1 литр 89 - double Price 90 - }, 91 -…. N 92 -} 93 -{{/code}} 83 +{{{{ 84 + { 85 + // идентификатор станции внутри Топаз "Web Офис" 86 + string StationId, 87 + // идентификатор топлива 88 + string ProductId, 89 + // цена за 1 литр 90 + double Price 91 + }, 92 + …. N 93 +}}}} 94 94 95 +**Пример ответа** 95 95 97 +{{{{ 98 + {“StationId”: “0001”, “ProductId”: “a92”, “Price”: 38.66}, 99 + {“StationId”: “0001”, “ProductId”: “a95_premium”, “Price”: 45.21}, 100 + {“StationId”: “0002”, “ProductId”: “a92”, “Price”: 38.98}, 101 +}}}} 96 96 97 -**Пример ответа**{{{}}} 98 - 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 - 107 107 == Обработка заказа == 108 108 109 109 [[image:https://wiki.topazelectro.ru/download/attachments/1179735/image2023-1-19_16-21-33.png?version=1&modificationDate=1716374642000&api=v2]] ... ... @@ -111,46 +111,44 @@ 111 111 Информирование Топаз "Web Офис" о заказе и их статусах осуществляется **HTTP **запросом на **url **с префиксом **/integration/order **, запрос типа **POST **, timeout 10 секунд. 112 112 113 113 114 -**Тело запроса содержит JSON вида Order** {{{}}}110 +**Тело запроса содержит JSON вида Order** 115 115 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}} 112 +{{{{ 113 + // идентификатор заказа 114 + string Id 115 + // дата и время создания в UTC, формат даты yyyy-MM-dd'T'HH:mm:ss.SSSSSSS'Z' либо yyyy-MM-dd HH:mm:ss 116 + String DateCreate 117 + // значение заказа 118 + double OrderVolume 119 + // идентификатор станции АЗС 120 + string StationExtendedId 121 + // номер колонки 122 + int ColumnId 123 + // идентификатор топлива 124 + string FuelId 125 + // стоимость 1 литра топлива 126 + double PriceFuel 127 + // сумма заказа 128 + double Sum 129 + // кол-во литров 130 + double Litre 131 + // итого оплачено 132 + double SumPaid 133 + // статус заказа 134 + OrderStatus Status 135 + // дата и время завершения заказа UTC, формат даты yyyy-MM-dd'T'HH:mm:ss.SSSSSSS'Z' либо yyyy-MM-dd HH:mm:ss 136 + String DateEnd 137 + // идентификатор причины отмены заказа 138 + string ReasonId 139 + // причина отмены 140 + string Reason 141 + // итого сумма литров залито 142 + double LitreCompleted 143 + // итого оплачено по завершению заказа 144 + double SumPaidCompleted 145 + // идентификатор договора 146 + string ContractId 147 +}}}} 154 154 155 155 Параметр **OrderType **– тип заказа может принимать следующие значения: 156 156 ... ... @@ -157,6 +157,7 @@ 157 157 * **Money **– заправка на фиксированную сумму, **OrderVolume **– сумма рублей 158 158 * **Liters **– заправка на литры, **OrderVolume **– кол-вол литров 159 159 154 + 160 160 Параметр **Status **– статус заказа может принимать следующие значения 161 161 162 162 * **OrderCreated **– заказ создан и полностью оплачен ... ... @@ -165,6 +165,7 @@ 165 165 * **StationCanceled **– заказ отменен оператором АЗС или же Топаз "Web Офис" 166 166 * **UserCanceled **– заказ отменен пользователем 167 167 163 + 168 168 Параметр **ContractId **– стандартными типами договора, по которому обрабатывается заказ 169 169 170 170 * **Individual **– договор возмездного оказания услуг (физические лица)