🌐 00x.dk URL Shortener SDK
A lightweight and robust PHP SDK for shortening URLs using the
00x.dk API.
🚀 Features
- ✅ PHP 7.4+ compatible
- ✅ PSR-4 autoloading
- ✅ Input validation and robust error handling
- ✅ Automatic retry logic on temporary API errors
- ✅ Easy integration via Composer
- ✅ Extensible for future endpoints (analytics, deletion, etc.)
📦 Installation
If you're using this SDK in a private project, add the Bitbucket repository to
your composer.json file:
{
"repositories": [
{
"type": "vcs",
"url": "git@bitbucket.org:csriraj/url-shortener-sdk.git"
}
],
"require": {
"agiledevelopment/url-shortener": "^1.0"
}
}
Then run the following command:
composer install
🧪 Usage Example
use AgileDevelopment\Shortener;
try {
$result = Shortener::create('your_api_token', 'https://www.example.com');
echo "Shortened URL: " . $result['shortened_url'];
} catch (Exception $e) {
echo "Error: " . $e->getMessage();
}
⚙️ Method Reference
Shortener::create(string $token, string $url, ?string $baseUrl = null, ?string $origin = null): array
| $token | string | ✅ Yes | Your Bearer token from 00x.dk. |
| $url | string | ✅ Yes | The original URL you want to shorten. |
| $baseUrl | ?string | ❌ No | Optional custom API base URL. Defaults to https://00x.dk/api/v1. |
| $origin | ?string | ❌ No | Optional origin domain used for the Origin and Referer headers. |
Returns:
[
'shortened_url' => 'https://00x.dk/abcd1234'
]
Throws:
InvalidArgumentException if the input is invalid
RuntimeException if the API request fails after retries
🔐 API Requirements
Endpoint:
POST https://00x.dk/api/v1/urls
Headers:
Authorization: Bearer <your_token>
Content-Type: application/json
Accept: application/json
Body:
{
"url": "https://bitbucket.org/csriraj/url-shortener-sdk"
}
Successful Response:
{
"shortened_url": "https://00x.dk/00xdk",
"original_url": "https://bitbucket.org/csriraj/url-shortener-sdk",
"code": "00xdk",
"message": "URL shortened successfully!"
}
📝 License
This project is licensed under the MIT License.
Made with ❤️ by **Agile Development**