Skip to Content
Elido is in closed beta — APIs are stable but rate-limits and quotas may change before GA. Request access →
GhiduriBio pages

Pagini bio

O pagină bio este o singură pagină de destinație mobile-first care găzduiește o listă de link-uri - formatul popularizat de Linktree pentru “link în bio” pe Instagram, TikTok și X. Fiecare pagină se află la bio.elido.app/<username> (domeniile personalizate pentru paginile bio sunt planificate și încă nu sunt disponibile) și este randată server-side de bio-renderer, astfel încât se încarcă la prima afișare.

Paginile bio sunt independente de link-urile scurte: au propriul spațiu de URL-uri, propriul flux de click-uri și propriile analytics.

Creează o pagină

curl -X POST \ https://api.elido.app/v1/workspaces/1/bio \ -H "Authorization: Bearer $ELIDO_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "username": "acme", "display_name": "Acme Inc.", "bio": "We make sprockets that just work.", "avatar_url": "https://cdn.example.com/avatar.png", "is_published": true, "theme": { "bg_color": "#0f172a", "text_color": "#f8fafc", "button_style": "rounded", "button_color": "#5b6cff", "button_radius": 12 } }'
CâmpNote
username3–32 de caractere, litere mici, cifre, -, _. Unic la nivel global.
display_nameNumele îngroșat afișat deasupra bio.
bioText liber sub nume.
avatar_urlURL opțional de imagine; afișat ca cerc.
is_publishedImplicit false. Paginile nepublicate dau 404 public.
themeJSON cu bg_color, text_color, button_style, button_color, button_radius.
curl -X POST \ https://api.elido.app/v1/workspaces/1/bio/9/links \ -H "Authorization: Bearer $ELIDO_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "title": "Latest blog post", "url": "https://example.com/blog/sprocket-3", "icon": "rss", "sort_order": 0 }'

sort_order controlează ordinea de afișare crescătoare; rebalansează cu PATCH pe fiecare link sau folosește drag-and-drop din dashboard. Pictogramele sunt nume Lucide (rss, youtube, instagram, …).

Randare publică

Pagina propriu-zisă provine din serviciul bio-renderer:

GET https://bio.elido.app/acme

Renderer-ul apelează GET /v1/bio/acme (public, fără autentificare) o dată pe cerere și păstrează în cache după username timp de 60 de secunde.

Urmărirea click-urilor

Fiecare buton are un tracker de tip fire-and-forget:

navigator.sendBeacon( "https://api.elido.app/v1/bio/acme/click", JSON.stringify({ link_id: 17 }) );

Renderer-ul îl conectează automat - nu trebuie să livrezi tu JavaScript-ul. Endpoint-ul înregistrează Country, User-Agent și Referer, apoi distribuie către ClickHouse prin același pipeline click-ingester ca și click-urile pe link-urile scurte.

Hartă termică

Totalurile de click-uri pe link alimentează harta termică din dashboard:

curl https://api.elido.app/v1/workspaces/1/bio/9/heatmap \ -H "Authorization: Bearer $ELIDO_TOKEN"
[ { "bio_link_id": 17, "clicks": 4321 }, { "bio_link_id": 18, "clicks": 1187 } ]

Dashboardul îl afișează ca o diagramă cu bare orizontale, sortată după sort_order, ca să vezi dintr-o privire care link-uri aduc rezultate și care sunt moarte.

Referință endpoint-uri

MetodăCale
GET/v1/workspaces/{ws}/bio (listă)
POST/v1/workspaces/{ws}/bio (creare pagină)
PATCH/v1/workspaces/{ws}/bio/{id}
DELETE/v1/workspaces/{ws}/bio/{id}
GET/v1/workspaces/{ws}/bio/{id}/links
POST/v1/workspaces/{ws}/bio/{id}/links
PATCH/v1/workspaces/{ws}/bio/{id}/links/{link_id}
DELETE/v1/workspaces/{ws}/bio/{id}/links/{link_id}
GET/v1/workspaces/{ws}/bio/{id}/heatmap
GET/v1/bio/{username} (randare publică)
POST/v1/bio/{username}/click (click public)