Calcolatore di francobolli
Questo calcolatore di francobolli individua una combinazione pratica il cui valore complessivo raggiunge o supera l’affrancatura richiesta.
Esegui gratis nel browser
Inserisca l’importo e un taglio per ottenere rapidamente il conteggio, oppure aggiunga altri tagli se dispone di francobolli diversi. Il risultato mostra il numero di pezzi, l’importo coperto, l’eventuale eccedenza inevitabile e il dettaglio per taglio. I calcoli utilizzano unità monetarie intere scalate, non confronti approssimativi in virgola mobile, e producono quindi risultati deterministici adatti a spedizioni, uffici postali interni e procedure automatizzate.
Inserisca l’affrancatura e i francobolli disponibili
Parta dall’affrancatura totale indicata dal corriere, dal servizio postale o dal software di spedizione. Inserisca quindi il valore del francobollo principale che intende usare. Se tutti i francobolli disponibili hanno lo stesso valore, questi due dati sono sufficienti: il calcolatore trova la quantità minima il cui totale copre l’importo richiesto. Se dispone di tagli diversi, li aggiunga come denominazioni supplementari. Lo strumento considera ogni taglio riutilizzabile e presuppone quindi una disponibilità illimitata per ciascun valore. Gli importi possono contenere fino a tre cifre decimali, così da gestire valute e prodotti postali con precisione superiore ai centesimi. Utilizzi la stessa valuta per l’affrancatura richiesta e per tutti i francobolli; il calcolatore elabora numeri, ma non converte valute. I valori duplicati vengono riuniti. Un importo richiesto pari a zero restituisce zero francobolli, mentre ogni taglio deve essere positivo, perché un valore nullo o negativo non può contribuire a una combinazione valida.
Come viene scelta la combinazione migliore
Il primo obiettivo è ridurre al minimo il pagamento eccedente. Il calcolatore cerca il più basso totale raggiungibile che sia uguale o superiore all’affrancatura richiesta. Una combinazione esatta prevale quindi sempre su una che paga troppo, anche quando richiede più francobolli. Individuato il minimo totale pagabile, il secondo obiettivo è ottenerlo con il minor numero di pezzi. Questa priorità rispecchia la normale preparazione della posta: prima si evita di sprecare affrancatura, poi si riducono i francobolli da maneggiare e applicare. Internamente, tutti gli importi vengono trasformati in interi scalati prima di valutare le combinazioni. Per esempio, i valori con due decimali sono trattati come centesimi interi. In questo modo le imprecisioni binarie della virgola mobile non trasformano una corrispondenza monetaria esatta in un piccolo deficit apparente. La ricerca è deterministica, limitata, priva di accesso alla rete e restituisce lo stesso dettaglio nel browser e tramite API.
Legga il risultato e lo applichi correttamente
Il risultato distingue quattro informazioni. Il numero di francobolli indica i pezzi fisici della combinazione scelta. L’affrancatura richiesta ripete l’obiettivo normalizzato per agevolare confronti successivi. Il totale di affrancatura somma i valori facciali consigliati, mentre l’eccedenza è la differenza rispetto all’obiettivo. Il dettaglio elenca soltanto i tagli utilizzati con le rispettive quantità. Prima della spedizione, verifichi che l’importo inserito coincida ancora con il preventivo del gestore e che ogni francobollo sia valido per servizio, destinazione, classe e data interessati. Questo strumento esegue un calcolo aritmetico: non consulta tariffe postali aggiornate, non riconosce restrizioni regionali, non prenota affrancatura e non stampa etichette. Presuppone inoltre disponibilità illimitata per ogni taglio. Se le scorte sono limitate, inserisca solo valori disponibili in quantità sufficiente e controlli il conteggio fisico durante la preparazione. I sistemi automatici possono usare la stessa risposta deterministica per istruzioni di evasione o ufficio posta a $0.002 per richiesta.
Casi d'uso
Preparare una busta
Trovi il minor numero di francobolli uguali che copre una lettera e controlli l’eccedenza prima di applicarli.
Usare tagli diversi
Combini vari valori di una raccolta dando priorità alla minima eccedenza di affrancatura.
Automatizzare le istruzioni postali
Trasformi un importo del gestore in un dettaglio ripetibile per evasione ordini o posta aziendale.
Domande frequenti
Quanto costa il calcolatore?
Può eseguirlo gratuitamente nel browser. Ogni richiesta API costa $0.002.
Cosa accade se un taglio non forma l’importo esatto?
Il calcolatore sceglie il minimo totale raggiungibile sopra il requisito e poi riduce il numero di francobolli.
Posso combinare francobolli di valori diversi?
Sì. Indichi un taglio principale e inserisca gli altri valori disponibili in additional_denominations.
Perché tutti i tagli devono essere positivi?
Un valore nullo o negativo non produce affrancatura valida e rende inutile l’ottimizzazione, quindi viene rifiutato.
Il calcolatore controlla le tariffe postali attuali?
No. Inserisca un importo ottenuto dal gestore o dal servizio postale; questa capacità calcola solo le combinazioni.
Considera una disponibilità limitata di francobolli?
No. Ogni taglio inserito è considerato disponibile senza limiti di quantità.
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/date/postage-stamp-count \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"total_postage":2.73,"denomination":0.68}'const res = await fetch("https://api.kit.forhosting.com/date/postage-stamp-count", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"total_postage": 2.73,
"denomination": 0.68
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/postage-stamp-count",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"total_postage": 2.73,
"denomination": 0.68
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/postage-stamp-count", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"total_postage":2.73,"denomination":0.68}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"total_postage":2.73,"denomination":0.68}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/postage-stamp-count", 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
{
"total_postage": 2.73,
"denomination": 0.68
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.postage_stamp_count",
"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.
Limiti
max_amount | 100000 |
max_denominations | 20 |
max_decimal_places | 3 |
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. |