LS
LSHORTER
DOCUMENTATION OFFICIELLE API & SDK (v1)

INFRASTRUCTURE EDGE & API REST POUR DÉVELOPPEURS

Raccourcissez vos URLs, appliquez du ciblage géographique/appareils et collectez des analytics en temps réel via notre API REST ultra-rapide propulsée par Cloudflare Workers (< 1 ms de latence).

Démarrage Rapide (Quickstart)

v1.0.4 Prêt
1. AUTHENTIFICATION

Toutes les requêtes API nécessitent un en-tête HTTP Authorization: Bearer lsh_live_....

2. BASE URL EDGE

Point d'entrée direct mondial : https://lshorter-api.fiatechnologiecam.workers.dev

3. FORMATS & JSON

Toutes les requêtes et réponses utilisent exclusivement le format application/json.

GET/api/v1/analytics
Rate Limit : 600 req/min

Obtenir les analytics de trafic

Retourne les statistiques complètes de clics, top pays géolocalisés, villes, appareils, navigateurs et flux en direct.

Exemple CURL
12
curl -X GET "https://lshorter-api.fiatechnologiecam.workers.dev/api/v1/analytics?period=30d" \
-H "Authorization: Bearer lsh_live_votre_cle_api"
Réponse HTTP 200 / 201 (JSON) :
response.json
{
"success": true,
"data": {
"total_clicks": 25480,
"unique_clicks": 19850,
"clicks_growth": 14.5,
"top_countries": [
{
"code": "FR",
"name": "France",
"count": 12400,
"percentage": 48
},
{
"code": "BF",
"name": "Burkina Faso",
"count": 6800,
"percentage": 26
}
],
"top_devices": [
{
"device": "Mobile",
"count": 16500,
"percentage": 65
},
{
"device": "Desktop",
"count": 8980,
"percentage": 35
}
]
}
}
POST/api/v1/domains
Rate Limit : 100 req/min

Connecter un domaine personnalisé

Déclare un nom de domaine ou sous-domaine en marque blanche et génère automatiquement les enregistrements DNS CNAME et TXT pour la délivrance du certificat SSL.

Exemple CURL
1234
curl -X POST https://lshorter-api.fiatechnologiecam.workers.dev/api/v1/domains \
-H "Authorization: Bearer lsh_live_votre_cle_api" \
-H "Content-Type: application/json" \
-d '{ "domain": "go.mon-entreprise.com" }'
Corps de Requête (JSON Body) :
request.json
{
"domain": "go.mon-entreprise.com"
}
Réponse HTTP 200 / 201 (JSON) :
response.json
{
"success": true,
"data": {
"id": "dom_9c4e2a",
"domain_name": "go.mon-entreprise.com",
"status": "pending",
"dnsRecords": [
{
"type": "CNAME",
"name": "go.mon-entreprise.com",
"value": "lsho.cc",
"ttl": 3600,
"note": "Pointe votre domaine vers l'infrastructure Edge Cloudflare"
},
{
"type": "TXT",
"name": "_lshorter-verify.go.mon-entreprise.com",
"value": "lshorter-verify=dom_9c4e2a",
"ttl": 3600,
"note": "Vérification de propriété"
}
]
}
}
POST/api/v1/upload-image
Rate Limit : 120 req/min

Upload d'image pour aperçu social

Téléverse une image d'aperçu pour les cartes Twitter et Open Graph (Facebook, WhatsApp, LinkedIn, Discord).

Exemple CURL
1234
curl -X POST https://lshorter-api.fiatechnologiecam.workers.dev/api/v1/upload-image \
-H "Authorization: Bearer lsh_live_votre_cle_api" \
-H "Content-Type: application/json" \
-d '{ "data": "data:image/png;base64,..." }'
Corps de Requête (JSON Body) :
request.json
{
"data": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
}
Réponse HTTP 200 / 201 (JSON) :
response.json
{
"success": true,
"url": "https://lshorter-api.fiatechnologiecam.workers.dev/cdn/banner_img_9918.png"
}

Codes de Réponses & Erreurs HTTP Standard

CodeSignificationDescription
200 OK / 201 CreatedSuccèsLa requête a été exécutée et traitée sans erreur.
400 Bad RequestParamètres InvalidesURL cible manquante, format d'URL malformé ou slug non conforme.
401 UnauthorizedClé API InvalideClé API manquante dans l'en-tête Authorization ou clé révoquée.
403 ForbiddenQuota DépasséLimite de liens ou de domaines personnalisés atteinte pour votre forfait.
429 Too Many RequestsRate LimitDépassement du débit autorisé par minute (temporairement bridé).