RESTful API

OzLink API v1.0

Dasturlaringiz uchun kuchli link qisqartirish API. Oddiy, tez va xavfsiz integratsiya.

API Hujjatlari

Integratsiya uchun to'liq qo'llanma

Asosiy ma'lumot

Base URL https://ozlink.uz/api/v1.php
Format JSON
Autentifikatsiya X-API-Key header
Rate Limit 100 so'rov / kun
POST /api/v1.php?action=shorten

Link qisqartirish

Uzun URL ni qisqa linkka aylantiradi.

Parametrlar

ParametrTuriTavsif
urlstring *Qisqartiriladigan URL
custom_codestringMaxsus qisqa kod
titlestringLink sarlavhasi

Misol so'rov

cURL
curl -X POST "https://ozlink.uz/api/v1.php?action=shorten" \
  -H "X-API-Key: ozl_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/very-long-url",
    "custom_code": "my-link"
  }'

Javob

JSON
{
  "success": true,
  "data": {
    "id": 42,
    "short_code": "my-link",
    "short_url": "https://ozlink.uz/my-link",
    "original_url": "https://example.com/very-long-url",
    "title": "Example Page"
  }
}
GET /api/v1.php?action=stats&code=my-link

Link statistikasi

Berilgan qisqa link statistikasini qaytaradi.

Parametrlar

codestring *Qisqa kod
daysintegerKunlar soni (default: 30)

Misol so'rov

cURL
curl "https://ozlink.uz/api/v1.php?action=stats&code=my-link" \
  -H "X-API-Key: ozl_your_api_key_here"

Javob

JSON
{
  "success": true,
  "data": {
    "short_code": "my-link",
    "original_url": "https://example.com/...",
    "total_clicks": 1234,
    "created_at": "2024-01-15 10:30:00",
    "devices": {"desktop": 60, "mobile": 35, "tablet": 5},
    "browsers": {"Chrome": 520, "Safari": 300, "Firefox": 200},
    "countries": {"Uzbekistan": 800, "Russia": 200}
  }
}
DELETE /api/v1.php?action=delete&code=my-link

Link o'chirish

Linkni butunlay o'chiradi. Bu amalni qaytarib bo'lmaydi.

cURL
curl -X DELETE "https://ozlink.uz/api/v1.php?action=delete&code=my-link" \
  -H "X-API-Key: ozl_your_api_key_here"
GET /api/qr.php?url=...&size=300

QR kod yaratish

Berilgan URL uchun QR kod PNG rasmini qaytaradi.

urlstring *QR kod uchun URL
sizeintegerRasm hajmi px (100-1000)
fg_colorstringOld rang (#000000)
bg_colorstringOrqa rang (#FFFFFF)
cURL
curl "https://ozlink.uz/api/qr.php?url=https://ozlink.uz/my-link&size=400" \
  -o qrcode.png

Dasturlash tillari

PHP

PHP
<?php
$apiKey = 'ozl_your_api_key_here';

$ch = curl_init('https://ozlink.uz/api/v1.php?action=shorten');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'X-API-Key: ' . $apiKey,
        'Content-Type: application/json'
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'url' => 'https://example.com/long-url'
    ])
]);

$response = json_decode(curl_exec($ch), true);
curl_close($ch);

echo $response['data']['short_url'];
// https://ozlink.uz/aBcDeF

JavaScript (Fetch)

JavaScript
const response = await fetch('https://ozlink.uz/api/v1.php?action=shorten', {
    method: 'POST',
    headers: {
        'X-API-Key': 'ozl_your_api_key_here',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        url: 'https://example.com/long-url',
        custom_code: 'my-link'
    })
});

const data = await response.json();
console.log(data.data.short_url);

Python

Python
import requests

response = requests.post(
    'https://ozlink.uz/api/v1.php?action=shorten',
    headers={'X-API-Key': 'ozl_your_api_key_here'},
    json={'url': 'https://example.com/long-url'}
)

data = response.json()
print(data['data']['short_url'])

Xatolik kodlari

KodXabarTavsif
400Bad RequestNoto'g'ri parametrlar
401UnauthorizedAPI kalit noto'g'ri
403ForbiddenRuxsat yo'q
404Not FoundLink topilmadi
429Too Many RequestsRate limit oshdi
500Server ErrorIchki xatolik