Intégration WhatsApp Base44 : votre propre numéro
Avec Whatsable, vous pouvez connecter à votre application Base44 le numéro WhatsApp Business que vous avez déjà. Base44 attribue un nouveau numéro WhatsApp à chaque agent intégré.
Gardez votre numéro. Gardez l'application WhatsApp Business. Contactez vos clients en premier avec des modèles approuvés.
Meta Tech Provider officiel · Gardez l'application WhatsApp Business
Ce que Base44 vous offre aujourd'hui et ce que Whatsable ajoute
Le canal WhatsApp intégré de Base44 et votre propre numéro peuvent fonctionner côte à côte. Le canal intégré vous donne un nouveau numéro par agent. Whatsable ajoute celui que vos clients ont déjà enregistré.
Base44 aujourd'hui : un numéro attribué
Dans Base44, chaque agent intégré reçoit son propre nouveau numéro WhatsApp.
- Au total, 3 agents intégrés peuvent être connectés à WhatsApp sur l'ensemble de vos applications. Les Superagents ont leur propre quota distinct.
- Les personnes doivent envoyer le premier message. Base44 impose cette règle pour limiter le spam.
- Chaque message envoyé ou reçu consomme 1 crédit d'intégration, plus d'autres crédits pour les actions de l'agent, comme les appels LLM. La fonctionnalité est gratuite sur tous les forfaits Base44.
“Connectez vos propres numéros WhatsApp Business.”
Whatsable : le numéro que vous avez déjà
Whatsable connecte le numéro WhatsApp Business que vous utilisez déjà à votre application Base44 via la WhatsApp Business Platform officielle de Meta. Le numéro attribué par Base44 continue de fonctionner à côté.
- Utilisez votre propre numéro WhatsApp Business ou le numéro américain inclus dans chaque forfait. Vous pouvez continuer à utiliser l'application WhatsApp Business sur votre numéro.
- Vous ne supprimez pas l'application WhatsApp Business. Avec Coexistence, votre équipe continue de répondre depuis le téléphone sur le même numéro.
- Pour contacter un client en premier, ou plus de 24 heures après son dernier message, envoyez un modèle approuvé. Meta ne délivre pas les modèles marketing aux utilisateurs de WhatsApp aux États-Unis ; les modèles utilitaires et d'authentification restent délivrés.
- Une fonction backend Base44 lit votre clé API Whatsable dans Base44 Secrets. C'est à vous de la configurer : Base44 ne l'active pas d'un clic à votre place.
Fonction backend Base44 → Whatsable → votre propre numéro WhatsApp Business
La configuration se fait en quatre étapes. C'est un parcours documenté, pas un connecteur natif ni une activation en un clic.
- 1Connectez votre numéro — Connectez votre numéro WhatsApp Business dans Whatsable avec le parcours d'inscription de Meta. Vous ne supprimez pas l'application WhatsApp Business. Avec Coexistence, votre équipe continue de répondre depuis le téléphone sur le même numéro.
- 2Créez votre clé API — Dans Whatsable, ouvrez Paramètres → Clés API et cliquez sur Créer une clé API. Copiez la clé. L'API Whatsable et les webhooks sont inclus dans Pro et Agency, pas dans Bulk Message.
- 3Stockez la clé dans Base44 Secrets — Dans Base44, ouvrez Dashboard → Secrets → Add Secret et enregistrez la clé sous le nom WHATSABLE_API_KEY. Ou exécutez base44 secrets set WHATSABLE_API_KEY=your_key. Les fonctions backend nécessitent un forfait Base44 Builder ou supérieur. Gardez la clé hors du chat et du code frontend.
- 4Envoyez et recevez — Ajoutez les fonctions backend ci-dessous. Elles lisent la clé avec secrets.get() dans le handler et appellent l'API Whatsable. Déployez la fonction, puis copiez son URL : https://<your-app-domain>/functions/whatsappWebhook. Dans Whatsable, ouvrez Paramètres → Webhooks, cliquez sur Ajouter un endpoint et collez l'URL. Sous Envoyer à, choisissez Votre propre serveur pour les messages entrants. Pour recevoir aussi les messages que vous envoyez, choisissez Make, Zapier ou n8n.
Trois fonctions Base44, une par tâche
Les fonctions backend Base44 tournent sur Deno. Chacune a son propre endpoint HTTPS : le même projet peut donc envoyer et recevoir des messages.
Envoyez un message
Cette fonction lit votre clé API Whatsable avec secrets.get() dans le handler et envoie un message en texte libre. Utilisez-la dans la fenêtre de service client.
import { secrets } from "base44:runtime";
export default async function (req: Request): Promise<Response> {
const { phone, text, idempotencyKey } = await req.json();
const apiKey = secrets.get("WHATSABLE_API_KEY");
const res = await fetch(
"https://api.whatsable.app/v1/messages",
{
method: "POST",
headers: {
Authorization: `Bearer ${apiKey}`,
"Content-Type": "application/json",
// Optional. Reuse a key only to retry a send that got no answer.
"Idempotency-Key": idempotencyKey ?? crypto.randomUUID(),
},
body: JSON.stringify({
to: phone, // E.164, e.g. "+15551234567"
type: "text",
text: { body: text },
}),
},
);
const data = await res.json();
// Refused before sending (key, scope, closed 24-hour window...): HTTP error with data.error.
if (!res.ok) {
return Response.json({ ok: false, error: data.error }, { status: 502 });
}
// 201 means recorded, not sent. A WhatsApp refusal is status "failed" with data.error.
if (data.status === "failed") {
return Response.json({ ok: false, error: data.error }, { status: 502 });
}
return Response.json({ ok: true, messageId: data.id, status: data.status });
}Contactez un client en premier avec un modèle
Un modèle approuvé par Meta permet à votre application de lancer la conversation. Utilisez-le pour le premier message ou quand la fenêtre de service client est fermée.
import { secrets } from "base44:runtime";
export default async function (req: Request): Promise<Response> {
const { phone, templateName, language, variables, idempotencyKey } = await req.json();
const apiKey = secrets.get("WHATSABLE_API_KEY");
const res = await fetch(
"https://api.whatsable.app/v1/messages",
{
method: "POST",
headers: {
Authorization: `Bearer ${apiKey}`,
"Content-Type": "application/json",
// Optional. Reuse a key only to retry a send that got no answer.
"Idempotency-Key": idempotencyKey ?? crypto.randomUUID(),
},
body: JSON.stringify({
to: phone, // E.164, e.g. "+15551234567"
type: "template",
template: {
name: templateName,
language: language, // e.g. "en_US"
// Keyed by the template's variables[].key, e.g. { "1": "Ana", "2": "#1042" }
variables: variables ?? {},
},
}),
},
);
const data = await res.json();
// Refused before sending (key, scope, unapproved template...): HTTP error with data.error.
if (!res.ok) {
return Response.json({ ok: false, error: data.error }, { status: 502 });
}
// 201 means recorded, not sent. A WhatsApp refusal is status "failed" with data.error.
if (data.status === "failed") {
return Response.json({ ok: false, error: data.error }, { status: 502 });
}
return Response.json({ ok: true, messageId: data.id, status: data.status });
}Recevez les messages entrants
Whatsable envoie par POST un payload JSON à l'endpoint de cette fonction. Les appels HTTP directs n'ont pas d'utilisateur connecté : utilisez donc asServiceRole pour accéder aux ressources Base44 qui l'exigent.
export default async function (req: Request): Promise<Response> {
const payload = await req.json();
// Messages you send arrive with incoming_message set to false. Skip them here.
if (payload.incoming_message === false) {
return Response.json({ ok: true });
}
const phone = String(payload.phone_number);
const name = payload.recipient_name ?? "";
const text = payload.last_message_of_user ?? "";
// Save or act on the message here. Answer quickly with a 2xx.
return Response.json({ ok: true, phone, name, text });
}Deux façons d'utiliser votre propre numéro avec Base44
Suivi de commande depuis votre propre numéro
Votre application Base44 suit les commandes de clients qui écrivent déjà sur votre numéro WhatsApp professionnel.
Résultat : Une fonction backend envoie un modèle approuvé depuis ce numéro. Quand le client répond, le texte libre fonctionne dans la fenêtre de service client.
Du prototype à la production
Votre agent Base44 a validé l'idée avec un numéro attribué. Vos clients doivent maintenant vous joindre sur le numéro qu'ils connaissent.
Résultat : Ajoutez une fonction backend et un webhook au même projet Base44. Le numéro attribué continue de fonctionner en parallèle.
Base44 et WhatsApp : vos questions, nos réponses
Oui. Chaque agent intégré Base44 reçoit son propre numéro WhatsApp. Au total, 3 agents intégrés peuvent être connectés sur l'ensemble de vos applications, et les personnes doivent envoyer le premier message.
Oui, via Whatsable. La documentation de Base44 indique toujours Custom Numbers comme Coming Soon. C'est donc un parcours documenté : une fonction backend de votre application appelle l'API Whatsable.
Oui. Vous ne supprimez pas l'application WhatsApp Business. Avec Coexistence, votre équipe continue de répondre depuis le téléphone sur le même numéro. Les réponses saisies dans l'application arrivent aussi sur votre webhook, une fois les messages sortants activés.
Oui. Pour contacter un client en premier, ou plus de 24 heures après son dernier message, envoyez un modèle approuvé. Meta ne délivre pas les modèles marketing aux utilisateurs de WhatsApp aux États-Unis ; les modèles utilitaires et d'authentification restent délivrés. Le canal d'agent de Base44 exige que la personne écrive en premier.
Non. Whatsable connecte votre propre numéro via le parcours d'inscription de Meta, puis envoie et reçoit sur la WhatsApp Cloud API officielle de Meta. Il n'utilise ni l'appairage par QR code ni des bibliothèques WhatsApp Web comme Baileys.
Via un webhook qui pointe vers une fonction backend. Chaque fonction Base44 a son propre endpoint HTTPS. Déployez la fonction, puis copiez son URL : https://<your-app-domain>/functions/whatsappWebhook. Dans Whatsable, ouvrez Paramètres → Webhooks, cliquez sur Ajouter un endpoint et collez l'URL. Sous Envoyer à, choisissez Votre propre serveur pour les messages entrants. Pour recevoir aussi les messages que vous envoyez, choisissez Make, Zapier ou n8n.
Non. C'est un parcours documenté, pas un connecteur natif : enregistrez votre clé API Whatsable dans Base44 Secrets et appelez l'API Whatsable depuis une fonction backend Base44.
Non. Ce sont des canaux distincts. Le numéro attribué par Base44 continue de fonctionner pour les agents qui l'utilisent, et votre propre numéro tourne à côté.
L'API Whatsable et les webhooks sont inclus dans Pro et Agency, pas dans Bulk Message. Les fonctions backend Base44 nécessitent aussi un forfait Base44 Builder ou supérieur.
Plus d'analyses détaillées d'intégrations
Votre propre numéro, sur la même application Base44
Gardez l'application WhatsApp Business, contactez vos clients en premier avec des modèles et laissez le numéro attribué par Base44 continuer de fonctionner.