Guida e API

Come usare ogni schermata, il PIN di supporto e l’API REST di Scale.

Come usare ForeverLink

ForeverLink è un inventario di link numerati che puoi cambiare dopo la stampa. Generi ID (1…N), stampi l’URL pubblico ForeverLink su QR, NFC o sticker, e poi cambi la destinazione HTTPS dal pannello, CSV, API (Scale) o chat di supporto.

URL pubblico di ogni ID:

https://foreverlink.app/r/{tua-org}/{numero}

Esempio: https://foreverlink.app/r/acme/42

L’identificatore URL non cambia mai (i pezzi stampati restano validi). Cambia solo la destinazione.

---

1. Crea l’account

  1. Apri Registrati o scegli un piano su Prezzi.
  2. Starter ($19/mese, 500 ID), Growth ($49/mese, 5.000) o Scale ($99/mese, 25.000 + API). White Label è licenza una tantum da $999.
  3. Nome organizzazione. L’identificatore URL (parte di ogni URL stampato) si genera lì e non si può cambiare dopo.
  4. Email e password. Il 2FA (Google Authenticator / Authy) è opzionale — lo attivi dopo in Impostazioni.
  5. Completa il checkout Paddle (serve una carta). Hai 15 giorni di prova. Annulli prima e non paghi.
  6. Finché il billing non è trialing o active, i QR pubblici non reindirizzano.

---

2. I primi 15 minuti

  1. Entra in /login → arrivi su Inventario.
  2. Apri Genera intervallo e crea gli ID 1100.
  3. Apri Assegna intervallo e imposta una destinazione per 1–20, con etichetta tipo negozio-vetrina.
  4. Apri l’ID #1 e scarica il QR SVG. Quel QR punta all’URL ForeverLink, non al sito finale.
  5. Scansiona. Devi arrivare alla destinazione. Se vedi “non configurato”, manca un destinazione http(s) o è inattivo.
  6. Cambia la destinazione di #1 e scansiona di nuovo: stesso QR, nuova pagina.

---

3. Inventario

Elenco di tutti gli ID dell’organizzazione attiva.

  • Cerca per numero, etichetta, destinazione o note.
  • Filtri: tutti / mai cliccati / senza destinazione / attivi / inattivi.
  • Ordine: numero o click.
  • Ogni riga è un URL pubblico: /r/{org}/{numero}.

Clicca una riga per modificare quell’ID.

---

4. Nuovo ID

Crea un solo numero di stock.

  1. Lascia il numero vuoto per il prossimo libero, oppure scrivi uno che non esiste ancora.
  2. Opzionale: destinazione (https://…), etichetta, note, stato (attivo / inattivo).
  3. Salva. Conta nel tetto max_links del piano.

Per uno sticker singolo. Per una tiratura usa Genera intervallo.

---

5. Genera intervallo

Crea ID vuoti in un intervallo inclusivo (esempio: 11000).

  • I numeri già esistenti vengono saltati.
  • I nuovi nascono attivi e senza destinazione.
  • Non può superare il tetto del piano.

Fallo prima di mandare i file in tipografia.

---

6. Assegna intervallo

Scrive la stessa destinazione, etichetta e stato su un from–to che esiste già.

Usi tipici: puntare 1–50 al menu di questo mese; rietichettare il lotto di un cliente; spegnere una campagna (inactive).

La destinazione deve essere http:// o https:// con host, max 2048 caratteri.

---

Apri l’ID dall’inventario. Puoi cambiare destinazione, etichetta, note e stato.

  • Destinazione vuota = la pagina pubblica dice “non configurato”.
  • active reindirizza; inactive no.
  • Vedi click, ultimi 14 giorni e cronologia.

Scarica qui il QR di produzione (SVG). Stampa sempre quel QR, mai un QR dell’URL finale.

---

8. Import / export CSV

Export scarica l’inventario (filtro etichetta opzionale).

Import aggiorna le righe. Colonne tipiche: number, target_url, label, notes, status. URL non valide rifiutate. Rispetta max_links.

---

9. Click e cronologia

Ogni redirect pubblico riuscito incrementa click_count e un contatore giornaliero.

Avvisi: ID attivi senza destinazione; ID mai scansionati.

La cronologia registra chi ha cambiato cosa, con origine: manuale, import, intervallo, API o chat.

---

10. Team

RuoloPuò
OwnerTutto, incluso billing, PIN e chiavi API
AdminImpostazioni, team, PIN, chiavi API, inventario
OperatorAssegnare destinazioni, intervalli, import

Aggiungi un membro in Team con password temporanea (min. 12).

---

11. Impostazioni

  • Rinomina il nome visibile (non l’identificatore URL).
  • Attiva il 2FA.
  • Imposta il PIN di supporto (6–8 cifre). WhatsApp / Telegram / chat web chiedono l’identificatore URL o l’email + questo PIN una volta.
  • Ruota il PIN o scollega le chat.
  • Chiavi API (solo Scale e White Label): crea, copia una volta, revoca.

---

12. Fatturazione

Prova 15 giorni con carta via Paddle. I redirect pubblici funzionano in trialing, active, past_due o whitelabel_setup. Il bot non cambia la carta.

---

13. Ticket di supporto

In app: Supporto. In chat: dopo il PIN, chiedi al bot di aprire un ticket.

---

14. Chat (WhatsApp, Telegram, web)

  1. Owner/admin imposta il PIN in Impostazioni.
  2. Scrivi al bot ForeverLink.
  3. Dai l’identificatore URL (o l’email di un membro) e il PIN.
  4. Chiedi ad esempio “punta il #12 a https://esempio.com/menu”.

Non inviare mai la password del pannello né i codici 2FA.

---

15. API (Scale e White Label)

REST su {APP_URL}/api/v1. Crea una chiave in Impostazioni. Viene mostrata una sola volta.

Authorization: Bearer fl_live_…

oppure `X-API-Key: fl_live_…`

La chiave è già legata alla **tua** organizzazione.

| Scope | Consente |
| --- | --- |
| `account:read` | `GET /me`, `GET /stats` |
| `links:read` | `GET /links`, `GET /links/{number}` |
| `links:write` | crea / aggiorna / intervalli |
| `tickets:write` | `GET/POST /tickets` |

**`GET /api/v1/me`** — identificatore URL, piano, limiti, fatturazione, uso.

**`GET /api/v1/links`** — `q`, `label`, `status`, `filter`, `page`, `per_page`, `sort`.

**`GET /api/v1/links/{number}`** — dettaglio, click 14 giorni, revisioni.

**`POST /api/v1/links`**

{ "number": 42, "target_url": "https://esempio.com", "label": "negozio", "status": "active" }

**`PATCH /api/v1/links/{number}`** — qualsiasi sottoinsieme di `target_url`, `label`, `notes`, `status`.

**`POST /api/v1/links/assign-range`** — `{ "from": 1, "to": 50, "label": "aprile", "target_url": "https://…", "status": "active" }`

**`POST /api/v1/links/generate-range`** — `{ "from": 1, "to": 500 }`

**`GET /api/v1/stats`** · **`GET/POST /api/v1/tickets`**

Errori: `401` chiave non valida, `402` billing inattivo, `403` piano/scope, `404` inesistente, `429` rate limit (60/min). Starter e Growth ricevono `403`.

---

## 16. Perché un QR non reindirizza

1. L’URL stampato è `https://foreverlink.app/r/{org}/{numero}`.
2. L’ID esiste ed è `active`.
3. La destinazione è un `http(s)` valido.
4. Il billing è `trialing` / `active` / `past_due`.

---

## 17. White Label

Licenza software da $999. Dopo il pagamento compila il form di configurazione (dominio + note self-host). Eseguila sul tuo server, oppure aggiungi l’hosted SaaS a +$50/mese. Include API, documentazione e supporto prodotto. Non è un progetto di installazione a pagamento.

Oltre 25.000 ID su Scale si vendono come **pack da 5.000 ID** a $19/mese. Aggiungili al checkout o in Fatturazione.

Serve una persona? [Contatto](/contact) oppure apri un ticket in app.
Prova 15 giorni
gratis