| 5 | | |
| 6 | | == Интеграция с внешними учетными системами (1С и др.) == |
| 7 | | |
| 8 | | Интеграция реализована путем обмена сообщениями в JSON формате по протоколу HTTP. Инициатором обмена выступает сторонняя система. Необходимым условием является наличие следующих HTTP заголовков: |
| 9 | | * X-Signature: reserved |
| 10 | | * Content-Type: text/x-json |
| 11 | | |
| 12 | | === Импорт === |
| 13 | | Компонент может импортировать из сторонних систем такие исходные данные: |
| 14 | | * Перечень контейнерных площадок |
| 15 | | * Запланированные маршруты движения |
| 16 | | * Персонал (водители мусороуборочной техники, грузчики/экспедиторы) |
| 17 | | |
| 18 | | === Экспорт === |
| 19 | | В сторонние системы экспортируются данные о фактическом выполнении маршрутов. |
| 20 | | |
| 21 | | '''Выгрузка итогов по маршруту''' (http://<server_name>/components/communa/export_to_1c_v2). |
| 22 | | |
| 23 | | Запрос должен содержать идентификатор/код маршрута в параметре waybill: |
| 24 | | {{{ |
| 25 | | {"waybill":14721} |
| 26 | | }}} |
| 27 | | |
| 28 | | В ответ будет отправлено сообщение с суммарными результатами уборки: |
| 29 | | {{{ |
| 30 | | { |
| 31 | | "waybill": { |
| 32 | | "wastebin_loads": {"reported": 53, "out_of_route": 139, "total": 192}, |
| 33 | | "waybill": 14721, |
| 34 | | "route_start_time": "2021-04-16 13:21:51", |
| 35 | | "route_end_time": "2021-04-17 12:35:46" |
| 36 | | }, |
| 37 | | "trucks": [ |
| 38 | | { |
| 39 | | "tablet_id": "445a52a0f59eb406", |
| 40 | | "capacity": 10.000, |
| 41 | | "id": 1015157 |
| 42 | | }, |
| 43 | | { |
| 44 | | "tablet_id": "e36e5da7533265a0", |
| 45 | | "capacity": 10.000, |
| 46 | | "id": 1015131 |
| 47 | | } |
| 48 | | ], |
| 49 | | "success": true, |
| 50 | | "personnel": [ |
| 51 | | { |
| 52 | | "first_name": "Василий", |
| 53 | | "last_name": "mts1", |
| 54 | | "middle_name": "", |
| 55 | | "id": 1012652 |
| 56 | | }, |
| 57 | | { |
| 58 | | "first_name": "Иван", |
| 59 | | "last_name": "mts", |
| 60 | | "middle_name": "", |
| 61 | | "id": 1012651 |
| 62 | | } |
| 63 | | ] |
| 64 | | } |
| 65 | | }}} |
| 66 | | |
| 67 | | '''Выгрузка итогов по маршруту с площадками''' (http://<server_name>/components/communa/export_to_1c). |
| 68 | | |
| 69 | | Запрос: |
| 70 | | {{{ |
| 71 | | {"waybill":14721} |
| 72 | | }}} |
| 73 | | |
| 74 | | Ответ: |
| 75 | | {{{ |
| 76 | | { |
| 77 | | "waybill": { |
| 78 | | "waybill": 14721, |
| 79 | | "points": [ |
| 80 | | { |
| 81 | | "long": 30.4067446392582, |
| 82 | | "reason": "Cтояв автомобіль", |
| 83 | | "lat": 50.4820775451919, |
| 84 | | "loaded": 0, |
| 85 | | "id": 8556, |
| 86 | | "left": 1 |
| 87 | | }, |
| 88 | | { |
| 89 | | "long": 30.4067553599089, |
| 90 | | "reason": null, |
| 91 | | "lat": 50.4820707265568, |
| 92 | | "loaded": 1, |
| 93 | | "id": 8568, |
| 94 | | "left": 0 |
| 95 | | }, |
| 96 | | |
| 97 | | ... |
| 98 | | |
| 99 | | { |
| 100 | | "long": 30.4095232486725, |
| 101 | | "reason": null, |
| 102 | | "lat": 50.4938488915337, |
| 103 | | "loaded": 1, |
| 104 | | "id": 11831, |
| 105 | | "left": 0 |
| 106 | | } |
| 107 | | ] |
| 108 | | }, |
| 109 | | "success": true |
| 110 | | } |
| 111 | | }}} |
| 112 | | |
| 113 | | '''Выгрузка итогов по машине за заданный интервал времени''' (http://<server_name>/components/communa/export_to_1c_v3). |
| 114 | | |
| 115 | | В запросе указывает идентификатор мусороуборочной машины (код документа карточки спецавтомобиля. Его можно узнать, открыв карточку спецавтомобиля и кликнув самую правую иконку на панели инструментов в карточке), а так же начальное и конечное время: |
| 116 | | {{{ |
| 117 | | { |
| 118 | | "truck_id": 1014489, |
| 119 | | "time_from": "2021-08-09 00:00:00", |
| 120 | | "time_to": "2021-08-09 23:59:59" |
| 121 | | } |
| 122 | | }}} |
| 123 | | |
| 124 | | Ответ: |
| 125 | | {{{ |
| 126 | | { |
| 127 | | "wastebin_loads": { |
| 128 | | "total": 0, |
| 129 | | "reported": 0, |
| 130 | | "time_to": "2021-08-09 23:59:59", |
| 131 | | "time_from": "2021-08-09 00:00:00", |
| 132 | | "out_of_route": 0 |
| 133 | | }, |
| 134 | | "truck": { |
| 135 | | "tablet_id": "29e199b8401de077", |
| 136 | | "id": 1014489, |
| 137 | | "object_id": 1405 |
| 138 | | }, |
| 139 | | "trips": [ |
| 140 | | { |
| 141 | | "route_id": 1029535, |
| 142 | | "loader_id": 1012652, |
| 143 | | "driver_id": 1012651, |
| 144 | | "loader_name": "mts1 Василий ", |
| 145 | | "time_to": "2021-08-09 05:54:29", |
| 146 | | "time_from": null, |
| 147 | | "mileage": null, |
| 148 | | "driver_name": "mts Иван " |
| 149 | | }, |
| 150 | | { |
| 151 | | "route_id": 1029535, |
| 152 | | "loader_id": 1012652, |
| 153 | | "driver_id": 1012651, |
| 154 | | "loader_name": "mts1 Василий ", |
| 155 | | "time_to": "2021-08-09 06:45:05", |
| 156 | | "time_from": "2021-08-09 06:41:21", |
| 157 | | "mileage": 0.181945757264796, |
| 158 | | "driver_name": "mts Иван " |
| 159 | | }, |
| 160 | | { |
| 161 | | "route_id": 1030701, |
| 162 | | "loader_id": 1012652, |
| 163 | | "driver_id": 1012651, |
| 164 | | "loader_name": "mts1 Василий ", |
| 165 | | "time_to": null, |
| 166 | | "time_from": "2021-08-09 06:45:33", |
| 167 | | "mileage": null, |
| 168 | | "driver_name": "mts Иван " |
| 169 | | } |
| 170 | | ], |
| 171 | | "success": true |
| 172 | | } |
| 173 | | }}} |
| | 5 | * [wiki:WasteCollectionTabletAPI API для взаимодействия с планшетом] |
| | 6 | * [wiki:WasteCollection1CIntegration Интеграция с внешними учетными системами (1С и др.)] |