Aller au contenu

Componenti

Un componente è un blocco di link e titoli condiviso tra le pagine di uno spazio di lavoro: posizionato su tre pagine, appare identico su ciascuna, e modificarlo le modifica tutte. I suoi link si gestiscono con le stesse rotte di quelli di una pagina. Creare, duplicare o posizionare un componente dipende dal piano.

Elencare i componenti

GET/v1/components

I componenti dello spazio di lavoro, in ordine alfabetico. links_count conta i link non archiviati, pages_count le pagine dove il componente è posizionato. Ambito Lettura.

curl https://api.tinylink.fr/v1/components \
  -H "Authorization: Bearer tl_il_tuo_token"

Risposte possibili

{
  "data": [
    {
      "id": "C6ad34a13d28745",
      "name": "Mes réseaux",
      "description": "Les mêmes liens sur toutes mes pages",
      "links_count": 2,
      "pages_count": 0,
      "created_at": "2026-10-17T12:12:35+02:00",
      "edit_url": "https://app.tinylink.fr/component-edit?id=C6ad34a13d28745"
    }
  ]
}

Creare un componente

POST/v1/components

name è obbligatorio (100 caratteri al massimo), description facoltativa (500 al massimo). links aggiunge in una volta fino a 100 link, descritti come su una pagina. Ambito Scrittura.

curl -X POST https://api.tinylink.fr/v1/components \
  -H "Authorization: Bearer tl_il_tuo_token" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Mes réseaux",
    "description": "Les mêmes liens sur toutes mes pages",
    "links": [
      {
        "title": "Instagram",
        "url": "https://instagram.com/exemple"
      },
      {
        "title": "YouTube",
        "url": "https://youtube.com/@exemple"
      }
    ]
  }'

Risposte possibili

{
  "id": "C6ad34a13d28745",
  "name": "Mes réseaux",
  "description": "Les mêmes liens sur toutes mes pages",
  "links_count": 2,
  "pages_count": 0,
  "created_at": "2026-10-17T12:12:35+02:00",
  "edit_url": "https://app.tinylink.fr/component-edit?id=C6ad34a13d28745",
  "links": [
    {
      "id": "L6ad34a13d2956",
      "title": "Instagram",
      "description": "",
      "url": "https://instagram.com/exemple",
      "type": "url",
      "format": "LIST",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 1,
      "status": "active",
      "image": null,
      "created_at": "2026-10-17T12:12:35+02:00"
    },
    {
      "id": "L6ad34a13d2dcb",
      "title": "YouTube",
      "description": "",
      "url": "https://youtube.com/@exemple",
      "type": "url",
      "format": "LIST",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 2,
      "status": "active",
      "image": null,
      "created_at": "2026-10-17T12:12:35+02:00"
    }
  ],
  "pages": []
}

Leggere un componente

GET/v1/components/{id}

Il componente, i suoi link nell'ordine di visualizzazione e le pagine dove è posizionato. Ambito Lettura.

curl https://api.tinylink.fr/v1/components/C6ad34a13d28745 \
  -H "Authorization: Bearer tl_il_tuo_token"

Risposte possibili

{
  "id": "C6ad34a13d28745",
  "name": "Mes réseaux",
  "description": "Les mêmes liens sur toutes mes pages",
  "links_count": 2,
  "pages_count": 0,
  "created_at": "2026-10-17T12:12:35+02:00",
  "edit_url": "https://app.tinylink.fr/component-edit?id=C6ad34a13d28745",
  "links": [
    {
      "id": "L6ad34a13d2956",
      "title": "Instagram",
      "description": "",
      "url": "https://instagram.com/exemple",
      "type": "url",
      "format": "LIST",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 1,
      "status": "active",
      "image": null,
      "created_at": "2026-10-17T12:12:35+02:00"
    },
    {
      "id": "L6ad34a13d2dcb",
      "title": "YouTube",
      "description": "",
      "url": "https://youtube.com/@exemple",
      "type": "url",
      "format": "LIST",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 2,
      "status": "active",
      "image": null,
      "created_at": "2026-10-17T12:12:35+02:00"
    }
  ],
  "pages": []
}

Modificare un componente

PATCH/v1/components/{id}

name, description, o entrambi. Ambito Scrittura.

curl -X PATCH https://api.tinylink.fr/v1/components/C6ad34a13d28745 \
  -H "Authorization: Bearer tl_il_tuo_token" \
  -H "Content-Type: application/json" \
  -d '{"name":"Réseaux sociaux"}'

Risposte possibili

{
  "id": "C6ad34a13d28745",
  "name": "Réseaux sociaux",
  "description": "Les mêmes liens sur toutes mes pages",
  "links_count": 2,
  "pages_count": 0,
  "created_at": "2026-10-17T12:12:35+02:00",
  "edit_url": "https://app.tinylink.fr/component-edit?id=C6ad34a13d28745",
  "links": [
    {
      "id": "L6ad34a13d2956",
      "title": "Instagram",
      "description": "",
      "url": "https://instagram.com/exemple",
      "type": "url",
      "format": "LIST",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 1,
      "status": "active",
      "image": null,
      "created_at": "2026-10-17T12:12:35+02:00"
    },
    {
      "id": "L6ad34a13d2dcb",
      "title": "YouTube",
      "description": "",
      "url": "https://youtube.com/@exemple",
      "type": "url",
      "format": "LIST",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 2,
      "status": "active",
      "image": null,
      "created_at": "2026-10-17T12:12:35+02:00"
    }
  ],
  "pages": []
}

Duplicare un componente

POST/v1/components/{id}/duplicate

Copia il componente e i suoi link non archiviati, immagini comprese, con il nome name (in mancanza: il nome seguito da «(copy)»). La copia non è posizionata su nessuna pagina. Ambito Scrittura.

curl -X POST https://api.tinylink.fr/v1/components/C6ad34a13d28745/duplicate \
  -H "Authorization: Bearer tl_il_tuo_token" \
  -H "Content-Type: application/json" \
  -d '{"name":"Réseaux (copie)"}'

Risposte possibili

{
  "id": "C6ad34a1406db15",
  "name": "Réseaux (copie)",
  "description": "Les mêmes liens sur toutes mes pages",
  "links_count": 3,
  "pages_count": 0,
  "created_at": "2026-10-17T12:12:36+02:00",
  "edit_url": "https://app.tinylink.fr/component-edit?id=C6ad34a1406db15",
  "links": [
    {
      "id": "L6ad34a1406fb3",
      "title": "Instagram",
      "description": "",
      "url": "https://instagram.com/exemple",
      "type": "url",
      "format": "LIST",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 1,
      "status": "active",
      "image": null,
      "created_at": "2026-10-17T12:12:36+02:00"
    },
    {
      "id": "L6ad34a14070bb",
      "title": "YouTube",
      "description": "",
      "url": "https://youtube.com/@exemple",
      "type": "url",
      "format": "LIST",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 2,
      "status": "active",
      "image": null,
      "created_at": "2026-10-17T12:12:36+02:00"
    },
    {
      "id": "L6ad34a14071a7",
      "title": "TikTok",
      "description": "",
      "url": "https://tiktok.com/@exemple",
      "type": "url",
      "format": "LIST",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 3,
      "status": "active",
      "image": null,
      "created_at": "2026-10-17T12:12:36+02:00"
    }
  ],
  "pages": []
}

Eliminare un componente

DELETE/v1/components/{id}

Elimina il componente, i suoi link e le loro statistiche, e lo toglie da tutte le pagine dove era posizionato. Irreversibile. Ambito Eliminazione.

curl -X DELETE https://api.tinylink.fr/v1/components/C6ad34a13d28745 \
  -H "Authorization: Bearer tl_il_tuo_token"

Risposte possibili

Senza contenuto

Gestire i link di un componente

GET/v1/components/{id}/links

POST/v1/components/{id}/links

PATCH/v1/components/{id}/links

PUT/v1/components/{id}/links/order

GET/v1/components/{id}/links/{lien}

PATCH/v1/components/{id}/links/{lien}

DELETE/v1/components/{id}/links/{lien}

PUT/v1/components/{id}/links/{lien}/image

Stesse rotte, stessi campi e stesse risposte dei link di una pagina, sostituendo /pages/{id} con /components/{id}: aggiunta (uno o più), lettura, modifica, modifica in blocco, nuovo ordine, immagine, eliminazione. Un componente accetta anche i blocchi di integrazione. Ambito secondo il metodo.

curl -X POST https://api.tinylink.fr/v1/components/C6ad34a13d28745/links \
  -H "Authorization: Bearer tl_il_tuo_token" \
  -H "Content-Type: application/json" \
  -d '{"title":"TikTok","url":"https://tiktok.com/@exemple"}'

Risposte possibili

{
  "id": "L6ad34a13f2dcd",
  "title": "TikTok",
  "description": "",
  "url": "https://tiktok.com/@exemple",
  "type": "url",
  "format": "LIST",
  "size": "FULL",
  "visible": true,
  "archived": false,
  "position": 3,
  "status": "active",
  "image": null,
  "created_at": "2026-10-17T12:12:35+02:00"
}

Elencare i componenti di una pagina

GET/v1/pages/{id}/components

I componenti posizionati sulla pagina: per ciascuno, il suo blocco nella pagina (block, con posizione e visibilità) e il componente stesso. Il blocco compare anche in GET /v1/pages/{id}/links, con type: "component" e component_id. Ambito Lettura.

curl https://api.tinylink.fr/v1/pages/P6ad34a0e4fef09/components \
  -H "Authorization: Bearer tl_il_tuo_token"

Risposte possibili

{
  "data": [
    {
      "block": {
        "id": "L6ad34a140effd",
        "title": "Réseaux sociaux",
        "description": null,
        "url": null,
        "type": "component",
        "format": "COMPONENT",
        "size": "FULL",
        "visible": true,
        "archived": false,
        "position": 1,
        "status": "active",
        "image": null,
        "created_at": "2026-10-17T12:12:36+02:00",
        "component_id": "C6ad34a13d28745"
      },
      "component": {
        "id": "C6ad34a13d28745",
        "name": "Réseaux sociaux",
        "description": "Les mêmes liens sur toutes mes pages",
        "links_count": 3,
        "pages_count": 1,
        "created_at": "2026-10-17T12:12:35+02:00",
        "edit_url": "https://app.tinylink.fr/component-edit?id=C6ad34a13d28745"
      }
    }
  ]
}

Posizionare un componente su una pagina

POST/v1/pages/{id}/components

component_id è obbligatorio; il componente deve appartenere allo spazio di lavoro della pagina e non esserci già. position lo colloca (1 = in alto), altrimenti va in fondo. La risposta è il blocco creato nella pagina; si nasconde, si archivia e si sposta come un link. Ambito Scrittura.

curl -X POST https://api.tinylink.fr/v1/pages/P6ad34a0e4fef09/components \
  -H "Authorization: Bearer tl_il_tuo_token" \
  -H "Content-Type: application/json" \
  -d '{"component_id":"C6ad34a13d28745","position":1}'

Risposte possibili

{
  "id": "L6ad34a140effd",
  "title": "Réseaux sociaux",
  "description": null,
  "url": null,
  "type": "component",
  "format": "COMPONENT",
  "size": "FULL",
  "visible": true,
  "archived": false,
  "position": 1,
  "status": "active",
  "image": null,
  "created_at": "2026-10-17T12:12:36+02:00",
  "component_id": "C6ad34a13d28745"
}

Togliere un componente da una pagina

DELETE/v1/pages/{id}/components/{componente}

Toglie il componente dalla pagina, senza toccare il componente né i suoi link. Ambito Eliminazione.

curl -X DELETE https://api.tinylink.fr/v1/pages/P6ad34a0e4fef09/components/C6ad34a1406db15 \
  -H "Authorization: Bearer tl_il_tuo_token"

Risposte possibili

Senza contenuto

Scollegare un componente

POST/v1/pages/{id}/components/{componente}/detach

Sostituisce il componente con una copia dei suoi link, al suo posto e nello stesso ordine (nascosti e archiviati compresi, immagini duplicate): diventano link normali della pagina, che non seguiranno più le modifiche del componente. Il componente non viene toccato. La risposta è l'elenco dei link della pagina. Ambito Scrittura.

curl -X POST https://api.tinylink.fr/v1/pages/P6ad34a0e4fef09/components/C6ad34a13d28745/detach \
  -H "Authorization: Bearer tl_il_tuo_token"

Risposte possibili

{
  "data": [
    {
      "id": "L6ad34a1426b80",
      "title": "Instagram",
      "description": "",
      "url": "https://instagram.com/exemple",
      "type": "url",
      "format": "LIST",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 1,
      "status": "active",
      "image": null,
      "created_at": "2026-10-17T12:12:36+02:00"
    },
    {
      "id": "L6ad34a1426bd5",
      "title": "YouTube",
      "description": "",
      "url": "https://youtube.com/@exemple",
      "type": "url",
      "format": "LIST",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 2,
      "status": "active",
      "image": null,
      "created_at": "2026-10-17T12:12:36+02:00"
    },
    {
      "id": "L6ad34a1426c29",
      "title": "TikTok",
      "description": "",
      "url": "https://tiktok.com/@exemple",
      "type": "url",
      "format": "LIST",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 3,
      "status": "active",
      "image": null,
      "created_at": "2026-10-17T12:12:36+02:00"
    },
    {
      "id": "L6ad34a0e849a2",
      "title": "Mes réseaux",
      "description": "",
      "url": null,
      "type": "title",
      "format": "TITLE",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 4,
      "status": "active",
      "image": null,
      "created_at": "2026-10-17T12:12:30+02:00"
    },
    {
      "id": "L6ad34a0e84122",
      "title": "Mon site",
      "description": "",
      "url": "https://exemple.fr",
      "type": "url",
      "format": "BANNER",
      "size": "HALF",
      "visible": true,
      "archived": false,
      "position": 5,
      "status": "active",
      "image": null,
      "created_at": "2026-10-17T12:12:30+02:00"
    },
    {
      "id": "L6ad34a0e8467f",
      "title": "Ma boutique",
      "description": "",
      "url": "https://exemple.fr/boutique",
      "type": "url",
      "format": "BANNER",
      "size": "HALF",
      "visible": true,
      "archived": false,
      "position": 6,
      "status": "active",
      "image": null,
      "created_at": "2026-10-17T12:12:30+02:00"
    }
  ]
}

Non trovi la tua risposta?

Scrivici dalla scheda Supporto del tuo spazio, rispondiamo entro 24 ore lavorative.

Contatta il supporto