Ordini una serie per pubblicazione o cronologia
Una serie lunga può offrire due percorsi ugualmente validi: l'ordine in cui i lettori hanno ricevuto i libri e quello in cui gli eventi accadono nell'universo narrativo.
Esegui gratis nel browser
Questo strumento acquisisce ogni titolo con entrambi i numeri e restituisce un elenco ordinato secondo la scelta di Lei. Usi la pubblicazione per conservare l'esperienza originale, oppure la cronologia per seguire la storia dall'evento più antico al più recente.
Scelga l'esperienza di lettura desiderata
L'ordine di pubblicazione e quello cronologico rispondono a domande diverse. Il primo segue la sequenza con cui autore ed editore hanno presentato i libri, così rivelazioni, cambiamenti di stile e sorprese di un prequel emergono come le incontrò il pubblico originario. Il secondo segue la linea temporale interna e colloca prequel o volumi con salti temporali nel punto in cui avvengono i fatti. Prima di ordinare, stabilisca se preferisce l'esperienza editoriale o una narrazione temporale continua. Inserisca ogni libro in una riga con titolo, posizione di pubblicazione e posizione cronologica, quindi scelga il criterio. Il risultato conserva entrambi i numeri, così Lei può verificare il motivo dell'ordine. Lo strumento non sostiene che un percorso sia migliore: applica i dati forniti e lascia che la fonte scelta, il consiglio dell'editore o la cronologia studiata restino l'autorità.
Prepari numeri di sequenza affidabili
Ogni libro richiede un titolo non vuoto e due numeri interi positivi. Il numero di pubblicazione descrive quando il volume è uscito rispetto agli altri; quello cronologico indica dove si collocano i suoi eventi principali nell'universo. Includa racconti, prequel, opere complementari e spin-off se desidera vederli nel piano, oppure li ometta se vuole limitarsi alla serie principale. I numeri non devono essere consecutivi: anche 10, 20 e 30 vengono ordinati correttamente. Se due voci condividono il numero selezionato, viene mantenuto l'ordine di inserimento. Questa stabilità è utile per storie simultanee o raggruppate da una fonte. La capacità convalida tutte le righe prima dell'ordinamento. Elenchi assenti o vuoti, titoli bianchi, posizioni frazionarie, zero, valori negativi o criteri sconosciuti generano un errore chiaro, non un elenco credibile ma inaffidabile.
Utilizzi il risultato in programmi e guide
La risposta contiene il criterio selezionato e un array ordinato di libri. Ogni riga mantiene il titolo e i due numeri, quindi Lei può mostrare direttamente il risultato, copiarlo in un registro di lettura o confrontare i due percorsi eseguendo due volte gli stessi dati. In un gruppo di lettura, la pubblicazione conserva le sorprese legate alla storia delle uscite. In una rilettura, la cronologia può evidenziare cause ed effetti presentati originariamente fuori sequenza. Biblioteche, librerie, recensori e curatori di siti di appassionati possono inoltre mantenere consigli coerenti quando esce un nuovo prequel. Poiché l'algoritmo non usa rete, casualità o data corrente, lo stesso input produce sempre lo stesso risultato. Il servizio non cerca metadati né decide cronologie controverse: risolva tali questioni nei dati di origine e applichi poi l'ordine finale per $0.002 per richiesta API.
Casi d'uso
Pianificare una prima lettura
Ordini la serie per pubblicazione per scoprire rivelazioni e prequel come il pubblico originario.
Creare una rilettura cronologica
Collochi ogni romanzo e racconto fornito nella relativa posizione temporale dell'universo.
Mantenere una guida della serie
Generi un elenco ripetibile quando un nuovo volume modifica le uscite o la cronologia.
Domande frequenti
Quali criteri di ordine sono accettati?
Usi publication per la sequenza delle uscite o chronological per la linea temporale interna. Ogni altro valore restituisce un errore di input.
Lo strumento cerca date o informazioni sulla serie?
No. Ordina soltanto i titoli e i numeri forniti da Lei, senza consultare la rete.
Cosa accade se due libri hanno lo stesso numero?
Mantengono l'ordine relativo con cui comparivano nell'elenco di input.
I numeri devono essere consecutivi?
No. Devono solo essere interi positivi; sono ammessi intervalli.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. La versione per browser viene eseguita localmente gratis.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/life/book-series-reading-order \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"books":[{"title":"The First Published Tale","publication_order":1,"chronological_order":3},{"title":"The Ancient Prelude","publication_order":3,"chronological_order":1},{"title":"The Middle Years","publication_order":2,"chronological_order":2}],"order_type":"chronological"}'const res = await fetch("https://api.kit.forhosting.com/life/book-series-reading-order", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"books": [
{
"title": "The First Published Tale",
"publication_order": 1,
"chronological_order": 3
},
{
"title": "The Ancient Prelude",
"publication_order": 3,
"chronological_order": 1
},
{
"title": "The Middle Years",
"publication_order": 2,
"chronological_order": 2
}
],
"order_type": "chronological"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/book-series-reading-order",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"books": [
{
"title": "The First Published Tale",
"publication_order": 1,
"chronological_order": 3
},
{
"title": "The Ancient Prelude",
"publication_order": 3,
"chronological_order": 1
},
{
"title": "The Middle Years",
"publication_order": 2,
"chronological_order": 2
}
],
"order_type": "chronological"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/book-series-reading-order", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"books":[{"title":"The First Published Tale","publication_order":1,"chronological_order":3},{"title":"The Ancient Prelude","publication_order":3,"chronological_order":1},{"title":"The Middle Years","publication_order":2,"chronological_order":2}],"order_type":"chronological"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"books":[{"title":"The First Published Tale","publication_order":1,"chronological_order":3},{"title":"The Ancient Prelude","publication_order":3,"chronological_order":1},{"title":"The Middle Years","publication_order":2,"chronological_order":2}],"order_type":"chronological"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/book-series-reading-order", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"books": [
{
"title": "The First Published Tale",
"publication_order": 1,
"chronological_order": 3
},
{
"title": "The Ancient Prelude",
"publication_order": 3,
"chronological_order": 1
},
{
"title": "The Middle Years",
"publication_order": 2,
"chronological_order": 2
}
],
"order_type": "chronological"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.book_series_reading_order",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |