API
Niniejsza dokumentacja opisuje dostępne endpointy API, ich parametry oraz przykładowe zapytania i odpowiedzi. API oferuje funkcje związane z informacjami użytkownikach. Poniżej znajdują się szczegóły dotyczące dostępnych zasobów.
Autoryzacja
1. Uzyskanie Access Tokena i Refresh Tokena
Endpoint: /api/auth/login
Metoda: POST
Opis: Logowanie użytkownika, zwraca access token oraz refresh token.
CURL:
curl -X POST "http://www.randkipp.ugu.pl/api/auth/login" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "username=testuser&password=testpassword"
Response (200 OK):
{
"access_token": "81ad2c7f28b707217cb1015293b936f396b22cce",
"refresh_token": "a62fb843529e5c3d35ba823f4f38976c753e2e1f",
"expires_in": 3600
}
Response (403 Forbidden):
{
"error": {
"code": 403,
"message": "Invalid credentials"
}
}
2. Odświeżenie Access Tokena
Endpoint: /api/auth/refresh
Metoda: POST
Opis: Odświeża access token za pomocą refresh tokena.
CURL:
curl -X POST "http://www.randkipp.ugu.pl/api/auth/refresh" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "refresh_token=a62fb843529e5c3d35ba823f4f38976c753e2e1f"
Response (200 OK):
{
"access_token": "d137b336ced85747849f5fbe1ab784bd97363ef5",
"expires_in": 3600
}
Response (400 Bad Request):
{
"error": {
"code": 400,
"message": "Invalid refresh token"
}
}
Zarządzanie użytkownikami
3. Pobranie listy użytkowników
Endpoint: /api/user/list
Metoda: GET
Opis: Pobiera listę użytkowników (wymaga autoryzacji tokenem Bearer).
CURL:
curl -X GET "http://www.randkipp.ugu.pl/api/user/list?access_token=d137b336ced85747849f5fbe1ab784bd97363ef5"
API nie obsługuje autoryzacji przez HTTP Header Authorization: Bearer [token]. Tokeny można przesyłać tylko w parametrach query i post.
Response (200 OK):
{
"meta": {
"count_total": 4,
"count_loaded": 2,
"current_page": 1,
"total_pages": 2
},
"data": [
{
"id": "4",
"name": "Jerzy",
"birthdate": "1995-05-11",
"gender": "male",
"short_desc": "Pasjonat motoryzacji",
"age": 29,
"online": false
},
{
"id": "5",
"name": "Marek",
"birthdate": "1996-12-11",
"gender": "male",
"short_desc": "Pasjonat elektroniki",
"age": 28,
"online": false
}
],
"links": [
"\/api\/user\/list",
"\/api\/user\/list?page=2"
]
}
Response (403 Forbidden):
{
"error": {
"code": 403,
"message": "Token expired or invalid"
}
}