Изменения документа Протокол интеграции систем внешних наливов с Топаз "Web Офис"
Редактировал(а) Dmitriy 2026/04/23 06:18
От версии 15.1
отредактировано Ярослава Ерина
на 2024/09/18 06:42
на 2024/09/18 06:42
Изменить комментарий:
К данной версии нет комментариев
К версии 8.1
отредактировано Ярослава Ерина
на 2024/07/30 05:32
на 2024/07/30 05:32
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (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 22 - 23 23 == Получение списка АЗС и их конфигураций == 24 24 25 25 Внешняя система опрашивает Топаз "Web Офис" для получения списка АЗС и их конфигураций **через HTTP **запрос на **url **с префиксом **/integration/station?apikey={apikey **}, запрос типа **GET **, timeout 10 секунд. ... ... @@ -28,33 +28,23 @@ 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 27 +**{{code language="javascript" layout="LINENUMBERS"}}{ 28 +// идентификатор станции АЗС string Id 29 +// статус станции: true – доступна, false – выключена bool Enable, 30 +// наименование станции string Name, 31 +// адрес станции string Address, 32 +// гео точка на карте location Location 33 +{ double Lat, double Lon }, // словарь доступных ТРК Dictionary Columns { 34 +// номер колонки (int32) Key: 43 43 { 44 -double Lat, 45 -double Lon }, 46 -// словарь доступных ТРК 47 -Dictionary Columns { 48 -// номер колонки 49 -(int32) Key: 50 -{ 51 51 // список доступных типов топлива 52 52 "Fuels": [ "a92", "a95", "diesel_premium", ... N ] 53 53 } 54 54 } ... N 55 -} 56 -{{/code}} 40 +}{{/code}}** 57 57 42 +{{{{ // идентификатор станции АЗС 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 }}}} 43 + 58 58 **Возможные идентификаторы топлива** 59 59 60 60 |ID|Марка ... ... @@ -76,34 +76,29 @@ 76 76 77 77 Внешняя система опрашивает Топаз "Web Офис" для получения прайс-листа **HTTP **запросом на **url **с префиксом **/integration/price?apikey={apikey} **, запрос типа **GET **, timeout 10секунд. 78 78 79 -В ответ Топаз "Web Офис" дает ответ в формате **JSON** {{{}}}65 +В ответ Топаз "Web Офис" дает ответ в формате **JSON** 80 80 67 +{{{{ { // идентификатор станции внутри Топаз "Web Офис" string StationId, // идентификатор топлива string ProductId, // цена за 1 литр double Price }, …. N }}}} 68 + 69 + 81 81 {{code language="javascript"}} 82 82 { 83 - { 84 - // идентификатор станции внутри Топаз "Web Офис" 85 - string StationId, 86 - // идентификатор топлива 87 - string ProductId, 88 - // цена за 1 литр 89 - double Price 90 - }, 91 -…. N 72 +{ 73 +// идентификатор станции внутри Топаз "Web Офис" 74 +string StationId, 75 +// идентификатор топлива 76 +string ProductId, 77 +// цена за 1 литр 78 +double Price 79 +}, …. N 92 92 } 93 93 {{/code}} 94 94 95 95 84 +**Пример ответа** 96 96 97 - **Примерответа**{{{}}}86 +{{{{ {“StationId”: “0001”, “ProductId”: “a92”, “Price”: 38.66}, {“StationId”: “0001”, “ProductId”: “a95_premium”, “Price”: 45.21}, {“StationId”: “0002”, “ProductId”: “a92”, “Price”: 38.98}, }}}} 98 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,9 @@ 111 111 Информирование Топаз "Web Офис" о заказе и их статусах осуществляется **HTTP **запросом на **url **с префиксом **/integration/order **, запрос типа **POST **, timeout 10 секунд. 112 112 113 113 114 -**Тело запроса содержит JSON вида Order** {{{}}}95 +**Тело запроса содержит 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}} 97 +{{{{ // идентификатор заказа 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 }}}} 154 154 155 155 Параметр **OrderType **– тип заказа может принимать следующие значения: 156 156