Skip to content

WhatsApp

WhatsApp is the default channel for Panama PYMES. The scaffold under app/graphql/whatsapp/ exists; finish it.

Mirror emails/ in structure: outgoing sender service, per-client default channel, log of sends, and inbound webhook.

Items

  • WhatsApp send service (Cloud API or 360dialog/Twilio adapter).
  • Acceptance: a sendWhatsapp(toClientId, templateName, mediaFileId?) mutation that posts to the provider and stores a WhatsappMessage row.
  • Send invoice / quote / statement / receipt via WhatsApp with the PDF attached.
  • Acceptance: each entity surface exposes a "Enviar por WhatsApp" action that uses the configured template + the entity's PDF.
  • Per-client default channel stored on ClientInvoiceDefault (email / whatsapp / both).
  • Acceptance: bulk send respects the default per client; UI shows a chip on each line.
  • Templated reminders cadence — 3 days before due, day-of, 3 days late, 15 days late.
  • Acceptance: scheduler job iterates open invoices nightly and dispatches reminders based on a per-tenant cadence config.
  • Inbound WhatsApp → thread linked to client.
  • Acceptance: incoming message webhook resolves the phone to a client and appends to a chat thread visible on the client detail page.
  • WhatsApp templates UI — author HSM templates and submit for approval (or pick from a shared library).
  • Acceptance: Settings → Comunicación → WhatsApp lets the owner add a template, see approval status, and preview.
  • Owner morning summary via WhatsApp — see Owner dashboards.

Shipped

None yet.