Gere um cartão de garantia com data de vencimento
Crie um cartão de garantia consistente usando quatro dados essenciais: nome do produto, número de série, data da compra e duração da garantia em meses.
Executar grátis
Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.
O gerador valida os valores informados, calcula a data de vencimento com aritmética de calendário determinística e retorna um documento estruturado que você pode exibir, armazenar, imprimir ou encaminhar para outro fluxo de trabalho. Compras no fim do mês recebem tratamento cuidadoso: quando o mês de destino tem menos dias, é usado o último dia válido.
Prepare dados confiáveis do produto e da compra
Comece pelo nome exato do produto e pelo número de série presentes no item, na embalagem, na nota fiscal ou no cadastro do fabricante. Esses identificadores passam a integrar o cartão e ajudam a diferenciar uma unidade coberta de outra, principalmente quando um cliente possui vários produtos do mesmo modelo. Informe a data da compra no formato inequívoco YYYY-MM-DD. Um valor como 2026-07-25 sempre significa 25 de julho de 2026, independentemente das preferências regionais de quem lê. O gerador rejeita nomes e números de série vazios, datas malformadas e dias inexistentes. Use a data original da transação definida pelos termos da garantia, normalmente aquela exibida no comprovante de venda. Caso a cobertura comece no envio, na entrega, no registro ou na ativação, informe essa data somente quando ela representar corretamente o início previsto nas condições aplicáveis. O resultado reflete as informações enviadas; ele não verifica de forma independente o comprovante, a propriedade, a elegibilidade ou a política do fabricante.
Entenda o cálculo da data de vencimento
Informe a duração da garantia como um número inteiro positivo de meses. O gerador avança exatamente essa quantidade de meses de calendário a partir da data da compra e preserva o dia sempre que ele existir no mês de destino. Quando o mês de destino é mais curto, o cálculo adota seu último dia válido. Por exemplo, somar um mês a 31 de janeiro resulta no último dia de fevereiro, considerando corretamente os anos bissextos do calendário gregoriano. Essa regra explícita evita resultados impossíveis, como 31 de fevereiro, e torna novas execuções previsíveis. Zero, números negativos e valores fracionários são rejeitados porque não representam uma garantia positiva em meses completos. A data retornada é um resultado aritmético, não uma interpretação jurídica sobre a cobertura terminar no início ou no fim daquele dia. Fornecedores podem definir inclusão, fusos horários, prazos para reclamação, extensões, substituições ou direitos legais de maneiras diferentes. Consulte os termos aplicáveis antes de tratar o cartão como definitivo. O cálculo não usa relógio atual, aleatoriedade, rede ou banco de dados externo; portanto, entradas válidas idênticas sempre produzem saídas idênticas.
Use o cartão estruturado nos seus fluxos
A saída separa a identidade do documento, os dados do produto, as informações da garantia e uma declaração legível. Assim, um aplicativo pode exibir um cartão compacto em um portal do cliente, preencher uma versão para impressão, anexar o registro a um pedido ou indexar o número de série e o vencimento para consultas futuras. Mantenha o objeto gerado junto ao comprovante ou à referência do pedido quando a rastreabilidade for importante; o cartão resume os fatos informados, mas não comprova que a transação ocorreu. Um sistema de suporte pode usar a data para organizar chamados ou avisar a equipe, aplicando ainda as regras do fornecedor antes de aceitar ou negar uma solicitação. Não substitua silenciosamente um cartão quando houver troca do produto, extensão da garantia ou correção da data. Preserve o registro anterior e crie uma nova versão. O preço da API é US$ 0,002 por cartão gerado. Como nenhum serviço de rede é consultado, termos do fabricante, situação do registro, recalls e proteções locais ao consumidor não fazem parte do resultado.
Casos de uso
Confirmação da compra ao cliente
Crie um cartão uniforme após o pagamento para o comprador consultar o produto, o período coberto e o vencimento calculado.
Preparação do registro de suporte
Armazene os dados estruturados junto ao pedido para a equipe localizar o produto e a data sem refazer o cálculo.
Comprovante de garantia para impressão
Envie os campos retornados a um modelo de marca para impressão ou PDF, mantendo o cálculo separado da apresentação.
Perguntas frequentes
Quanto custa um cartão de garantia?
Cada cartão gerado custa US$ 0,002.
Como uma data no fim do mês é tratada?
O cálculo mantém o dia da compra quando possível; caso contrário, usa o último dia válido do mês de destino.
A duração pode ser zero ou negativa?
Não. Ela deve ser um número inteiro positivo de meses; valores zero, negativos ou fracionários retornam erro de entrada inválida.
O cartão confirma a garantia do fabricante?
Não. Ele estrutura os valores informados e calcula uma data, mas não verifica elegibilidade, registro, comprovantes ou termos.
Qual formato de data deve ser usado?
Use YYYY-MM-DD, como 2026-07-25. A data precisa existir no calendário gregoriano.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"product_name": "Aurora Desk Lamp",
"serial_number": "ADL-2026-00481",
"purchase_date": "2026-07-25",
"warranty_duration_months": 24
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "doc.warranty_card_generate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_mb | 25 |
max_pages | 200 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |