woocommerce integration, controllers and handlers ready, evolution api simulator ready

This commit is contained in:
Lucas Tettamanti
2026-01-02 16:49:35 -03:00
parent 556c49e53d
commit 303c3daafe
19 changed files with 637 additions and 141 deletions

29
src/handlers/evolution.js Normal file
View File

@@ -0,0 +1,29 @@
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 } };
}