import crypto from "crypto"; import { parseEvolutionWebhook } from "../services/evolutionParser.js"; import { resolveTenantId, processMessage } from "../services/pipeline.js"; export async function handleEvolutionWebhook(body) { const parsed = parseEvolutionWebhook(body); if (!parsed.ok) { return { status: 200, payload: { ok: true, ignored: parsed.reason } }; } const tenantId = await resolveTenantId({ chat_id: parsed.chat_id, tenant_key: parsed.tenant_key, to_phone: null, }); await processMessage({ tenantId, chat_id: parsed.chat_id, from: parsed.chat_id.replace("@s.whatsapp.net", ""), text: parsed.text, provider: "evolution", message_id: parsed.message_id || crypto.randomUUID(), meta: { pushName: parsed.from_name, ts: parsed.ts, instance: parsed.tenant_key }, }); return { status: 200, payload: { ok: true } }; }