To API umożliwia tworzenie, pobieranie informacji oraz usuwanie skróconych linków. Dostęp wymaga uwierzytelnienia Basic Auth.
1. Uwierzytelnienie
Każde zapytanie musi zawierać Basic Auth z loginem i hasłem.
Authorization: Basic base64(login:haslo)
2. Endpoint
https://idz-do.pl/api/v1
Obsługiwane metody: GET, POST, PUT
3. Parametry wspólne (GET/POST/PUT)
| Parametr | Opis |
|---|---|
| mode | Tryb operacji: info, insert, delete |
| id | ID linku (wymagany dla info/delete) |
| url | URL do skrócenia (dla insert) |
| expire | Data wygaśnięcia linku (opcjonalnie) |
| datefrom | Zakres dat – od (info dla listy) |
| dateto | Zakres dat – do (info dla listy) |
4. GET – pobieranie wszystkich linków
Zwraca listę wszystkich linków użytkownika.
GET /api/v1
Przykładowa odpowiedź:
[
{
"id": 12,
"url": "https://example.com",
"short": "ab12cd",
"created_at": "2025-01-01 12:00:00",
"live_time": 0,
"redirect_count": 5
}
]
5. POST/PUT – mode=info
Pobiera szczegóły jednego linku lub listy z zakresu dat.
a) Info dla jednego ID
POST /api/v1?mode=info&id=10
b) Info dla zakresu dat
POST /api/v1?mode=info&datefrom=2025-01-01&dateto=2025-01-31
6. POST/PUT – mode=insert
Tworzy nowy skrócony link.
POST /api/v1?mode=insert&url=https://example.com&expire=2025-12-30
Przykładowa odpowiedź:
{
"id": 22,
"shortlink": "ni87ab",
"expire_time": 1735512000,
"response": "ok"
}
7. POST/PUT – mode=delete
Usuwa link o wskazanym ID.
POST /api/v1?mode=delete&id=10
Przykładowa odpowiedź:
{
"id": 10,
"status": "ID 10 deleted",
"response": "ok"
}
8. Kody błędów
| Kod | Opis |
|---|---|
| 400 | Zły request / brak parametrów |
| 401 | Brak uwierzytelnienia |
| 403 | Błędny login/hasło |
| 406 | Niepoprawna metoda lub dane |
| 502 | Błąd połączenia z bazą |
Przykład PHP
$url = "https://idz-do.pl/api/v1/";
$data = [
"url" => "https://example.com",
"expire" => "2025-12-31 23:59:59"
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Basic Auth
curl_setopt($ch, CURLOPT_USERPWD, "LOGIN:HASLO");
$response = curl_exec($ch);
curl_close($ch);
echo $response;
Przykład Python
import requests
endpoint = "https://idz-do.pl/api/v1/"
payload = {
"url": "https://example.com",
"expire": "2025-12-31 23:59:59"
}
response = requests.post(
endpoint,
data=payload,
auth=("LOGIN", "HASLO") # Basic Auth
)
print(response.json())