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 Manager

Whatsapp Manager Laravel Package

scriptdevelop/whatsapp-manager

scriptdevelop/whatsapp-manager is a Laravel/PHP package that helps developers add and manage WhatsApp messaging in their applications, offering a convenient integration layer for message sending, contact or conversation handling, and related WhatsApp workflows.

View on GitHub
Deep Wiki
Context7

Gestión de mensajes, plantillas, campañas, flujos conversacionales y más

Frequently asked questions about Whatsapp Manager
How do I install scriptdevelop/whatsapp-manager in a Laravel application?
Install it with Composer, publish the package config file, and set your WhatsApp Business Cloud API credentials such as the phone number ID, WABA ID, and access token in your .env file. You then register the package's webhook route so Meta can deliver inbound events. The PHP-side setup is quick, but the real schedule driver is Meta onboarding: creating the app, provisioning a test WABA number, getting a permanent system-user token, business verification, and template approval.
Which Laravel and PHP versions does whatsapp-manager support?
The package is described as fitting conventional Laravel 9 through 11 applications on PHP 8.1 and newer. Because there is no visible CI matrix in the evaluation, check the composer.json constraints and run a quick compatibility test in your target Laravel version before committing. If you are on an older or newer Laravel release, verify before adopting it as a dependency of record.
Does this package support WhatsApp template messages with variables, headers, and buttons?
Template messaging is part of the package's stated scope for managing messages, templates, and campaigns, but component-level support for headers, body variables, and buttons should be confirmed in a spike. Read the source or test against a real approved template, since the documentation is Spanish-only and edge behaviours are not always documented. Remember that templates are mandatory outside the 24-hour customer service window, so your application should still own opt-in state and window tracking.
How do I configure WhatsApp Cloud API credentials and the webhook in Laravel?
Configuration is .env-driven and published through the service provider, so you keep the phone number ID, WABA ID, and access token in config rather than scattered through code. The webhook route needs the hub.challenge verification handshake and X-Hub-Signature-256 validation for inbound payloads. Confirm both behaviours in a spike before going live, because webhook hardening is one of the most common gaps in small utility packages.
Is scriptdevelop/whatsapp-manager safe to use in production?
It is a thin integration layer over Meta's Graph API with a single maintainer, around 80 stars, and no dependents, so there is no ecosystem validation and the bus factor is one. That makes it reasonable for transactional messaging in a Laravel 9-11 app, but risky as a critical dependency without a wrapper. Adopt it behind an application-owned gateway interface, queue every send, and keep a fallback Guzzle client in mind if maintenance stalls.
Does it implement X-Hub-Signature-256 webhook verification and idempotency for Meta retries?
Signature verification and idempotency are exactly the points the evaluation flags as the highest-severity gaps in packages like this, so do not assume they are handled. Meta delivers webhooks at least once, which means your application needs idempotency keys, ideally in Redis, to avoid duplicate processing on retries. Confirm signature validation exists in the source, and add replay protection at your webhook ingress if it does not.
Can I use whatsapp-manager for multiple WhatsApp numbers or a multi-tenant application?
Small wrappers typically assume a single WABA and one set of credentials, and multi-tenant isolation and per-number token scoping are rarely handled out of the box. If you serve multiple tenants, keep credentials and routing application-owned and treat the package as a transport detail behind your own gateway. Verify how the config is resolved per request before designing a multi-tenant setup around it.
How should I send WhatsApp messages asynchronously with Laravel queues?
Route every outbound send through queued jobs rather than calling the API synchronously inside a request cycle, so user requests are not blocked by Graph API latency. Add handling for HTTP 429 responses with backoff, and map Meta error codes into retryable versus terminal failures in your job layer. Token refresh and long-lived system-user token rotation should also live in your application, not in scattered package helpers.
How do I test WhatsApp messaging in Laravel without hitting the real Meta API?
Define an internal WhatsAppGateway interface with methods like sendText, sendTemplate, sendMedia, and markRead, then bind the package implementation in production and a fake in tests. This lets you assert that jobs dispatch and payloads are shaped correctly without network calls or approved templates. It also keeps the swap to a hand-written Guzzle client contained if this package becomes unmaintained.
What are the alternatives if scriptdevelop/whatsapp-manager is not maintained?
The fallback is a small Guzzle client against the same WhatsApp Business Cloud API endpoints, roughly 200 lines for sending messages and receiving webhooks. That is why adopting the package behind your own gateway interface from day one matters: it turns a maintenance failure into a contained swap rather than a rewrite. Other Laravel WhatsApp packages exist, but compare their Graph API version handling, webhook verification, and multi-tenant support before switching.
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.
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle