Pular para o conteúdo

A API de widgets do iOS para tudo que fala HTTP

O PushWard é uma API para os widgets do iOS da Apple: declare um widget uma vez e comande a Tela de Início, a Tela Bloqueada e o modo Em Espera do iPhone com simples requisições HTTP. Cada atualização dispara um refresh do WidgetKit guiado por push — sem polling, sem código WidgetKit, sem Xcode, sem revisão da App Store do seu lado.

O que é um widget da Tela de Início do iOS?

Widgets são as superfícies de relance da Apple: pequenos blocos sempre visíveis na Tela de Início, na Tela Bloqueada e no modo Em Espera do iPhone que mostram informações sem abrir um app. Eles são construídos com o WidgetKit, o framework no dispositivo da Apple, e normalmente cada um pertence a um app que você teria de criar, assinar e publicar por conta própria. Os widgets do PushWard são diferentes: o app do PushWard os renderiza, e o conteúdo deles vem das suas chamadas de API — a leitura de um sensor, um health check de servidor, um contador de deploys, qualquer coisa que possa ser enviada como JSON.

Como a API funciona

Registre um widget com um POST e depois atualize-o com um PATCH — o ciclo é só esse. Cada atualização envia um push leve pelo Apple Push Notification service que manda o WidgetKit recarregar a linha do tempo do widget, então o novo valor aparece sem que o widget jamais faça polling. Um limitador de push opcional por widget agrupa fontes que enviam em rajadas.

Registre e atualize um widget por HTTP
# 1. Register a widget
curl -X POST https://api.pushward.app/widgets \
  -H "Authorization: Bearer hlk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "slug": "cpu-load", "name": "CPU Load", "content": {
    "template": "progress", "value": 0.42,
    "label": "load avg", "icon": "cpu", "accent_color": "cyan"
  } }'

# 2. Update it - WidgetKit refreshes the widget
curl -X PATCH https://api.pushward.app/widgets/cpu-load \
  -H "Authorization: Bearer hlk_YOUR_KEY" \
  -H "Content-Type: application/merge-patch+json" \
  -d '{ "content": { "value": 0.78, "accent_color": "orange" } }'

Dez modelos de widget

Escolha o layout que combina com os dados: um valor único, uma barra de progresso, uma luz de status, um medidor, uma lista de estatísticas, uma sparkline de tendência, uma contagem regressiva, um nível de bateria, uma agenda ou um fluxo entre pontos. Cada modelo é renderizado nativamente pelo app do PushWard, então os seus dados chegam em um layout caprichado sem nenhum trabalho de design.

Veja os modelos de widget →

Widgets interativos que agem

Os widgets podem carregar até três ações de toque: disparar um webhook silencioso sem sair da Tela de Início, abrir outro app por deep link ou abrir uma URL. Reinicie um servidor, acione um Atalho ou reconheça um alerta direto do widget — o app do PushWard nunca precisa abrir.

Funciona com a sua stack

Alimente widgets com as ferramentas que você já usa: um alerta do Grafana virando uma luz de status, uma automação do Home Assistant atualizando uma temperatura, um job do GitHub Actions incrementando um contador de deploys, um script de cron publicando a idade de um backup. Se consegue enviar uma requisição HTTP, pode ter o próprio widget.

Veja todas as integrações →

Widgets e Atividades ao Vivo juntos

Widgets e Atividades ao Vivo são complementares: um widget é status persistente e ambiente, que fica na Tela de Início até ser removido, enquanto uma Atividade ao Vivo é uma tarefa com começo e fim que se fixa na Tela Bloqueada e na Dynamic Island enquanto roda. O PushWard comanda os dois pela mesma API REST e pela mesma chave de integração.

Conheça a API de Atividades ao Vivo →

Perguntas frequentes

Esta é a API oficial WidgetKit da Apple?

Não. O WidgetKit é o framework no dispositivo da Apple, e usá-lo diretamente significa criar e publicar o seu próprio app iOS com uma extensão de widget. O PushWard é uma API de widgets do iOS independente: o app do PushWard traz a extensão WidgetKit, e as suas requisições HTTP decidem o que ela mostra.

Com que rapidez os widgets atualizam?

Cada PATCH dispara um push leve que manda o WidgetKit recarregar o widget, então as atualizações costumam chegar em segundos. Um limitador de push por widget (de 1 segundo a 1 hora) agrupa fontes em rajada, mantendo os refreshes dentro do orçamento que o iOS concede à extensão.

Os widgets funcionam na Tela Bloqueada e no modo Em Espera?

Sim. Os widgets do PushWard podem ser adicionados à Tela de Início, à Tela Bloqueada e ao modo Em Espera do iPhone. Os espaços compactos de acessórios da Tela Bloqueada renderizam um layout condensado, e tocar em um deles abre a ação de toque configurada.

Os destinatários precisam ter um app instalado?

Sim — o app iOS gratuito do PushWard (iOS 26 ou posterior) renderiza os widgets e os registra no seletor de widgets do iOS. Não há nada para você criar ou enviar à App Store.

Experimente a API de widgets do iOS

Monte um payload de widget no playground e veja-o renderizar em um iPhone simulado, ou leia o guia de primeiros passos e registre o seu primeiro widget com curl em poucos minutos.