├── LICENSE
├── proxy
└── v1
│ ├── GetInstitutes
│ └── index.php
│ ├── GetPrivacyStatement
│ └── index.php
│ ├── GetTrainings
│ └── index.php
│ ├── GetPeriodTerms
│ └── index.php
│ ├── GetPeriodData
│ └── index.php
│ ├── GetMessages
│ └── index.php
│ └── GetCalendarData
│ └── index.php
└── README.md
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Ruzsa Gergely
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/proxy/v1/GetInstitutes/index.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/proxy/v1/GetPrivacyStatement/index.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/proxy/v1/GetTrainings/index.php:
--------------------------------------------------------------------------------
1 | $userlogin,
38 | "Password" => $loginpass
39 | );
40 |
41 | // Create CURL instance
42 | $curl = curl_init();
43 | // CURL settings
44 | curl_setopt($curl, CURLOPT_URL, $url);
45 | curl_setopt($curl, CURLOPT_HTTPHEADER, array(
46 | 'Content-Type: application/json'
47 | ));
48 | curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
49 | curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
50 | curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
51 |
52 | // Executing Curl
53 | $result = curl_exec($curl);
54 | if (!$result) {
55 | $result = null;
56 | }
57 | curl_close($curl);
58 |
59 | echo $result;
60 | }
61 |
62 | ?>
--------------------------------------------------------------------------------
/proxy/v1/GetPeriodTerms/index.php:
--------------------------------------------------------------------------------
1 | $userlogin,
43 | "Password" => $loginpass,
44 | "CurrentPage" => $currentPage
45 | );
46 |
47 | // Create CURL instance
48 | $curl = curl_init();
49 | // CURL settings
50 | curl_setopt($curl, CURLOPT_URL, $url);
51 | curl_setopt($curl, CURLOPT_HTTPHEADER, array(
52 | 'Content-Type: application/json'
53 | ));
54 | curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
55 | curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
56 | curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
57 |
58 | // Executing Curl
59 | $result = curl_exec($curl);
60 | if (!$result) {
61 | $result = null;
62 | }
63 | curl_close($curl);
64 |
65 | echo $result;
66 | }
67 |
68 | ?>
--------------------------------------------------------------------------------
/proxy/v1/GetPeriodData/index.php:
--------------------------------------------------------------------------------
1 | $userlogin,
44 | "Password" => $loginpass,
45 | "CurrentPage" => $currentPage,
46 | "PeriodTermID" => $periodID
47 | );
48 |
49 | // Create CURL instance
50 | $curl = curl_init();
51 | // CURL settings
52 | curl_setopt($curl, CURLOPT_URL, $url);
53 | curl_setopt($curl, CURLOPT_HTTPHEADER, array(
54 | 'Content-Type: application/json'
55 | ));
56 | curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
57 | curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
58 | curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
59 |
60 | // Executing Curl
61 | $result = curl_exec($curl);
62 | if (!$result) {
63 | $result = null;
64 | }
65 | curl_close($curl);
66 |
67 | echo $result;
68 | }
69 |
70 | ?>
--------------------------------------------------------------------------------
/proxy/v1/GetMessages/index.php:
--------------------------------------------------------------------------------
1 | $userlogin,
52 | "Password" => $loginpass,
53 | "MessageID" => $messageid,
54 | "MessageSortEnum" => $messageSortNum,
55 | "CurrentPage" => $currentPage
56 | );
57 |
58 | //Create CURL instance
59 | $curl = curl_init();
60 | //CURL settings
61 | curl_setopt($curl, CURLOPT_URL, $url);
62 | curl_setopt($curl, CURLOPT_HTTPHEADER, array(
63 | 'Content-Type: application/json'
64 | ));
65 | curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
66 | curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
67 | curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
68 |
69 | //Execute
70 | $result = curl_exec($curl);
71 | if (!$result) {
72 | $result = null;
73 | }
74 | curl_close($curl);
75 |
76 | echo $result;
77 | }
78 |
79 | ?>
--------------------------------------------------------------------------------
/proxy/v1/GetCalendarData/index.php:
--------------------------------------------------------------------------------
1 | $userlogin,
80 | "Password" => $loginpass,
81 | "CurrentPage" => $currentPage,
82 | "needAllDaylong" => $alldaylong,
83 | "Time" => $time,
84 | "Exam" => $exam,
85 | "Task" => $task,
86 | "Apointment" => $appointment,
87 | "RegisterList" => $registerlist,
88 | "Consultation" => $consultation,
89 | "startDate" => "/Date($startDate)/",
90 | "endDate" => "/Date($endDate)/"
91 | );
92 |
93 | //Create CURL instance
94 | $curl = curl_init();
95 | //CURL settings
96 | curl_setopt($curl, CURLOPT_URL, $url);
97 | curl_setopt($curl, CURLOPT_HTTPHEADER, array(
98 | 'Content-Type: application/json'
99 | ));
100 | curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
101 | curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
102 | curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
103 |
104 | //Execute
105 | $result = curl_exec($curl);
106 | if (!$result) {
107 | $result = null;
108 | }
109 | curl_close($curl);
110 | echo $result;
111 | }
112 | ?>
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Poszeidon és Neptun API
2 |
3 | ## Update
4 | Elindult az [Atlantisz](https://github.com/RuzsaGergely/Atlantisz) projekt, amelynek keretében egy proxy alá veszem a Krétát és a Neptunt. Természetesen rendszer és proxy dokumentációval ellátva. (Az átfogó Kréta dokumentáció már fent van)
5 |
6 | ## Bevezető
7 |
8 | A lentebb olvasható információkat a hivatalos Neptun appból szedtem ki. A teszteléseket manuálisan végeztem Postman segítségével. A proxy-t PHP-ban írtam/írom, mert... mazoista(?) vagyok.
9 |
10 | Ha a Poszeidon proxyt szeretnéd használni, akkor a Releasekben találsz egy előre elkészített Docker konténert.
11 |
12 | ## Neptun API
13 |
14 | ### Intézmények lekérése
15 |
16 | Az intézmények listáját erről az URL-ről lehet lekapni POST metódussal:
17 |
18 | ```
19 | https://mobilecloudservice.cloudapp.net/MobileServiceLib/MobileCloudService.svc/GetAllNeptunMobileUrls
20 | ```
21 |
22 | Ennek van annyi szépséghibája hogy, a szerver amiről a Neptun app lekéri az iskolák listáját annyira el van hanyagolva hogy most (2019-ben) 3 éve lejárt SSL tanúsítványt használnak, de mindeközben követeli a HTTPS használatát. Ki is halt tőle a Postman...
23 |
24 | Ha minden jól ment (és sikerült áthidalni az SSL-es problémát) akkor egy, az E-krétához hasonló listát kell hogy kapjunk. Egy kis részlet belőle:
25 |
26 | ```json
27 | ...
28 | {
29 | "Languages": "HU,EN,DE,FR",
30 | "Name": "Budapesti Gazdasági Egyetem",
31 | "NeptunMobileServiceVersion": 0,
32 | "OMCode": "FI82314",
33 | "Url": "https://neptun3.uni-bge.hu/hallgato/MobileService.svc"
34 | },
35 | {
36 | "Languages": "HU,EN,DE",
37 | "Name": "Budapesti Metropolitan Egyetem",
38 | "NeptunMobileServiceVersion": 0,
39 | "OMCode": "FI33842",
40 | "Url": "https://neptunweb1.metropolitan.hu/hallgato/MobileService.svc"
41 | },
42 | ...
43 | ```
44 |
45 | ### Adatvédelmi nyilatkozat lekérése
46 |
47 | Az adatvédelmi tájékoztatót így lehet lekérni (újfent POST methoddal).
48 |
49 | ```
50 | https:////MobileService.svc/GetPrivacyStatement
51 | ```
52 |
53 | Érdekes módon nem minden egyetemnek/főiskolának van adatvédelmi nyilatkozata rögzítve a Neptun rendszerben így például a BME egy `{"URL": null}`-t fog adni míg mondjuk egy Tan kapuja `{"URL": "https://www.tkbf.hu/foiskola/adatvedelmi-tajekoztato"}`-t.
54 |
55 | ### Egy fiókhoz tartozó képzések lekérése
56 |
57 | A képzéseket így lehet lekérni, természetesen POST methoddal.
58 |
59 | ```
60 | https:////MobileService.svc/GetTrainings
61 | ```
62 |
63 | Az elküldött lekérésben ezek szerepelnek:
64 |
65 | ```json
66 | {
67 | "OnlyLogin":false,
68 | "TotalRowCount":-1,
69 | "ExceptionsEnum":0,
70 | "UserLogin":"dummy",
71 | "Password":"dummypass",
72 | "NeptunCode":null,
73 | "CurrentPage":0,
74 | "StudentTrainingID":null,
75 | "LCID":1038,
76 | "ErrorMessage":null,
77 | "MobileVersion":"1.5",
78 | "MobileServiceVersion":0
79 | }
80 | ```
81 |
82 | - OnlyLogin => Nem teljesen értem a koncepciót mögötte, de ha "true"-ra állítom akkor nem kapom vissza a képzéseket.
83 | - TotalRowCount => A -1 itt végtelent jelent szerintem, tehát bármennyi képzés van, ki kell hogy tudja adni.
84 | - ExceptionsEnum => ha rájövök mi az, leírom.
85 | - UserLogin => Neptunos felhasználónév.
86 | - Password => Neptunos jelszó.
87 | - NeptunCode => Ezt a bejelentkezés alapján kapjuk vissza, bár nem értem miért lehet elküldeni.
88 | - CurrentPage => A lekérés eredményének aktuális oldala (pl. ha sok eredmény van, nem fér ki egy oldalra mert... csak...).
89 | - StudentTrainingID => Ezt a bejelentkezés alapján kapjuk vissza, bár nem értem miért lehet elküldeni.
90 | - LCID => Windows Language Code Identifier. 1038 decimálisban ami hexadecimálisban 0x040E. Ez a [Windows LCID dokumentáció](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f) szerint a 'hu-HU' tehát magyar kódolás.
91 | - ErrorMessage => Nem értem a koncepciót mögötte (lásd később a verdiktnél).
92 | - MobileVersion => Mivel az appból szedtem ki, így szinte biztos vagyok benne hogy, az a app verziójára utal
93 | - MobileServiceVersion => Nem értem a koncepciót mögötte (lásd később a verdiktnél).
94 |
95 | **Verdikt:** Megfigyeltem hogy, ha csak a `UserLogin` és `Password` mezőket hagyom bent a lekérésben akkor is hibátlanul visszakapom a képzéseket. *Ipso facto, a program által használt lekérésnek a 3/4-de szemét.*
96 |
97 | ### Üzenetek lekérése
98 |
99 | Az üzeneteket így lehet lekérni, természetesen POST methoddal.
100 |
101 | ```
102 | https:////MobileService.svc/GetMessages
103 | ```
104 |
105 | Az elküldött lekérésben ezek szerepelnek:
106 |
107 | ```json
108 | {
109 | "TotalRowCount":-1,
110 | "ExceptionsEnum":0,
111 | "MessageID":0,
112 | "MessageSortEnum":0,
113 | "UserLogin":"dummy",
114 | "Password":"dummypass",
115 | "NeptunCode":"DUMMY",
116 | "CurrentPage":0,
117 | "StudentTrainingID":123456789,
118 | "LCID":1038,
119 | "ErrorMessage":null,
120 | "MobileVersion":"1.5",
121 | "MobileServiceVersion":0
122 | }
123 | ```
124 |
125 | A fentebb írtak itt is relevánsak. A `UserLogin` és a `Password` szükséges csak.
126 |
127 | A `MessageID`-val tudunk egyetlen üzenetre rámutatni. Ha 0-ás akkor minden üzenetet kilistáz az adott oldalon (lásd `CurrentPage` ), de ha megadunk egy ID-t neki (pl.: 866172401) akkor azt az egy üzenetet fogja kiírni.
128 |
129 | Emellett fontos a `CurrentPage` is mert ha több oldalon keresztül van üzenet akkor ezzel tudjuk módosítani hogy, melyik oldalról szeretnénk lekérni a leveleket.
130 |
131 | A `MessageSortEnum` paraméterrel tudjuk állítani azt hogy a leveleket milyen módon rendezze.
132 |
133 | - 0 => Időrendben: Legújabbtól a legrégebbi üzenetig.
134 | - 1 => Időrendben: Legrégebbitől a legújabb üzenetig.
135 | - 2 => Küldő neve szerint: Z-A
136 | - 3 => Küldő neve szerint: A-Z
137 | - 4 és afelett => Nem tudtam egyértelműen megállapítani. (befejezetlen funkció?)
138 |
139 | Rövidítve valahogy így nézhet ki a lekérés:
140 |
141 | ```json
142 | {
143 | "MessageID":0,
144 | "MessageSortEnum": 0,
145 | "UserLogin":"dummy",
146 | "Password":"dummy",
147 | "CurrentPage":0
148 | }
149 | ```
150 |
151 | ### Naptár lekérése
152 |
153 | A naptárt így lehet lekérni, természetesen POST methoddal.
154 |
155 | ```
156 | https:////MobileService.svc/GetCalendarData
157 | ```
158 |
159 | Az elküldött lekérésben ezek szerepelnek:
160 |
161 | ```json
162 | {
163 | "needAllDaylong":false,
164 | "TotalRowCount":-1,
165 | "ExceptionsEnum":0,
166 | "Time":true,
167 | "Exam":true,
168 | "Task":true,
169 | "Apointment":true,
170 | "RegisterList":true,
171 | "Consultation":true,
172 | "startDate":"\/Date(1561922719265)\/",
173 | "endDate":"\/Date(1588274719265)\/",
174 | "entityLimit":0,
175 | "UserLogin":"dummy",
176 | "Password":"dummypass",
177 | "NeptunCode":"DUMMY",
178 | "CurrentPage":0,
179 | "StudentTrainingID":123456789,
180 | "LCID":1038,
181 | "ErrorMessage":null,
182 | "MobileVersion":"1.5",
183 | "MobileServiceVersion":0
184 | }
185 | ```
186 |
187 | A fentiek itt is relevánsak, habár nem csak a `UserLogin` és `Password` fog itt kelleni. A `Time`, `Exam`, `Task`, `Appointment`, `RegisterList`, `Consultation` kulcsok true/false értékek. Ezekkel lehet szűrni a naptár tartalmát. A `startDate` és `endDate` határozza meg a naptár időintervallumját. Fontos kihangsúlyozni hogy, a dátumok Epoch időben van megadva. ([Itt egy konverter hozzá](https://www.online-toolz.com/tools/date-functions.php)). Az `entityLimit` nem tudom hogy, mit csinál. Ha 0 akkor visszaad értékeket, más egyéb értékre semmit se ad vissza. (rossz implementáció?)
188 |
189 | Rövidítve valahogy így nézhet ki a lekérés:
190 |
191 | ```json
192 | {
193 | "needAllDaylong":false,
194 | "Time":true,
195 | "Exam":true,
196 | "Task":true,
197 | "Apointment":true,
198 | "RegisterList":true,
199 | "Consultation":true,
200 | "startDate":"\/Date(1561922719265)\/",
201 | "endDate":"\/Date(1588274719265)\/",
202 | "UserLogin":"dummy",
203 | "Password":"dummypass"
204 | }
205 | ```
206 |
207 | ### Időszakok lekérése
208 |
209 | Az időszakokat így lehet lekérni, természetesen POST methoddal.
210 |
211 | ```
212 | https:////MobileService.svc/GetPeriodTerms
213 | ```
214 |
215 | Az elküldött lekérésben ezek szerepelnek:
216 |
217 | ```json
218 | {
219 | "TotalRowCount":-1,
220 | "ExceptionsEnum":0,
221 | "UserLogin":"dummy",
222 | "Password":"dummypass",
223 | "NeptunCode":null,
224 | "CurrentPage":0,
225 | "StudentTrainingID":null,
226 | "LCID":1038,
227 | "ErrorMessage":null,
228 | "MobileVersion":"1.5",
229 | "MobileServiceVersion":0
230 | }
231 | ```
232 |
233 | A fentebb írtak itt is relevánsak. A `UserLogin` és a `Password` szükséges csak, de a `CurrentPage` hasznos lehet felhasználáskor.
234 |
235 | Rövidítve valahogy így nézhet ki:
236 |
237 | ```json
238 | {
239 | "UserLogin":"dummy",
240 | "Password":"dummypass",
241 | "CurrentPage":0
242 | }
243 | ```
244 |
245 | ### Időszak részleteinek lekérése
246 |
247 | Az időszakok részeit így lehet lekérni, természetesen POST methoddal.
248 |
249 | ```
250 | https:////MobileService.svc/GetPeriods
251 | ```
252 |
253 | Az elküldött lekérésben ezek szerepelnek:
254 |
255 | ```json
256 | {
257 | "PeriodTermID":70619,
258 | "TotalRowCount":-1,
259 | "ExceptionsEnum":0,
260 | "UserLogin":"dummy",
261 | "Password":"dummypass",
262 | "NeptunCode":null,
263 | "CurrentPage":0,
264 | "StudentTrainingID":null,
265 | "LCID":1038,
266 | "ErrorMessage":null,
267 | "MobileVersion":"1.5",
268 | "MobileServiceVersion":0
269 | }
270 | ```
271 |
272 | A fentiek itt is relevánsak, annyi kiegészítéssel hogy, a `UserLogin` és a `Password` kulcs mellett szükséges egy `PeriodTermID` megadása is. Ezzel tudjuk meghatározni hogy, melyik időszak információira vagyunk kíváncsiak.
273 |
274 | Rövidítve valahogy így nézhet ki:
275 |
276 | ```json
277 | {
278 | "PeriodTermID":70619,
279 | "ExceptionsEnum":0,
280 | "UserLogin":"dummy",
281 | "Password":"dummypass",
282 | "CurrentPage":0
283 | }
284 | ```
285 |
286 | ## Poszeidon használata
287 |
288 | ### Bevezető
289 |
290 | Ezt a kis proxyt azért írtam hogy, a jövőben egyszerűben lehessen a Neptun rendszerét használni, ezzel elősegítve a különféle appokat, webappokat és gadgetek fejlesztését.
291 |
292 | Az összes lekérés `POST` metódussal történik, valamint a Poszeidon által visszaadott respone megfelel a Neptun API responsenak, azt nem szűri.
293 |
294 | ### Intézmények lekérése
295 |
296 | ```
297 | http://localhost/poszeidon/proxy/v1/GetInstitutes/
298 | ```
299 |
300 | Ennek a lekéréséhez nem kell semmilyen adatot elküldeni (nem is fogad/dolgoz fel).
301 |
302 | ### Adatvédelmi nyilatkozat lekérése
303 |
304 | ```
305 | http://localhost/poszeidon/proxy/v1/GetPrivacyStatement/
306 | ```
307 |
308 | Ehhez a lekéréshez az alábbi adatokat kell megadni:
309 |
310 | ```json
311 | {
312 | "url": "https:////MobileService.svc"
313 | }
314 | ```
315 |
316 | ### Egy fiókhoz tartozó képzések lekérése
317 |
318 | ```
319 | http://localhost/poszeidon/proxy/v1/GetTrainings/
320 | ```
321 |
322 | Ehhez a lekéréshez az alábbi adatokat kell megadni:
323 |
324 | ```json
325 | {
326 | "url": "https:////MobileService.svc",
327 | "userlogin": "dummy",
328 | "password": "dummypass"
329 | }
330 | ```
331 |
332 | ### Üzenetek lekérése
333 |
334 | ```
335 | http://localhost/poszeidon/proxy/v1/GetMessages/
336 | ```
337 |
338 | Ehhez a lekéréshez az alábbi adatokat kell megadni:
339 |
340 | ```json
341 | {
342 | "url": "https:////MobileService.svc",
343 | "userlogin": "dummy",
344 | "password": "dummypass"
345 | }
346 | ```
347 |
348 | Ez a lekérés az alapvető, viszont egy bővített változatban akár az egy levélre való szűrést, oldal változtatást és rendezést is be tudunk állítani.
349 |
350 | A bővített lekérés így néz ki:
351 |
352 | ```json
353 | {
354 | "url": "https:////MobileService.svc",
355 | "userlogin": "dummy",
356 | "password": "dummypass",
357 | "messageID": 0,
358 | "currentPage": 0,
359 | "messageSortNum": 0
360 | }
361 | ```
362 |
363 | ### Naptár lekérése
364 |
365 | ```
366 | http://localhost/poszeidon/proxy/v1/GetCalendarData/
367 | ```
368 |
369 | Ehhez a lekéréshez az alábbi adatokat kell megadni:
370 |
371 | ```json
372 | {
373 | "url": "https:////MobileService.svc",
374 | "userlogin": "dummy",
375 | "password": "dummypass"
376 | }
377 | ```
378 |
379 | Ez a lekérés az alapvető, de sokkal több paramétert lehet módosítani. Egy bővített lekérés így néz ki:
380 |
381 | ```json
382 | {
383 | "url": "https:////MobileService.svc",
384 | "userlogin": "dummy",
385 | "password": "dummypass",
386 | "currentPage": 1,
387 | "allDayLong": true,
388 | "Time": false,
389 | "Exam": false,
390 | "Task": false,
391 | "Appointment": false,
392 | "RegisterList": false,
393 | "Consultation": false
394 | }
395 | ```
396 |
397 | Az `AllDayLong` paramétert leszámítva az összesnek 'true' az alapvető értéke, valamint a `CurrentPage` az minden esetben 0.
398 |
399 | ### Időszakok lekérése
400 |
401 | ```
402 | http://localhost/poszeidon/proxy/v1/GetPeriodTerms/
403 | ```
404 |
405 | Ehhez a lekéréshez az alábbi adatokat kell megadni:
406 |
407 | ```json
408 | {
409 | "url": "https:////MobileService.svc",
410 | "userlogin": "dummy",
411 | "password": "dummypass"
412 | }
413 | ```
414 |
415 | Ha esetleg nem férne ki egy lekérésbe, mert annyi időszak van valamiért nyilvántartva akkor a `currentPage` kulcs hozzáadásával lehet szabályozni.
416 |
417 | ### Időszak részleteinek lekérése
418 |
419 | ```
420 | http://localhost/poszeidon/proxy/v1/GetPeriodData/
421 | ```
422 |
423 | Ehhez a lekéréshez az alábbi adatokat kell megadni:
424 |
425 | ```json
426 | {
427 | "url": "https:////MobileService.svc",
428 | "userlogin": "dummy",
429 | "password": "dummypass",
430 | "periodID": "00000"
431 | }
432 | ```
433 |
434 | Opcionálisan a `currentPage` kulcs itt is játszik, ha több oldalas lenne a lekérés eredménye.
435 |
--------------------------------------------------------------------------------