API Dokumentacja – IdzDo

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)

ParametrOpis
modeTryb operacji: info, insert, delete
idID linku (wymagany dla info/delete)
urlURL do skrócenia (dla insert)
expireData wygaśnięcia linku (opcjonalnie)
datefromZakres dat – od (info dla listy)
datetoZakres 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

KodOpis
400Zły request / brak parametrów
401Brak uwierzytelnienia
403Błędny login/hasło
406Niepoprawna metoda lub dane
502Błą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())