Интеграция с внешними учетными системами (1С и др.)

Интеграция реализована путем обмена сообщениями в JSON формате по протоколу HTTP. Инициатором обмена выступает сторонняя система. Необходимым условием является наличие следующих HTTP заголовков:

  • X-Signature: reserved
  • Content-Type: text/x-json

HTTP адрес всех веб-сервисов (URL), используемых в данном компоненте, формируется из базовой части http://<server_name>/components/communa/ и имени конкретного сервиса.

Все параметры, содержащие время, используют часовой пояс оператора-владельца используемых в запросе объектов (спецавтомобилей, контейнеров и т.д.).

Импорт

Компонент может импортировать из сторонних систем такие исходные данные:

  • Перечень контейнерных площадок
  • Запланированные маршруты движения
  • Персонал (водители мусороуборочной техники, грузчики/экспедиторы)

Экспорт

В сторонние системы экспортируются данные о фактическом выполнении маршрутов.

Выгрузка итогов по маршруту

Endpoint: http://<server_name>/components/communa/export_to_1c_v2

Запрос должен содержать идентификатор/код маршрута в параметре waybill:

{"waybill":14721}

В ответ будет отправлено сообщение с суммарными результатами уборки:

{
  "waybill": {
    "wastebin_loads": {"reported": 53, "out_of_route": 139, "total": 192}, 
    "waybill": 14721, 
    "route_start_time": "2021-04-16 13:21:51", 
    "route_end_time": "2021-04-17 12:35:46"
  }, 
  "trucks": [
    {
      "tablet_id": "445a52a0f59eb406", 
      "capacity": 10.000, 
      "id": 1015157
    }, 
    {
      "tablet_id": "e36e5da7533265a0", 
      "capacity": 10.000, 
      "id": 1015131
    }
  ], 
  "success": true, 
  "personnel": [
    {
      "first_name": "Василий", 
      "last_name": "mts1", 
      "middle_name": "", 
      "id": 1012652
    }, 
    {
      "first_name": "Иван", 
      "last_name": "mts", 
      "middle_name": "", 
      "id": 1012651
    }
  ]
}

Выгрузка итогов по маршруту с площадками

Endpoint: http://<server_name>/components/communa/export_to_1c

Запрос:

{"waybill":14721}

Ответ:

{
    "waybill": {
        "waybill": 14721,
        "points": [
            {
                "long": 30.4067446392582,
                "reason": "Cтояв автомобіль",
                "lat": 50.4820775451919,
                "loaded": 0,
                "id": 8556,
                "left": 1
            },
            {
                "long": 30.4067553599089,
                "reason": null,
                "lat": 50.4820707265568,
                "loaded": 1,
                "id": 8568,
                "left": 0
            },

            ...

            {
                "long": 30.4095232486725,
                "reason": null,
                "lat": 50.4938488915337,
                "loaded": 1,
                "id": 11831,
                "left": 0
            }
        ]
    },
    "success": true
}

Выгрузка итогов по машине за заданный интервал времени

Endpoint: http://<server_name>/components/communa/export_to_1c_v3

В запросе указывает идентификатор мусороуборочной машины (код документа карточки спецавтомобиля. Его можно узнать, открыв карточку спецавтомобиля и кликнув самую правую иконку на панели инструментов в карточке), а так же начальное и конечное время:

{
  "truck_id": 1014489, 
  "time_from": "2021-08-09 00:00:00", 
  "time_to": "2021-08-09 23:59:59"
}

Ответ:

{
    "wastebin_loads": {
        "total": 0,
        "reported": 0,
        "time_to": "2021-08-09 23:59:59",
        "time_from": "2021-08-09 00:00:00",
        "out_of_route": 0
    },
    "truck": {
        "tablet_id": "29e199b8401de077",
        "id": 1014489,
        "object_id": 1405
    },
    "trips": [
        {
            "route_id": 1029535,
            "loader_id": 1012652,
            "driver_id": 1012651,
            "loader_name": "mts1 Василий ",
            "time_to": "2021-08-09 05:54:29",
            "time_from": null,
            "mileage": null,
            "driver_name": "mts Иван "
        },
        {
            "route_id": 1029535,
            "loader_id": 1012652,
            "driver_id": 1012651,
            "loader_name": "mts1 Василий ",
            "time_to": "2021-08-09 06:45:05",
            "time_from": "2021-08-09 06:41:21",
            "mileage": 0.181945757264796,
            "driver_name": "mts Иван "
        },
        {
            "route_id": 1030701,
            "loader_id": 1012652,
            "driver_id": 1012651,
            "loader_name": "mts1 Василий ",
            "time_to": null,
            "time_from": "2021-08-09 06:45:33",
            "mileage": null,
            "driver_name": "mts Иван "
        }
    ],
    "success": true
}