Calculez le montant restant pour la livraison gratuite
Le calculateur de seuil de livraison gratuite transforme deux montants de commande en une réponse directement exploitable : la somme que le client doit encore ajouter.
Lancer gratuitement
Indiquez le total actuel du panier et le seuil du magasin pour obtenir l'écart restant. Si le panier atteint ou dépasse déjà l'objectif, le résultat est zéro et non une erreur. Ce calcul peut alimenter les messages du panier, le paiement, l'assistance, les expériences et les rapports.
Calculez le montant restant à partir de deux totaux
Saisissez le total actuel des articles dans current_total et la valeur minimale requise dans free_shipping_threshold. Le calculateur soustrait le premier montant du seuil et renvoie la différence sous amount_needed. Par exemple, un panier à 42.50 avec un seuil de 60 nécessite encore 17.50. Les deux entrées doivent être des nombres finis et positifs ou nuls, exprimés dans la même devise et selon la même base comptable. Votre application doit décider au préalable si les remises, taxes, cartes-cadeaux ou produits exclus comptent dans le total éligible. Aucun code de devise n'est demandé, car la soustraction est universelle ; il vous appartient toutefois d'afficher le résultat avec le symbole et les décimales adaptés. Aucun catalogue, taux de change ou arrondi caché ne modifie les valeurs fournies.
Gérez les paniers déjà admissibles
Lorsqu'un panier atteint ou dépasse le seuil, amount_needed vaut zéro. Il s'agit d'un résultat valide, pas d'une erreur. Vous pouvez ainsi afficher une incitation uniquement si la valeur est positive et confirmer la livraison gratuite lorsqu'elle est nulle. Cette règle couvre une égalité exacte, une commande supérieure à l'objectif et un seuil nul. Les champs absents, chaînes, valeurs nulles, négatives, infinies ou non numériques sont refusés, car ils ne représentent pas des montants valides. La différence est importante : zéro décrit un panier correct qui ne nécessite aucune dépense supplémentaire, tandis qu'une erreur d'entrée révèle un contrat de données incorrect. L'opération étant déterministe, les mêmes nombres produisent toujours la même sortie dans la boutique, côté serveur, dans les tests, les flux d'événements et les outils d'assistance.
Intégrez le résultat dans un message utile
Considérez le nombre renvoyé comme un calcul, puis appliquez vos règles de présentation et de vente. Un écart positif peut devenir « Ajoutez encore 12.00 pour obtenir la livraison gratuite », avec la devise et les conventions locales appropriées. Un zéro peut déclencher « Vous bénéficiez de la livraison gratuite ». Avant l'appel, calculez current_total uniquement avec les produits admissibles. Certaines boutiques excluent les articles volumineux, produits numériques, taxes, pourboires ou frais de livraison ; d'autres utilisent le sous-total avant les coupons. Conserver ces règles hors de cet outil évite de lui prêter une connaissance du catalogue qu'il ne reçoit pas. Pour vos analyses, enregistrez le seuil et le total avec l'écart. L'API coûte $0.002 par requête et la version navigateur exécute gratuitement le même calcul pur, simple à auditer, tester et intégrer.
Cas d’usage
Progression affichée dans le panier
Indiquez au client la dépense admissible exacte qui manque pour débloquer la livraison gratuite.
Contrôle d'admissibilité au paiement
Transformez le total et le seuil en un écart cohérent, toujours positif ou nul.
Réponses du service client
Fournissez aux agents un calcul rapide et reproductible lorsqu'un client interroge les frais de livraison.
Questions fréquentes
Que se passe-t-il si le panier est déjà admissible ?
Le calculateur renvoie amount_needed à zéro. Atteindre ou dépasser le seuil constitue un succès, pas une erreur.
Le calcul inclut-il les taxes ou les remises ?
Il utilise current_total exactement comme vous le transmettez. Appliquez auparavant les règles d'admissibilité, de taxes, de remises et d'exclusion de votre boutique.
Puis-je utiliser n'importe quelle devise ?
Oui. Les deux valeurs doivent employer la même devise et la même base comptable. Formatez le résultat monétaire dans votre application.
Quelles entrées sont refusées ?
Les valeurs absentes, textuelles, nulles, négatives, infinies ou non numériques sont considérées comme non valides.
Quel est le prix d'un calcul par API ?
Chaque requête API coûte $0.002. La version navigateur exécute gratuitement le même calcul déterministe.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/ecom/free-shipping-threshold-gap \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"current_total":42.5,"free_shipping_threshold":60}'const res = await fetch("https://api.kit.forhosting.com/ecom/free-shipping-threshold-gap", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"current_total": 42.5,
"free_shipping_threshold": 60
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/ecom/free-shipping-threshold-gap",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"current_total": 42.5,
"free_shipping_threshold": 60
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/ecom/free-shipping-threshold-gap", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"current_total":42.5,"free_shipping_threshold":60}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"current_total":42.5,"free_shipping_threshold":60}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/ecom/free-shipping-threshold-gap", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"current_total": 42.5,
"free_shipping_threshold": 60
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "ecom.free_shipping_threshold_gap",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |