Bird Products
Neuf surfaces. Une plateforme. Même structure.
Email, SMS, Voice, WhatsApp, Verify, Lookup, RCS, Push et Realtime — chacun une API de premier ordre. Même authentification, même idempotence, mêmes webhooks, même enveloppe d'erreur. Apprenez-en un, vous les maîtrisez tous.
Tous les produits. Neuf surfaces, un SDK.
Email. L'API email pour les développeurs qui envoient aussi le reste du message.
await bird.email.send({
to: ["alex@example.com"],
subject: "Welcome to Bird",
html: "<p>You're in. Let's ship.</p>",
});SMS. L'API SMS pour les développeurs qui doivent vraiment livrer.
await bird.sms.send({
to: "+15005550006",
text: "Your code is 847291. Expires in 10 min.",
});Voice. Voix programmable en JSON. Appels, IVR, enregistrement, TTS.
await bird.voice.calls.create({
to: "+15005550010",
from: "+14155550199",
flow: [
{ say: "Your order is confirmed." },
],
});WhatsApp. L'API WhatsApp Business, sans le parcours du combattant BSP.
await bird.whatsapp.send({
to: "+15005550006",
type: "text",
text: { body: "Order confirmed! 🎉" },
});Verify. L'API OTP pour les développeurs qui ont besoin que les codes arrivent.
await bird.verify.verifications.create({
to: { phone_number: "+15005550006" },
});
// check by target — no id to store
await bird.verify.verifications.check({
to: { phone_number: "+15005550006" }, code: userCode,
});Lookup. Intelligence des numéros de téléphone : type de ligne, opérateur, signaux de fraude.
const { lineType, carrier, fraud } =
await bird.lookup.get("+15005550006");RCS. RCS Business Messaging — le grand frère du SMS, en mieux.
await bird.rcs.send({
to: "+15005550006",
text: "Your order shipped! 📦",
suggestions: [
{ type: "openUrl", text: "Track it", url },
],
});Push. Notifications push pour iOS, Android et le web.
await bird.push.send({
to: { deviceToken },
notification: {
title: "Order shipped!",
body: "Your package is on its way.",
},
});Realtime. Pub/sub hébergé via WebSocket. Abonnez-vous, publiez, passez à l'échelle.
await bird.realtime.publish({
channel: "orders",
event: "order.shipped",
data: { orderId, status: "shipped" },
});Chaque produit ci-dessus partage un même modèle d'authentification, un même contrat d'idempotence, une même enveloppe d'erreur, un même contrat de webhooks, un même schéma de pagination par curseur. Apprenez-en un, vous les connaissez tous.
/ Auth
/ Idempotency
/ Errors
/ Webhooks
/ Pagination
/ Typed IDs