DTK API
Rest-API для ZasLogistics на Dart. Является точкой входа для интеграции в систему ZAS из внешних систем. Клиентские приложения общаются с этим только опосредованно - через Hasura. Содержим методы для Umbrella, а также вендоров-партнеров(OMNI, JER и др.). Занимается такими задачами как: формирование расписания, автоматическая установка водителей, расчет загрузки водителей, добавление, удаление и редактирование заказов в Zas, автообновление статусов заказа и другими.
Среды
stage
Проект: umbrella-courier-stage-01
Сервис: dtk-api-server
URL: api-stage.zaslogistica.com/
Swagger:
URL: api-stage.zaslogistica.com/docs/
production
Проект: umbrella-courier
Сервис: dtk-api-server
Swagger:
URL: api.zaslogistica.com/docs/
Зависимости
dtk_api главным образом общается с базой данных Hasura.
Помимо обращения к бд занимается обработкой запросов из Hasura Events и Hasura Actions.
Локальный запуск
Для запуска приложения нужны переменные окружения, которые можно передать при запуске dart run через флаги --define=ENV_NAME=ENV_VALUE.
Необходимый список переменных можно посмотреть в файле /lib/config.dart.
Документация
Чтобы сгенерировать документацию нужно запустить команды:
dart pub get- зависимости.dart doc- генерация доки.dart pub global activate dhttpddart pub global run dhttpd --path doc/api- запуск документации локально.
Libraries
- controllers/core/ready_controller
- controllers/cron/products_sync_controller
- controllers/cron/update_districts_and_provinces_controller
- controllers/geo_controller
- controllers/get_schedule_controller
- controllers/get_status_by_short_code_controller
- controllers/get_vendor_datalink_excel_controller
- controllers/list_available_districts_controller
- controllers/order_cancellation_controller
- controllers/order_change_courier_service_controller
- controllers/order_create/order_create
- controllers/order_create/order_create_controller
- controllers/order_create/services/select_department_service
- controllers/order_defer_controller
- controllers/order_umbrella_controller
- controllers/payment_controller
- controllers/send_sms_controller
- controllers/tracking_controller
- controllers/user_block_controller
- controllers/user_create_controller
- controllers/whatsapp_bot_controllers/set_client_coords
- core/controller
- core/utils/hasura/hasura_action
- domain/order_position_umbrella
- domain/order_umbrella
- domain/track_point
- features/order/order_add_dto
- features/order/order_cancel_dto
- features/order/order_defer_dto
- features/order/order_update_dto
- features/order/trigger_order_create_dto
- core/utils/wrappers/gql_json_wrapper
- controllers/trigger_order_create_controller
- controllers/trigger_status_controller
- controllers/trigger_user_banned_controller
- core/utils/check_api_secret