Référence API
| Export | Rôle |
|---|---|
createVerificationSession(storage, config, context?) | Crée une session pending avec token et expiration (15 min par défaut). |
getVerificationSession(storage, token) | Lit une session, la fait expirer si le TTL est dépassé. |
buildWhatsAppVerificationLink(token, config) | Construit le lien wa.me avec message pré-rempli. |
resolveVerificationsFromWebhook(storage, payload) | À appeler depuis le webhook Meta : marque vérifiées les sessions dont le token apparaît dans un message entrant. |
extractIncomingMessages(payload) | Parse la portion messages d'un payload webhook Meta brut. |
shouldSendConfirmationReply(config, now?) | Décide si un message de confirmation cosmétique doit encore être envoyé. |
InMemorySessionStorage | Implémentation de référence de SessionStorage, pour dev/tests. |
Exemple complet
import {
InMemorySessionStorage,
buildWhatsAppVerificationLink,
createVerificationSession,
getVerificationSession,
resolveVerificationsFromWebhook,
} from "@soukep-express/soukep-auth";
const storage = new InMemorySessionStorage();
const config = { businessPhoneNumber: "+237XXXXXXXXX" };
// 1. Démarrage
const session = await createVerificationSession(storage, config);
const link = buildWhatsAppVerificationLink(session.token, config);
// 2. Dans le handler du webhook WhatsApp
const verified = await resolveVerificationsFromWebhook(storage, webhookPayload);
// 3. Côté client (poll)
const current = await getVerificationSession(storage, session.token);
if (current?.status === "verified") {
// current.phone est le numéro authentifié par WhatsApp
}