Notificações push para iOS, Android e web.
Abstração de gestão de tokens, opt-in por dispositivo, payloads nativos avançados, segmentação por segmento. A mesma autenticação, a mesma idempotência, os mesmos webhooks de todos os outros canais Bird — porque a mesma equipa de engenharia construiu todos eles.
5 minutos desde npm install até ao primeiro envio
Envie uma notificação na linguagem que já utiliza.
SDKs em todos os principais runtimes. Registe um token a partir do seu cliente móvel ou web; envie por token ou por user_id a partir do seu backend.
Os exemplos de código estarão disponíveis quando esta API for lançada. Os SDKs já cobrem os canais ativos.
Dez primitivas que transformam APNs e FCM num único endpoint.
APNs e FCM reais por baixo. Sem agregador de push de terceiros pelo meio. Apenas escondemos as particularidades de cada plataforma atrás de um formato único.
- 01
iOS, Android e web numa única chamada
Um bird.push.send. Distribuímos para APNs, FCM e o W3C Push Protocol por dispositivo registado.
- 02
Abstração de gestão de tokens
Registe um token com bird.push.tokens.register. Rastreamos plataforma, idioma e última atividade para que não tenha de o fazer.
- 03
Envie por token ou por user_id
Direcione para um único dispositivo, ou passe
{ user_id }e nós distribuímos para todos os dispositivos com opt-in ativo. - 04
Estado de opt-in por dispositivo
Cada token registado tem o seu próprio estado de opt-in. Revogue um sem afetar os outros.
- 05
Payloads nativos avançados
Título, corpo, imagem, botões de ação, URL de deep-link, dados personalizados: mapeados corretamente para alertas APNs e notificações FCM.
- 06
Notificações silenciosas / em segundo plano
Passe content_available: true e encaminhamos corretamente via APNs background e FCM data-only por plataforma.
- 07
Segmentação por segmento
Etiquete utilizadores no momento do registo; direcione por etiqueta a partir de bird.push.send. Sem necessidade de integração com CDP de terceiros.
- 08
Recibos de entrega e abertura
Eventos para push.delivered, push.opened, push.dismissed. Mesmo envelope HMAC de qualquer outro canal.
- 09
Ciclo de vida dos tokens gerido automaticamente
Quando APNs / FCM devolve um token não registado, marcamo-lo como inativo e paramos de enviar. Sem limpeza manual.
- 10
Mesma autenticação, mesmo envelope de erros
Uma chave API para Push, SMS, Email, WhatsApp, Voice. Um único registo de tipos de erro para todos.
Por que criamos o Push
Porque o push não deveria estar num fornecedor diferente do seu SMS, do seu email e das suas verificações.
Todas as equipas de produto acabam com a mesma stack: APNs para iOS, FCM para Android, um service worker para web e uma tabela de base de dados que regista qual utilizador tem quais tokens com qual estado de opt-in. Nós construímos essa tabela, depois construímo-la novamente, e depois expusemo-la como bird.push.tokens.register e bird.push.send. A mesma autenticação, a mesma idempotência, o mesmo envelope de erros que Email e SMS — para que o OTP que falha no push recorra ao SMS no mesmo pedido.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({
apiKey: process.env.BIRD_API_KEY!,
});
// Send by device token...
const { data, error } = await bird.push.send({
to: "token_aPa91Hb...XzQ",
title: "Your driver is two minutes away",
body: "Tap to see the live map.",
data: { ride_id: "ride_2891" },
}).safe();
// ...or by user_id, fanning out to every opted-in device.
await bird.push.send({
to: { user_id: "usr_4hQ2m" },
title: "Your code is 482917",
body: "Enter it on the login screen.",
data: { kind: "otp" },
});
if (error) throw error;
console.log(data.id);
// → "push_2nQ81oP3..."
Cada mudança de estado é um webhook.
Payloads assinados com HMAC, proteção contra replay, idempotentes. O mesmo envelope em todos os canais Bird: aprenda um e terá aprendido todos.
Cronograma de tentativas: 5s, 5m, 30m, 2h, 5h e depois 10h duas vezes. Após a última tentativa, a entrega falha permanentemente, e o reenvio recupera-a a partir do dashboard ou da API.
push.queuedAceite pela API e colocado na fila para envio.push.sentEntregue ao servidor APNs / FCM / W3C Push.push.deliveredConfirmação de entrega ao dispositivo pelo fornecedor (quando disponível: APNs funciona com base no melhor esforço).push.openedO utilizador tocou na notificação (se a sua app o instrumentar).push.dismissedO utilizador descartou sem abrir (se a sua app o instrumentar).push.failedFalha permanente (token não registado, app removida). O token é desativado automaticamente.
Se integrou SMS, integrou Push.
A mesma autenticação, o mesmo contrato de idempotência, o mesmo envelope de erros, o mesmo formato de webhook. A diferença é o transporte, não a forma como o utiliza.
Push.
Uma chamada. Distribuímos para todos os dispositivos com opt-in do utilizador, via APNs, FCM e web.
SMS.
O mesmo envelope, o mesmo contrato de idempotência. Recorra ao SMS quando o push falhar, ou envie por SMS diretamente.
Uma tarifa por notificação, em todas as plataformas.
Preço por notificação entregue. A mesma tarifa no iOS, Android e web. APNs e FCM são gratuitos a montante, por isso cobramos pelo roteamento e pelo painel, não pelo transporte. Contacte a equipa comercial para um orçamento e preços por volume.