Тестовая страница песочницы 1
Описание API для подключения внешнего расчетного центра
Содержание
- Настройка перед интеграцией
- Методы API Топаз "Web Офис"
- Получение списка АЗС
- Проверка доступности АЗС
- Методы API Интегратора
- Проверка наличия идентификатора (топливной карты)
- Проверка актуальности заказа и получение идентификатора
- Завершение заказа
- UML-диаграмма базовых операций
- Алгоритм действий при выполнении заказа
Настройка перед интеграцией
Перед началом интеграции уполномоченный сотрудник компании-интегратора передает в ООО "Топаз-сервис" следующую информацию:
- Базовый url тестового окружения системы интегратора
- Список ip адресов, с которых будут приходить запросы от тестового окружения системы интегратора
- Базовый url боевого окружения системы интегратора
- Список ip адресов, с которых будут приходить запросы от боевого окружения системы интегратора
- Официальное название системы интегратора, которое будет указано в Топаз "Web Офис"
- Иконку системы интегратора в формате svg с соотношением сторон 1:1
После получения информации по указанным пунктам, от ООО "Топаз-сервис" будет предоставлен тестовый доступ для настройки интеграции.
Методы API Топаз "Web Офис"
Получение списка АЗС
Система интегратора опрашивает ТопазВебОфис для получения списка АЗС и их конфигураций по HTTP.
Проверка доступности АЗС
Система интегратора получает информацию о текущем состоянии АЗС по HTTP
Методы API Интегратора
Проверка наличия идентификатора (топливной карты)
Проверка актуальности заказа и получение идентификатора
Топаз "Web Офис" при получении заказа от АСУ запрашивает у системы интегратора информацию о заказе для решения о дальнейших действиях.
Завершение заказа
При завершении налива Топаз "Web Офис" передает информацию о выполненном заказе в систему интегратора.
Запрос выполняется независимо от причины завершения.
Возможные причины:
- успешный налив,
- частичный налив,
- отмена.
UML-диаграмма базовых операций

Алгоритм действий при выполнении заказа
- Оператор оформляет заказ и считывает QR-код или код карты
- АСУ передает полученный код (/order/start)
- Внешняя система по коду валидирует заказ и возвращает данные по нему
- Если в ответе поле fuelingAllowed = false, отпуск топлива запрещен, причина указана в поле reason
- Если ответ 400, отпуск запрещен, причина указана в сообщении
- Если ответ не был получен по таймауту, отпуск запрещен
- Данные по заказу передаются в АСУ
- АСУ в случае разрешенного отпуска сверяет доступный объем (availableVolume)
- Если доступный объем меньше запрашиваемого, отпуск производится в размере доступного объема
- При завершении заказа, АСУ отправляет уведомление (/order/finish)
- Если заказ отменен, поле orderState = CANCEL
- Если заказ налит, поле orderState = FACT
- В поле volume указывается фактически налитый объем
- В ответ на уведомление о завершении заказа внешняя система отправляет 200
- В случае ответа 200 заказ считается завершенным
- В случае ответа 400 информация о завершении позже будет повторно отправлена во внешнюю систему