Générez une carte de garantie avec sa date d’expiration
Créez une carte de garantie produit cohérente à partir de quatre données essentielles : le nom du produit, son numéro de série, la date d’achat et la durée de garantie en mois.
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Le générateur valide les valeurs fournies, calcule la date d’expiration par une arithmétique calendaire déterministe et renvoie un document structuré que vous pouvez afficher, conserver, imprimer ou transmettre à un autre processus. Les achats de fin de mois sont gérés avec soin : si le mois cible est plus court, son dernier jour valide est retenu.
Préparez des données fiables sur le produit et l’achat
Commencez par le nom exact du produit et le numéro de série indiqués sur l’article, l’emballage, la facture ou le dossier du fabricant. Ces identifiants figurent sur la carte et permettent de distinguer une unité couverte d’une autre, notamment lorsqu’un client possède plusieurs exemplaires du même modèle. Saisissez la date d’achat au format non ambigu YYYY-MM-DD. Une valeur telle que 2026-07-25 désigne toujours le 25 juillet 2026, quelles que soient les habitudes régionales du lecteur. Le générateur refuse les noms ou numéros de série vides, les dates mal formées et les jours inexistants. Utilisez la date initiale de transaction définie par les conditions de garantie, généralement celle du justificatif de vente. Si la couverture débute à l’expédition, à la livraison, à l’enregistrement ou à l’activation, ne fournissez cette date que lorsqu’elle correspond réellement au point de départ contractuel. Le résultat reprend les informations transmises ; il ne vérifie pas de manière indépendante le justificatif, la propriété, l’admissibilité ni la politique du fabricant.
Comprenez le calcul de la date d’expiration
Indiquez la durée de garantie sous la forme d’un nombre entier positif de mois. Le générateur avance la date d’achat d’exactement ce nombre de mois calendaires et conserve le jour lorsque le mois d’arrivée le contient. Si ce mois est plus court, le calcul choisit son dernier jour valide. Ainsi, ajouter un mois au 31 janvier produit le dernier jour de février, les années bissextiles étant traitées selon le calendrier grégorien. Cette règle explicite évite des résultats impossibles comme le 31 février et garantit des exécutions reproductibles. Une durée nulle, négative ou fractionnaire est refusée, car elle ne décrit pas une garantie positive en mois entiers. La date renvoyée constitue un résultat arithmétique, pas une interprétation juridique quant à la fin de couverture au début ou à la fin de cette journée. Les fournisseurs peuvent définir différemment l’inclusion du dernier jour, les fuseaux horaires, les délais de réclamation, les prolongations, les remplacements ou les droits légaux. Consultez les conditions applicables avant de présenter la carte comme définitive. Aucun horaire actuel, hasard, réseau ou service externe n’intervient, donc une même entrée valide donne toujours la même sortie.
Intégrez la carte structurée à vos processus
La sortie sépare l’identité du document, les données du produit, les détails de la garantie et une déclaration lisible. Une application peut ainsi afficher une carte compacte dans un espace client, insérer les valeurs dans un modèle imprimable, joindre l’enregistrement à une commande ou indexer le numéro de série et l’expiration pour des recherches ultérieures. Conservez l’objet généré avec le justificatif ou la référence de commande lorsque la traçabilité est importante : la carte résume les faits fournis, mais ne prouve pas que la transaction a eu lieu. Un service d’assistance peut exploiter l’expiration pour organiser les dossiers ou avertir son personnel, tout en appliquant les règles propres au fournisseur avant d’accepter ou de refuser une demande. N’écrasez pas silencieusement une carte lorsque le produit est remplacé, la garantie prolongée ou la date corrigée. Gardez l’ancien enregistrement et créez une nouvelle version. Le tarif de l’API est de $0.002 par carte générée. Sans consultation réseau, les conditions du fabricant, l’enregistrement, les rappels et les protections locales restent hors du résultat.
Cas d’usage
Confirmation d’achat au client
Créez une carte uniforme après le paiement afin que l’acheteur consulte le produit, la période couverte et l’expiration calculée.
Préparation du dossier d’assistance
Conservez les données structurées avec la commande pour retrouver le produit et la date sans refaire le calcul.
Document de garantie imprimable
Injectez les champs renvoyés dans un modèle de marque pour impression ou PDF en séparant le calcul de la présentation.
Questions fréquentes
Combien coûte une carte de garantie ?
Chaque carte générée coûte $0.002.
Comment une date de fin de mois est-elle traitée ?
Le calcul conserve le jour d’achat si possible ; sinon, il retient le dernier jour valide du mois cible.
La durée peut-elle être nulle ou négative ?
Non. Elle doit être un nombre entier positif de mois ; zéro, les valeurs négatives et les fractions provoquent une erreur de saisie.
La carte vérifie-t-elle la garantie du fabricant ?
Non. Elle structure vos valeurs et calcule une date, sans vérifier l’admissibilité, l’enregistrement, les reçus ni les conditions.
Quel format de date faut-il employer ?
Utilisez YYYY-MM-DD, par exemple 2026-07-25. La date doit exister dans le calendrier grégorien.
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/doc/warranty-card-generate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"product_name":"Aurora Desk Lamp","serial_number":"ADL-2026-00481","purchase_date":"2026-07-25","warranty_duration_months":24}'const res = await fetch("https://api.kit.forhosting.com/doc/warranty-card-generate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"product_name": "Aurora Desk Lamp",
"serial_number": "ADL-2026-00481",
"purchase_date": "2026-07-25",
"warranty_duration_months": 24
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/doc/warranty-card-generate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"product_name": "Aurora Desk Lamp",
"serial_number": "ADL-2026-00481",
"purchase_date": "2026-07-25",
"warranty_duration_months": 24
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/doc/warranty-card-generate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"product_name":"Aurora Desk Lamp","serial_number":"ADL-2026-00481","purchase_date":"2026-07-25","warranty_duration_months":24}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"product_name":"Aurora Desk Lamp","serial_number":"ADL-2026-00481","purchase_date":"2026-07-25","warranty_duration_months":24}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/doc/warranty-card-generate", 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
{
"product_name": "Aurora Desk Lamp",
"serial_number": "ADL-2026-00481",
"purchase_date": "2026-07-25",
"warranty_duration_months": 24
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "doc.warranty_card_generate",
"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.
Limites
max_mb | 25 |
max_pages | 200 |
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. |