SoukepAuth

Référence API

ExportRô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é.
InMemorySessionStorageImplé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
}