> ## Documentation Index
> Fetch the complete documentation index at: https://docs.taap.it/llms.txt
> Use this file to discover all available pages before exploring further.

# Créer un lien

> Créer un nouveau deeplink avec des fonctionnalités avancées optionnelles

Créer un nouveau deeplink avec codes personnalisés, domaines, protection par mot de passe, dates d'expiration et fonctionnalités de suivi.

**Requête :**

```bash cURL theme={null}
curl -X POST 'https://api.taap.it/v1/links' \
  -H 'Authorization: Bearer taapit_votre_cle_api_ici' \
  -H 'Content-Type: application/json' \
  -d '{
    "original_url": "https://example.com/url-tres-longue-qui-a-besoin-detre-raccourcie"
  }'
```

**Réponse :**

```json theme={null}
{
  "id": "link_987654321",
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T10:30:00Z",
  "project_id": "project_123456789",
  "domain_id": "domain_987654321",
  "pixel_id": "pixel_456789123",
  "original_url": "https://example.com/url-tres-longue-qui-a-besoin-detre-raccourcie",
  "name": "Mon lien marketing",
  "description": "Lien pour la campagne d'\''été",
  "code": "ete2024",
  "app": "MonApp",
  "app_logo": "https://example.com/logo.png",
  "android_link": "monapp://open?url=https://example.com",
  "ios_link": "monapp://open?url=https://example.com",
  "windows_link": "ms-windows-store://pdp/?productid=9NBLGGH123456",
  "macos_link": "macappstore://itunes.apple.com/app/monapp/id123456789",
  "whatsapp_message": "Découvrez ce lien incroyable !",
  "metadata": {
    "title": "Produit incroyable",
    "description": "Découvrez notre nouveau produit",
    "favicon": "https://example.com/favicon.ico",
    "social_image": "https://example.com/social-image.jpg"
  },
  "qr_code_options": {
    "size": 200,
    "color": "#000000",
    "background_color": "#ffffff",
    "logo": "https://example.com/logo.png",
    "logo_size": 50,
    "error_correction_level": "M"
  },
  "utm_name": "campagne_ete",
  "utm_source": "email",
  "utm_medium": "newsletter",
  "utm_campaign": "ete2024",
  "utm_term": "marketing",
  "utm_content": "bouton_cta",
  "utm_template_id": "template_123",
  "referrer": "https://example.com",
  "password": "secure123",
  "password_description": "Entrez le mot de passe pour accéder au lien",
  "excluded_countries": [
    {
      "code": "US",
      "label": "États-Unis",
      "phone": "+1",
      "suggested": true,
      "lang": "en",
      "continent": "Amérique du Nord"
    }
  ],
  "has_public_stat": true,
  "enable_conversion_tracking": true,
  "is_archived": false,
  "expiration_date": "2024-12-31T23:59:59Z",
  "expiration_click_count": 1000,
  "clicks": 0
}
```

## Autorisation

<ParamField header="Authorization" type="string" required>
  Token Bearer pour l'authentification API. Format : `Bearer YOUR_API_KEY`
</ParamField>

## Paramètres de requête

<ParamField body="original_url" type="string" required>
  L'URL à raccourcir. Supporte les schémas http, https, mailto, tel, sms, whatsapp, tg, skype.
</ParamField>

<ParamField body="enable_conversion_tracking" type="boolean">
  Active ou non le suivi de conversion sur ce lien. Si omis, la valeur par défaut dépend de la fonctionnalité de suivi de conversion de votre plan.
</ParamField>

## Champs de réponse

### Champs principaux

<ResponseField name="id" type="string" required>
  Identifiant unique pour le lien créé
</ResponseField>

<ResponseField name="created_at" type="string" required>
  Horodatage ISO 8601 de création du lien
</ResponseField>

<ResponseField name="updated_at" type="string" required>
  Horodatage ISO 8601 de dernière mise à jour du lien
</ResponseField>

<ResponseField name="project_id" type="string">
  ID du projet associé
</ResponseField>

<ResponseField name="domain_id" type="string">
  ID du domaine personnalisé utilisé
</ResponseField>

<ResponseField name="pixel_id" type="string">
  ID du pixel de suivi associé
</ResponseField>

### Contenu du lien

<ResponseField name="original_url" type="string" required>
  L'URL originale qui a été raccourcie
</ResponseField>

<ResponseField name="name" type="string">
  Nom du lien
</ResponseField>

<ResponseField name="description" type="string">
  Description du lien
</ResponseField>

<ResponseField name="code" type="string" required>
  Le code court utilisé dans l'URL
</ResponseField>

### Deep linking

<ResponseField name="app" type="string">
  Nom de l'application mobile pour le deep linking
</ResponseField>

<ResponseField name="app_logo" type="string">
  URL vers l'image du logo de l'application
</ResponseField>

<ResponseField name="android_link" type="string">
  URL de deep link Android
</ResponseField>

<ResponseField name="ios_link" type="string">
  URL de deep link iOS
</ResponseField>

<ResponseField name="windows_link" type="string">
  URL de deep link Windows
</ResponseField>

<ResponseField name="macos_link" type="string">
  URL de deep link macOS
</ResponseField>

<ResponseField name="whatsapp_message" type="string">
  Message pré-rempli pour le partage WhatsApp
</ResponseField>

### Métadonnées et code QR

<ResponseField name="metadata" type="object">
  Métadonnées du lien pour les aperçus de site web

  <Expandable title="Propriétés des métadonnées">
    <ResponseField name="title" type="string">
      Titre de la page pour les aperçus de lien
    </ResponseField>

    <ResponseField name="description" type="string">
      Description de la page pour les aperçus de lien
    </ResponseField>

    <ResponseField name="favicon" type="string">
      URL vers l'image favicon
    </ResponseField>

    <ResponseField name="social_image" type="string">
      URL vers l'image d'aperçu des réseaux sociaux
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="qr_code_options" type="object">
  Options de génération de code QR

  <Expandable title="Options du code QR">
    <ResponseField name="size" type="integer">
      Taille du code QR en pixels
    </ResponseField>

    <ResponseField name="color" type="string">
      Couleur du code QR (format hex)
    </ResponseField>

    <ResponseField name="background_color" type="string">
      Couleur de fond du code QR (format hex)
    </ResponseField>

    <ResponseField name="logo" type="string">
      URL vers l'image du logo intégré dans le code QR
    </ResponseField>

    <ResponseField name="logo_size" type="integer">
      Taille du logo en pixels
    </ResponseField>

    <ResponseField name="error_correction_level" type="string">
      Niveau de correction d'erreur (L, M, Q, H)
    </ResponseField>
  </Expandable>
</ResponseField>

### Paramètres UTM

<ResponseField name="utm_name" type="string">
  Nom de la campagne UTM
</ResponseField>

<ResponseField name="utm_source" type="string">
  Source UTM
</ResponseField>

<ResponseField name="utm_medium" type="string">
  Moyen UTM
</ResponseField>

<ResponseField name="utm_campaign" type="string">
  Identifiant de campagne UTM
</ResponseField>

<ResponseField name="utm_term" type="string">
  Terme UTM (mots-clés)
</ResponseField>

<ResponseField name="utm_content" type="string">
  Contenu UTM
</ResponseField>

<ResponseField name="utm_template_id" type="string">
  Identifiant de modèle UTM
</ResponseField>

<ResponseField name="referrer" type="string">
  URL du référent
</ResponseField>

### Sécurité et accès

<ResponseField name="password" type="string">
  Mot de passe pour protéger le lien
</ResponseField>

<ResponseField name="password_description" type="string">
  Description affichée quand un mot de passe est requis
</ResponseField>

<ResponseField name="excluded_countries" type="array">
  Tableau des pays exclus de l'accès au lien

  <Expandable title="Propriétés des pays exclus">
    <ResponseField name="code" type="string">
      Code pays (ISO 3166-1 alpha-2)
    </ResponseField>

    <ResponseField name="label" type="string">
      Nom du pays
    </ResponseField>

    <ResponseField name="phone" type="string">
      Code téléphonique du pays
    </ResponseField>

    <ResponseField name="suggested" type="boolean">
      Si ce pays est suggéré pour l'exclusion
    </ResponseField>

    <ResponseField name="lang" type="string">
      Code de langue principal
    </ResponseField>

    <ResponseField name="continent" type="string">
      Nom du continent
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="has_public_stat" type="boolean">
  Si les statistiques du lien sont publiquement accessibles
</ResponseField>

### Suivi de conversion

<ResponseField name="enable_conversion_tracking" type="boolean">
  Si le suivi de conversion est activé sur ce lien
</ResponseField>

### Drapeaux de statut

<ResponseField name="is_archived" type="boolean">
  Si le lien est archivé
</ResponseField>

### Expiration

<ResponseField name="expiration_date" type="string">
  Date et heure ISO 8601 d'expiration du lien
</ResponseField>

<ResponseField name="expiration_click_count" type="integer">
  Nombre maximum de clics avant expiration du lien
</ResponseField>

### Analytics

<ResponseField name="clicks" type="integer">
  Nombre total de clics
</ResponseField>

## Réponses d'erreur

<ResponseExample>
  ```json 400 Mauvaise requête theme={null}
  {
    "detail": "Format d'URL invalide"
  }
  ```

  ```json 409 Conflit theme={null}
  {
    "detail": "Le code personnalisé existe déjà"
  }
  ```
</ResponseExample>
