API
20-08-2009 21:42


API systemu

Od niedawna pracowaliśmy nad API systemu. Nie jest to zaawansowany mechanizm oparty na XML, jednak w pełni spełnia swoje założenia.

System opiera się na wywołaniach HTTP. Ponieważ kod HTML, może powodować problemy przy analizie kodu, dlatego decydujemy udostępnić API, dzięki któremu takich problemów być nie powinno.

Pisząc programy wykorzustujące API bardzo prosimy zadawać minimalną potrzebną ilość zapytań.
Należy również zwrócić uwagę, że pewne wartości mogą zostać dodane/usunięte, prosimy więc tak pisać programy, aby zmiany po naszej stronie nie wpływały na działanie aplikacji.
Prosimy także zaglądać na tą stronę od czasu do czasu, aby zawsze posiadać na aktualne informacje o API

Adres, pod który należy kierować żądania:
http://getfile.pl/api.php

1. Logowanie

Parametr GET przy wywołaniu:
-mode = login_v1.1
Parametry POST przy wywołaniu:
-login - zawiera login do serwisu.
-password - zawiera hasło otwartym tekstem

Po wywołaniu możliwe odpowiedzi serwera:
Poprawne logowanie:
1 login success
traffic=10000000
premium_to=04-12-2009 21:45
key=<64 bajty>


Logowanie niepoprawne:
0 wrong login or password

Komentarz:
Należy zapisać wartość "key", i podawać go przy każdym wywołaniu API jako dodatkowy parametr GET:

key = <64 bajty>


Transfer jest wyrażony w bajtach, natomiast Premium do zawiera datę ważności konta w formacie: dd-mm-rrrr gg:mm

2. Pobieranie danych konta:

Parametr GET przy wywołaniu:
-mode = get_user_data_v1.1
Parametry POST przy wywołaniu:
brak

Po wywołaniu możliwe odpowiedzi serwera:
traffic=10000000
premium_to=04-12-2009 21:45


Dla niezalogowanego użytkownika:
0 not logged in

3. Lista serwerów:

Parametr GET przy wywołaniu:
-mode = server_list_v1.1
Parametry POST przy wywołaniu:
brak

Po wywołaniu możliwe odpowiedzi serwera:
Dla zalogowanego użytkownika:
1 Main http://main.getfile.pl/
2 Dream http://dream.getfile.pl/
3 Revolution http://revolution.getfile.pl/
4 Fusion http://fusion.getfile.pl/
eot

Dla niezalogowanego użytkownika:
0 not logged in

4. Dodawanie plików do kolejki:

Parametr GET przy wywołaniu:
-mode = queue_v1.1
Parametry POST przy wywołaniu:
-url - Adres pliku do pobrania
-server - Preferowany serwer

Po wywołaniu możliwe odpowiedzi serwera:
Dla zalogowanego użytkownika:
1 added to queue
id=500

Dla niezalogowanego użytkownika:
0 not logged in

5. Odczyt kolejki:

Parametr GET przy wywołaniu:
-mode = get_queue_list
Parametry POST przy wywołaniu:
brak

Po wywołaniu możliwe odpowiedzi serwera:
Dla zalogowanego użytkownika:
1 URL: http://jakis.serwer.pl/jakis_plik
id: 500
status: 0 Oczekuje
---
1 URL: http://jakis.serwer.pl/jakis_plik2
id: 501
status: 1 Pobieranie
pobrano: 12345
server: 3
---
1 URL: http://jakis.serwer.pl/jakis_plik
id: 502
status: 2 Brak transferu na koncie
---
1 URL: http://jakis.serwer.pl/jakis_plik2
id: 503
status: 3 Błąd podczas pobierania
---
eot


Dla niezalogowanego użytkownika:
0 Nie jestes zalogowany

Komentarz:
status może przybierać następujące wartości:
0 - oczekuje
1 - pobierany
2 - brak transferu
3 - url nie istnieje/błąd pobierania


W przypadku gdy status = 1 następne linia będzie zawierać informacje kolejno: ile bajtów jest już na serwerze, oraz na którym serwerze jest pobierany plik.

6. Odczytanie listy plików do pobrania:

Parametr GET przy wywołaniu:
-mode = get_files_list_v1.1
Parametry POST przy wywołaniu:
brak

Po wywołaniu możliwe odpowiedzi serwera:
Dla zalogowanego użytkownika:
file_name=nazwa_pliku.rar
download_url=http://revolution.getfile.pl/download/1234567890abcdefghijABCDEFGHIJ/nazwa_pliku.rar
orginal_url=http://rapidshare.com/files/1234567890/sample.rar
capacity=9876543
file_id=5670
---
file_name=nazwa_pliku2.rar
download_url=http://fusion.getfile.pl/download/ABCDEFGHIJ1234567890abcdefghij/nazwa_pliku2.rar
orginal_url=http://rapidshare.com/files/1234567891/sample2.rar
capacity=1234567
file_id=5671
---
eot


Dla niezalogowanego użytkownika:
0 not logged in
 

Design by Paweł "Lord Of Da" Ficek