Wiki-Quellcode von get_timerecording.php
Zuletzt geändert von YellowFox_RD am 2025/01/20 15:37
Zeige letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
1 | (% class="box" %) | ||
2 | (((Inhaltsverzeichnis))) | ||
3 | {{toc/}} | ||
4 | |||
5 | (% class="box" %) | ||
6 | ((( | ||
7 | **Kompatibilität | ||
8 | **Diese Funktion ist nur für Kunden mit aktivierter Zeiterfassung V3 verfügbar. | ||
9 | Kunden mit der bisherigen Zeiterfassung nutzen bitte weiterhin die Funktion [[get_timerecording.asp>>doc:YellowFox Remote Tracking Interface.Funktionen.Zeiterfassung.get_timerecording\.asp.WebHome]] | ||
10 | ))) | ||
11 | |||
12 | Gibt alle empfangenen Zeiterfassungsbuchungen des abgefragten Zeitraumes zurück. Der Zeitraum kann dabei entweder nach Eingang der Buchungen oder gebuchter Zeit gewählt werden. | ||
13 | Falls die Zeiterfassungsbuchungen aus den Digitacho Dateien erstellt werden ist zu beachten, das es zu Verzögerungen kommt. Es muss erst die jeweilige Datei vom Fahrzeug heruntergeladen werden und danach noch exportiert werden. Dies kann zu mehreren Stunden, eventuell sogar Tagen, Verzögerung führen. Deshalb wird auch standardmäßig das Verarbeitungsdatum verwendet, damit ein chronologischer Datenabruf ohne Lücken oder Dopplungen möglich ist. | ||
14 | = Beschreibung = | ||
15 | **(% class="green mark" %)GET(%%) get_timerecording.php?company**=//COMPANY_RTIKEY//**&import**=//COMPANY_IMPORTKEY//**&start**=//YYYYMMDDHHMMSS//**&end**=//YYYYMMDDHHMMSS//**&format**=//CSV//**&version**=//1//**&date_query**//=insert// | ||
16 | = Parameter = | ||
17 | |=Parameter|=Beschreibung|=Typ|=Hinweis|=Pflicht | ||
18 | |company|RTI Firmenschlüssel|string||ja | ||
19 | |import|RTI Importschlüssel|string||ja | ||
20 | |start|Startzeitpunkt der Ausgabe|string|der Ausgabezeitraum darf maximal 31 Tage umfassen|ja | ||
21 | |end|Endzeitpunkt der Ausgabe|string|der Ausgabezeitraum darf maximal 31 Tage umfassen|ja | ||
22 | |format|Ausgabeformat|string|zulässige Ausgabeformate | ||
23 | ((( | ||
24 | * csv | ||
25 | * json | ||
26 | * xml | ||
27 | * buspronet | ||
28 | * gfos | ||
29 | )))|ja | ||
30 | |version|Versionsnummer der Abfrage|integer|aktuell ist Version 1 | ||
31 | sollte sich das Ausgabeformat ändern wird jeweils eine neue Versionsnummer vergeben|nein | ||
32 | |date_query|Welches Datum bildet die Grundlage für die Zeitraumeingrenzung|string|'insert' (Standard) = Verarbeitungsdatum | ||
33 | 'gps' = Datum an dem die Zeitbuchung stattgefunden hat (in Verbindung mit 'with_changes=1', werden geänderte Buchungszeiten mit beachtet) | ||
34 | 'update' = NUR in Verbindung mit 'with_changes=1', allgemeine Rückgabe wie 'insert', wurde eine Buchung bearbeitet, zählt aber das Bearbeitungsdatum|nein | ||
35 | |group|Bezeichnung der Personalgruppe, auf welche eingegrenzt werden soll|string|Es muss die exakte Bezeichnung einer Personalgruppe angegeben werden|nein | ||
36 | |with_changes|Gibt an, ob portalseitige Bearbeitungen von Buchungen mit beachtet werden sollen. | ||
37 | Im Portal gelöschte Buchungen werden dann auch nicht ausgegeben|integer|0 (Standard) - die Buchungen werden immer so ausgegeben, wie ursprünglich erfasst | ||
38 | 1 - Die Buchungen werden inklusive der Änderungen ausgegeben (wie im Portal)|nein | ||
39 | |||
40 | = Rückgabe = | ||
41 | Es wird ein **string** zurückgegeben. Im Fehlerfall wird "(% class="error" %)**ERROR:Beschreibung**(%%)". | ||
42 | == JSON Format == | ||
43 | Gibt einen JSON Formatierten Text zurück mit den angegebenen Details zu jeder Buchung. | ||
44 | === Beispiel Ausgabe === | ||
45 | **JSON Ausgabe** | ||
46 | {{code language="js"}}[ | ||
47 | { | ||
48 | "person": { | ||
49 | "id": "A23", | ||
50 | "key": "DF00000001234", | ||
51 | "name": "Max Mustermann", | ||
52 | "card_nr": null | ||
53 | }, | ||
54 | "datetime": "2019-04-01 05:26:00", | ||
55 | "activity": { | ||
56 | "id": "1003", | ||
57 | "name": "Arbeitszeit" | ||
58 | }, | ||
59 | "terminal": { | ||
60 | "id": "M_123", | ||
61 | "name": "DD-YF 456" | ||
62 | } | ||
63 | "position": { | ||
64 | "lat": 51.4, | ||
65 | "lon": 13.1, | ||
66 | "address": "Am Wüsteberg 3, 01723 Kesselsdorf" | ||
67 | }, | ||
68 | "area": null, | ||
69 | "costcenter": { | ||
70 | "id": null, | ||
71 | "name": null | ||
72 | } | ||
73 | }, | ||
74 | { | ||
75 | "person": { | ||
76 | "id": "A23", | ||
77 | "key": "DF00000001234", | ||
78 | "name": "Max Mustermann", | ||
79 | "card_nr": null | ||
80 | }, | ||
81 | "datetime": "2019-04-01 12:35:00", | ||
82 | "activity": { | ||
83 | "id": "1001", | ||
84 | "name": "Pause" | ||
85 | }, | ||
86 | "terminal": { | ||
87 | "id": "F_17", | ||
88 | "name": "Büro", | ||
89 | "position": { | ||
90 | "lat": 52.0, | ||
91 | "lon": 11.9, | ||
92 | "address": "Am Wüsteberg 3, 01723 Kesselsdorf" | ||
93 | }, | ||
94 | "area": null, | ||
95 | "costcenter": { | ||
96 | "id": "K-47", | ||
97 | "name": "allgemeines" | ||
98 | } | ||
99 | }{{/code}} | ||
100 | |||
101 | == XML Format == | ||
102 | **XML Ausgabe** | ||
103 | {{code language="xml"}}<?xml version="1.0"?> | ||
104 | <bookings> | ||
105 | <booking> | ||
106 | <person> | ||
107 | <id/> | ||
108 | <key>DF00000001234</key> | ||
109 | <name>Max Mustermann</name> | ||
110 | <card_nr/> | ||
111 | </person> | ||
112 | <datetime>2019-04-01 05:26:00</datetime> | ||
113 | <activity> | ||
114 | <id>1003</id> | ||
115 | <name>Arbeitszeit</name> | ||
116 | </activity> | ||
117 | <terminal> | ||
118 | <id>M_123</id> | ||
119 | <name>DD-YF 456</name> | ||
120 | </terminal> | ||
121 | <position> | ||
122 | <lat>51.0</lat> | ||
123 | <lon>13.1</lon> | ||
124 | <address>Am Wüsteberg 3, 01723 Kesselsdorf</address> | ||
125 | </position> | ||
126 | <area/> | ||
127 | <costcenter> | ||
128 | <id/> | ||
129 | <name/> | ||
130 | </costcenter> | ||
131 | </booking> | ||
132 | <booking> | ||
133 | <person> | ||
134 | <id/> | ||
135 | <key>DF00000001234</key> | ||
136 | <name>Max Mustermann</name> | ||
137 | <card_nr/> | ||
138 | </person> | ||
139 | <datetime>2019-04-01 12:35:00</datetime> | ||
140 | <activity> | ||
141 | <id>1001</id> | ||
142 | <name>Pause</name> | ||
143 | </activity> | ||
144 | <terminal> | ||
145 | <id>F_17</id> | ||
146 | <name>Büro</name> | ||
147 | </terminal> | ||
148 | <position> | ||
149 | <lat>52.3</lat> | ||
150 | <lon>11.09</lon> | ||
151 | <address>Am Wüsteberg 3, 01723 Kesselsdorf</address> | ||
152 | </position> | ||
153 | <area/> | ||
154 | <costcenter> | ||
155 | <id>K-47</id> | ||
156 | <name>allgemeines</name> | ||
157 | </costcenter> | ||
158 | </booking> | ||
159 | </bookings>{{/code}} | ||
160 | |||
161 | == CSV Format == | ||
162 | Das CSV Format enthält eine Zeile pro Buchung mit allen jeweils vorhandenen Informationen. | ||
163 | === Metainformationen === | ||
164 | |=Trennzeichen|Semikolon ( ; ) | ||
165 | |=Textbegrenzer|Doppeltes Hochkomma ( " ) | ||
166 | |=Zeilenende|0x0D 0x0A (CarriageReturn LineFeed) | ||
167 | |=Header|Zeile 1 | ||
168 | |=Kodierung|Windows-1252 | ||
169 | |||
170 | === CSV Spalten === | ||
171 | |=Spalte|=Beschreibung|= | ||
172 | |PERSON_ID|//optional// selbstdefinierter Identifikator|Einstellbar unter Personalverwaltung - MA-Nr. | ||
173 | |PERSON_KEY|Selbstdefinierter Buchungsschlüssel der Person| | ||
174 | |PERSON_NAME|Name der Person| | ||
175 | |PERSON_CARD_NR|//optional// Buchungsschlüssel|Einstellbar unter Personalverwaltung - Card-Nr. | ||
176 | |DATETIME|Zeitpunkt der Buchung|Format: TT.MM.JJJJ HH:MM:SS | ||
177 | |ACTIVITY_ID|Technischer Ident einer Buchung, im Portal zur Tätigkeit hinterlegbar| | ||
178 | |ACTIVITY_NAME|Beschreibungstext, welcher für diese Buchung hinterlegt wurde| | ||
179 | |TERMINAL_ID|//optional// RTI Ident des Buchungsterminals|Einzustellen über die RTI Einstellungen | ||
180 | |TERMINAL_NAME|Bezeichner des Buchungsterminals|typischerweise das hinterlegte Fahrzeugkennzeichen | ||
181 | |LAT|//optional// Latitude zur Positionierung| | ||
182 | |LON|//otpional// Longitude zur Positionierung| | ||
183 | |ADDRESS|Aufgelöster Positionstext| | ||
184 | |AREA|Gebiete, welche für diese Position festgelegt wurden|Trennzeichen: "%~|%" | ||
185 | |COST_CENTER_ID|//optional// technischer Ident zur identifikation einer gesetzten Kostenstelle| | ||
186 | |COST_CENTER_NAME|//optional// Name einer gesetzten Kostenstelle| | ||
187 | |||
188 | === Beispiel Ausgabe === | ||
189 | **Ausgabe in CSV** | ||
190 | {{code language="java"}}"PERSON_ID";"PERSON_KEY";"PERSON_NAME";"PERSON_CARD_NR";"DATETIME";"ACTIVITY_ID";"ACTIVITY_NAME";"TERMINAL_ID";"TERMINAL_NAME";"LAT";"LON;""ADDRESS";"AREA";"COST_CENTER_ID";"COST_CENTER_NAME" | ||
191 | "A23";"DF000000000123";"Max Mustermann";"";"01.10.2019 08:00:00";"1023";"Arbeit";"M_23";"DD-YF 123";"51.4";"13.1";"Musterstraße 17, 01234 Musterstadt";"Hauptzentrale";"K-47";"allgem. Arbeiten" | ||
192 | "A23";"DF000000000123";"Max Mustermann";"";"01.10.2019 12:00:00";"1024";"Pause";"M_23";"DD-YF 123";"52.0";"11.3";"Testweg 23, 91234 Testhausen";"Müller GmbH";"";""{{/code}} | ||
193 | |||
194 | = Beispiele = | ||
195 | **Abruf der Buchungen im CSV Format** | ||
196 | {{code language="java"}}https://map.yellowfox.de/rti/get_timerecording.php?company=COMPANY_RTIKEY&import=COMPANY_IMPORTKEY&start=20190602000000&end=20190605235959&format=CSV{{/code}} | ||
197 |