Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Whatsapp Cloud Api Laravel Package

netflie/whatsapp-cloud-api

Send WhatsApp messages from any PHP app or Laravel project with this fluent client for the official WhatsApp Cloud API. Build text, media, template, and interactive messages, and send them via Laravel notifications or plain PHP—no extra services needed.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Channel expansion: should WhatsApp be a supported customer touchpoint? This package is the cheapest way to run a real pilot — order/shipping updates, appointment reminders, OTP/authentication, support conversations, and opt-in re-engagement — without committing to a CPaaS contract first.
  • Build vs. buy for a commodity integration. Sending a message is a Graph API call; receiving one is a webhook. The honest PM framing is that this library buys you nothing strategic — it buys you time. It removes the HTTP plumbing, auth headers, payload shapes, and webhook parsing so the team can spend cycles on the parts that are actually differentiated (message orchestration, template lifecycle, routing to human agents, compliance rules).
  • Roadmap sequencing across channels. If the team is PHP/Laravel-native and already ships SMS or email, WhatsApp can be slotted in as an additional adapter rather than a parallel platform project. That changes the cost of "try it" from a quarter to a sprint.
  • Inbound vs. outbound scope. The package covers both send and receive, which is what lets you decide whether to build a support/conversational flow rather than just a notification pipe. That's a materially different product bet — a one-way notifier is a feature; a two-way inbox is a product.
  • Dependency and exit strategy. Because it's MIT, thin, and swappable, adopting it doesn't lock you in. The real lock-in is Meta's platform (template approval queues, the 24-hour customer-service window, per-conversation pricing by category and country), not this library. That distinction should be explicit in any decision doc.
  • Compliance-adjacent decisions. Opt-in capture, template category selection, and the messaging window are policy decisions the library surfaces but does not solve. It supports the decision by making the constraints visible early and cheaply.

When to Consider This Package

Adopt when:

  • Your backend is PHP/Laravel and you want a minimal, idiomatic client rather than an HTTP client plus hand-rolled serialization.
  • You need both sending and webhook receipt — not just outbound notifications.
  • You're building your own integration on top of Meta's Cloud API and accept the operational ownership: Meta Business account, verified phone number, template submissions, webhook hosting, retries, and monitoring.
  • You're cost-sensitive and small-team. MIT licensing with no per-message markup is attractive when Meta bills you directly anyway.
  • You want a spike, not a platform. One to two sprints to prove delivery, webhook round-trip, and cost per conversation.

Look elsewhere when:

  • You need SLAs, support contracts, indemnification, or a vendor to absorb Meta's approval friction — that's a BSP (Twilio, 360dialog, Gupshup, Infobip), not a library.
  • Your stack isn't PHP; the abstraction value evaporates and you're better off with the official or community SDK for your language.
  • You need first-class queueing, rate-limit backoff, retry semantics, and observability out of the box. You will build these; budget for it.
  • You need coverage beyond basic messaging — WhatsApp Flows, catalogs, payments, media-heavy workflows — and want guarantees the wrapper tracks Meta's API changes. Verify surface area against today's Graph API version, not the README.
  • Single-maintainer / community dependency is unacceptable. 687 stars and a small contributor base is fine for a pilot, questionable as a load-bearing dependency in a revenue-critical path. Pin versions and read the changelog; confirm release cadence rather than trusting the stated date.
  • You want someone else to own the 24-hour window logic, template library, and opt-out handling. Those are product requirements, not library features.

How to Pitch It (Stakeholders)

To executives: This is a low-cost, low-risk way to test WhatsApp as a customer channel. The library is free and MIT-licensed, it fits our existing stack, and it lets us get a working pilot into staging in one to two sprints instead of a quarter. The commitment that matters isn't the library — it's Meta's platform, which charges per conversation and requires template pre-approval. So frame this as a channel experiment with defined success metrics, not a platform migration. If the pilot doesn't beat SMS or email on engagement or support deflection, we walk away and the library goes with it.

To engineering: It's a thin wrapper over Meta's Graph API for sending messages and parsing inbound webhooks — no framework lock-in beyond the HTTP client, no magic. It saves you writing auth headers and payload mapping. What it does not give you: retry/backoff, queueing, dead-letter handling, delivery observability, template lifecycle management, or the 24-hour-window state machine. Those are ours to build and should be scoped separately. Pin the version, isolate it behind an interface so we can swap to a BSP later without touching call sites, and treat it as an adapter — not a foundation.

The ask: A timeboxed spike — sandbox number, one approved template, one webhook consumer, end-to-end delivery in staging. Success criteria: message delivered, webhook received and parsed, cost per conversation modeled against real Meta pricing for our target countries. Exit criteria: if engagement or deflection doesn't clear the bar we set against existing channels, we don't extend it.

Known risks to flag up front: community-maintained dependency with a small contributor base; Meta's policy surface (opt-in, template categories, pricing changes) is the real ongoing cost; and the platform, not the package, is the thing that's hard to leave.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core