Consumo de dados móveis
Num plano de 10240 MB, vídeo, mapas, redes sociais e e-mail somando 3470 MB deixam 6770 MB, cerca de 33,9% consumidos. Anote o que você gastou contra a franquia do mês e veja o que sobra, linha por linha. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Limite (MB)
- 10.240
- Número de entradas
- 4
- Usado (MB)
- 3.470
- Restante (MB)
- 6.770
- Porcentagem usada
- 33,8867
Uma calculadora mensal de consumo de dados móveis responde a uma pergunta prática antes de compartilhar o notebook, iniciar uma videochamada longa ou entregar um ponto de acesso a uma criança: depois destas entradas de uso, quantos megabytes ainda restam no plano e que percentual da cota já foi embora? Viajantes em roaming com um SIM pré-pago, pais que compartilham um pacote familiar, equipes de campo com linha de trabalho limitada e mesas de suporte que informam dados restantes precisam de uma resposta determinística que não entre na conta da operadora nem raspe o portal de faturamento. Esta calculadora aceita um limite mensal em megabytes e uma ou mais entradas de uso também em megabytes, soma o consumido, subtrai do limite e devolve os dados restantes mais o percentual usado.
Como os dados restantes e o percentual usado são calculados
Comece com uma cota mensal de dados móveis já expressa em megabytes. A calculadora não converte gigabytes, kibibytes nem unidades de marketing; você decide se dez gigabytes são dez mil ou dez mil duzentos e quarenta megabytes e envia esse número como limite. Para cada entrada de uso, tome uma quantidade finita não negativa na mesma unidade de megabyte.
Rótulos opcionais nomeiam a linha na tela, como streaming, mapas ou uma sessão de ponto de acesso, mas só as quantidades entram na aritmética. O total usado é a soma de todas as quantidades de uso. O percentual usado equivale ao total usado dividido pelo limite e multiplicado por cem.
Quando o restante é zero ou positivo, o plano ainda tem folga; quando é estritamente negativo, a cota foi excedida e o excesso é o valor absoluto do restante. Linhas de zero megabytes são aceitas e não mudam o total, o que serve para um dia sem tráfego. Quantidades de uso negativas são rejeitadas porque uma entrada de uso não pode descrever um reembolso de megabytes neste produto.
Um limite de zero ou menos também é rejeitado, porque o percentual usado dividiria por zero.
Casos de uso
Pacote de roaming pré-pago
Informe o limite mensal em megabytes e cada sessão de ponto de acesso ou vídeo; acompanhe os megabytes restantes e pare antes de esgotar o pacote.
Conferência do plano familiar
Os pais publicam os totais de cada filho contra um teto compartilhado para que todos vejam o mesmo usado, o restante e o percentual consumido.
Perguntas frequentes
Como funciona a calculadora de consumo de dados móveis?
Envie um limite mensal em megabytes e uma lista não vazia de quantidades de uso em megabytes.
Uma entrada de uso pode ser zero?
Sim. Um dia ou um aplicativo com 0 MB é permitido.
Preciso de rótulos em cada entrada de uso?
Não. Os rótulos são opcionais. Números soltos são tratados como quantidades em megabytes, e linhas sem rótulo recebem nomes estáveis como Entry 1 na tela.
O que acontece se eu já passei da franquia do mês?
O restante fica negativo e o excesso é esse valor sem o sinal. Assim você sabe quantos megabytes passou do plano antes de a conta chegar.
A calculadora converte gigabytes em megabytes?
Não. Digite a franquia mensal já em megabytes. Você decide se um gigabyte vale 1000 MB ou se os seus 10 GB são 10240 MB, e todas as linhas de uso ficam nessa mesma unidade.
Ferramentas relacionadas
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/life/data-usage \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"limit_mb":10240,"usage":[{"label":"Streaming","amount":2400},{"label":"Maps","amount":180},{"label":"Social","amount":850},{"label":"Email","amount":40}]}'const res = await fetch("https://api.kit.forhosting.com/life/data-usage", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"limit_mb": 10240,
"usage": [
{
"label": "Streaming",
"amount": 2400
},
{
"label": "Maps",
"amount": 180
},
{
"label": "Social",
"amount": 850
},
{
"label": "Email",
"amount": 40
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/data-usage",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"limit_mb": 10240,
"usage": [
{
"label": "Streaming",
"amount": 2400
},
{
"label": "Maps",
"amount": 180
},
{
"label": "Social",
"amount": 850
},
{
"label": "Email",
"amount": 40
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/data-usage", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"limit_mb":10240,"usage":[{"label":"Streaming","amount":2400},{"label":"Maps","amount":180},{"label":"Social","amount":850},{"label":"Email","amount":40}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"limit_mb":10240,"usage":[{"label":"Streaming","amount":2400},{"label":"Maps","amount":180},{"label":"Social","amount":850},{"label":"Email","amount":40}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/data-usage", 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
{
"limit_mb": 10240,
"usage": [
{
"label": "Streaming",
"amount": 2400
},
{
"label": "Maps",
"amount": 180
},
{
"label": "Social",
"amount": 850
},
{
"label": "Email",
"amount": 40
}
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.data_usage",
"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.
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. |
Notas técnicas
Valores de uso negativos são rejeitados como invalid_input e não são cobrados.
Como os dados restantes e o percentual usado são calculados
Os dados restantes, informados como remaining_mb, equivalem ao limite mensal menos esse total. O arredondamento fica fixo em doze casas decimais para campos de megabytes e quatro casas para percentuais, para que os goldens do navegador e da API fiquem estáveis entre runtimes sem ruído de ponto flutuante em somas simples.
Contrato de entrada, formato da resposta e erros
Cada entrada pode ser um número solto tratado como quantidade, ou um objeto com amount obrigatório e label opcional. Exemplo: um plano de dez mil duzentos e quarenta megabytes com streaming a dois mil e quatrocentos, mapas a cento e oitenta, redes sociais a oitocentos e cinquenta e e-mail a quarenta produz três mil quatrocentos e setenta megabytes usados e seis mil setecentos e setenta megabytes restantes, cerca de trinta e três ponto nove por cento usados. Listas com mais de quinhentas entradas são rejeitadas para manter o trabalho pure-parse limitado. Envie por POST um corpo JSON com dois campos obrigatórios: limit_mb, um número finito de megabytes maior que zero, e usage, um array não vazio de entradas de uso. Amount também aceita aliases comuns como mb, value ou used; o campo da lista aceita aliases entries, usage_mb, amounts e items. O campo de limite aceita aliases monthly_limit, limit, allowance, quota e plan_mb para que scripts reutilizem o vocabulário dos painéis da operadora. Em caso de sucesso o corpo devolve o limite, a contagem de entradas, cada linha com rótulo estável, quantidade arredondada e restante corrido após essa linha, mais used_mb, remaining_mb, percent_used, percent_remaining, over_limit, overage_mb, uma string de fórmula, uma mensagem legível e passos ordenados para planilhas. Se uma lista do mesmo estilo somar além do limite, over_limit é true e overage_mb mostra quanto passou do teto: ainda é uma resposta de sucesso, não um erro, porque exceder o plano é uma pergunta que a calculadora responde. Limite ausente, usage vazio, números não finitos ou qualquer valor de uso negativo falham com invalid_input nomeando o campo e não são cobrados. Chamadas API bem-sucedidas usam a base publicada de US$ 0,002 por item.
Onde uma calculadora de consumo de dados gera valor
Viajantes de pré-pago mantêm uma lista corrida de sessões de ponto de acesso e videochamadas para ver os megabytes restantes antes de um download no portão de embarque comer o resto de um pacote de roaming. Pais que compartilham um plano familiar inserem os totais de cada filho e param de compartilhar a conexão quando o percentual usado cruza um limiar da casa. Mantenha as requisições pequenas, fixe totais arredondados nos testes e obtenha dados restantes reproduzíveis para checklists no celular, plugins LMS e edge workers sem montar uma integração com a operadora. Escritórios pequenos com SIM de trabalho limitado enviam entradas diárias a um bot que marca over_limit antes de um tablet de campo iniciar uma atualização não planejada. Unidades escolares de letramento digital atribuem exercícios de dados restantes; uma API com restante corrido após cada linha permite ver qual sessão cruzou primeiro o teto mensal. Scripts de automação que agendam atualizações de firmware ou backups na nuvem podem interromper um job quando remaining_mb passaria a negativo.
Casos de integração
Automação de SIM de trabalho limitado
Scripts enviam entradas diárias de uso contra uma cota de trabalho e interrompem atualizações ou backups quando over_limit vira true.
Perguntas técnicas
O que acontece se eu ultrapassar o limite mensal de dados?
A chamada continua bem-sucedida. remaining_mb é negativo, over_limit é true e overage_mb mostra quanto passou do teto. Exceder o plano não é tratado como invalid_input.
Quanto custa a calculadora de consumo de dados?
A ferramenta do navegador é gratuita. Pedidos API usam saldo KIT pré-pago a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.