QL
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
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) :
{
  "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
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) :
{
  "domain": "go.mon-entreprise.com"
}
Réponse HTTP 200 / 201 (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
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) :
{
  "data": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
}
Réponse HTTP 200 / 201 (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é).