Aller au contenu

Componentes

Un componente es un bloque de enlaces y títulos compartido entre las páginas de un espacio de trabajo: colocado en tres páginas, se muestra igual en todas, y modificarlo las modifica todas. Sus enlaces se gestionan con las mismas rutas que los de una página. Crear, duplicar o colocar un componente depende del plan.

Listar los componentes

GET/v1/components

Los componentes del espacio de trabajo, por orden alfabético. links_count cuenta los enlaces no archivados, pages_count las páginas donde está colocado el componente. Ámbito Lectura.

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

Respuestas posibles

{
  "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"
    }
  ]
}

Crear un componente

POST/v1/components

name es obligatorio (100 caracteres como máximo), description opcional (500 como máximo). links añade de una vez hasta 100 enlaces, descritos como en una página. Ámbito Escritura.

curl -X POST https://api.tinylink.fr/v1/components \
  -H "Authorization: Bearer tl_tu_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"
      }
    ]
  }'

Respuestas posibles

{
  "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": []
}

Leer un componente

GET/v1/components/{id}

El componente, sus enlaces en el orden de visualización y las páginas donde está colocado. Ámbito Lectura.

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

Respuestas posibles

{
  "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": []
}

Modificar un componente

PATCH/v1/components/{id}

name, description, o ambos. Ámbito Escritura.

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

Respuestas posibles

{
  "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": []
}

Duplicar un componente

POST/v1/components/{id}/duplicate

Copia el componente y sus enlaces no archivados, imágenes incluidas, con el nombre name (por defecto: el nombre seguido de «(copy)»). La copia no está colocada en ninguna página. Ámbito Escritura.

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

Respuestas posibles

{
  "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": []
}

Eliminar un componente

DELETE/v1/components/{id}

Elimina el componente, sus enlaces y sus estadísticas, y lo quita de todas las páginas donde estaba colocado. Irreversible. Ámbito Eliminación.

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

Respuestas posibles

Sin contenido

Gestionar los enlaces de 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

Mismas rutas, mismos campos y mismas respuestas que los enlaces de una página, sustituyendo /pages/{id} por /components/{id}: añadir (uno o varios), leer, modificar, modificación en lote, nuevo orden, imagen, eliminar. Un componente también admite bloques de integración. Ámbito según el método.

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

Respuestas posibles

{
  "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"
}

Listar los componentes de una página

GET/v1/pages/{id}/components

Los componentes colocados en la página: para cada uno, su bloque en la página (block, con su posición y su visibilidad) y el propio componente. El bloque también aparece en GET /v1/pages/{id}/links, con type: "component" y component_id. Ámbito Lectura.

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

Respuestas posibles

{
  "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"
      }
    }
  ]
}

Colocar un componente en una página

POST/v1/pages/{id}/components

component_id es obligatorio; el componente debe ser del espacio de trabajo de la página y no estar ya en ella. position lo coloca (1 = arriba); si no, va abajo. La respuesta es el bloque creado en la página; se oculta, se archiva y se mueve como un enlace. Ámbito Escritura.

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

Respuestas posibles

{
  "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"
}

Quitar un componente de una página

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

Quita el componente de la página, sin tocar el componente ni sus enlaces. Ámbito Eliminación.

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

Respuestas posibles

Sin contenido

Desvincular un componente

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

Sustituye el componente por una copia de sus enlaces, en su lugar y en el mismo orden (ocultos y archivados incluidos, imágenes duplicadas): pasan a ser enlaces normales de la página, que ya no seguirán los cambios del componente. El componente no se toca. La respuesta es la lista de enlaces de la página. Ámbito Escritura.

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

Respuestas posibles

{
  "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"
    }
  ]
}

¿No encuentras tu respuesta?

Escríbenos desde la pestaña Soporte de tu panel, respondemos en un plazo de 24 h laborables.

Contactar con el soporte