Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти
Інше
Події Про нас
Laravel WhatsApp
Новини 30 червня 2026
4

Laravel WhatsApp: Два Бекенди За Одним Фасадом

Laravel WhatsApp - це пакет від Md Mostafijur Rahman для надсилання та отримання WhatsApp-повідомлень із Laravel-застосунків. Його особливість полягає у підтримці двох способів комунікації з WhatsApp: через офіційний Cloud API Meta для бізнес-повідомлень та через неофіційний Node-сервіс whatsapp-web.js, який використовує headless Chromium для роботи з тим самим WebSocket-протоколом, що й веб-версія WhatsApp для особистих акаунтів. Обидва бекенди працюють через єдиний фасад WhatsApp::, тому код застосунку не потребує знати, який саме обробляє конкретне повідомлення. Пакет підтримує Laravel 11, 12 і 13 на PHP 8.2 або новіших версіях.

Два бекенди для різних завдань

Два бекенди існують тому, що кожен добре справляється з різними задачами, і пакет чесно розповідає про компроміси. Cloud API - це офіційний шлях для шаблонних бізнес-повідомлень, але він обмежує довільні відповіді 24-годинним вікном і не підтримує групи. Веб-сервіс не має таких обмежень і може створювати групи, публікувати статуси та підключатися через QR-код, але працює з особистим акаунтом без офіційної підтримки.

Можливість Cloud API Web Sidecar
QR-підключення Ні Так
Групи Ні Так
Довільні повідомлення 24-год вікно Так
Бізнес-шаблони Так Ні
Офіційна підтримка Так Неофіційно

Надсилання через обидва бекенди

Найпростіший виклик маршрутизує текстове повідомлення. Формат одержувача визначає, куди воно піде: телефонний номер у форматі E.164 надсилається через Cloud API, тоді як ідентифікатор @c.us спрямовується до веб-сесії.

WhatsApp::send('+14155550123', 'Your Laravel News digest is ready to read.');
WhatsApp::send('14155550123@c.us', 'Thanks for subscribing to the newsletter!');

Для бізнес-повідомлень ви використовуєте підтримку шаблонів Cloud API безпосередньо, передаючи назву шаблону, локаль та компоненти параметрів:

WhatsApp::messages()->sendTemplate('+14155550123', 'issue_published', 'en_US', [
 ['type' => 'body', 'parameters' => [['type' => 'text', 'text' => 'Issue #312']]],
]);

Веб-бекенд відкриває операції, недоступні в Cloud API. Сесії мають назви, тому ви можете запускати кілька особистих акаунтів і звертатися до кожного за ім'ям:

WhatsApp::web('main')->groups()->create('Laracon Attendees', ['14155550123@c.us']);
WhatsApp::web('main')->messages()->sendImage('14155550123@c.us',
 ['url' => 'https://example.com/laracon-schedule.png', 'caption' => 'See you at the keynote!']);

Чергове надсилання та вхідні події

Вихідні повідомлення можна відправляти як Jobs через job SendMessage пакета, що переносить надсилання повідомлень із циклу запиту на ваші queue-воркери:

SendMessage::dispatch('+14155550123', 'New on Laravel News: this week in the ecosystem.');

Вхідні повідомлення від веб-сервісу інтегруються в систему подій Laravel. Процес whatsapp:web:listen, що працює тривалий час, спостерігає за Node-сервісом і генерує типізовані події, такі як MessageReceived, на які ви можете підписатися як на будь-яку іншу подію:

use \Kstmostofa\LaravelWhatsApp\Events\Web\MessageReceived;
Event::listen(MessageReceived::class,
 function ($event) {
 Log::info('Reader replied', ['from' => $event->from(), 'body' => $event->body()]);
 }
);

Cloud API обробляє вхідний трафік через вебхуки з верифікацією HMAC-підпису за допомогою секрету вашого Meta-застосунку.

Адмін-інтерфейс та рівень персистентності

Якщо ви встановите опціональні залежності Livewire та Flux, пакет монтує адмін-інтерфейс за адресою /whatsapp. Він включає дашборд, екран для обміну повідомленнями, представлення розмов у вигляді чат-бульбашок та сторінки для груп, контактів і журналів вебхуків. Якщо додати Laravel Reverb, представлення розмов оновлюються в реальному часі.

Персистентність включається через три Eloquent-моделі: WaSession, WaMessage та WaContact. Вони можуть працювати на окремому з'єднанні з базою даних, якщо ви хочете тримати WhatsApp-дані осторонь від основної схеми. Пакет також обробляє фонове мостування подій, моніторинг стану сесій та кешування аватарів і медіа.

Початок роботи

Встановіть пакет та опублікуйте його конфігурацію та міграції:

composer require kstmostofa/laravel-whatsapp
php artisan vendor:publish --tag=laravel-whatsapp-config
php artisan vendor:publish --tag=laravel-whatsapp-migrations
php artisan migrate

Для роботи з Cloud API потрібні ваші Meta-credentials в оточенні:

WHATSAPP_ACCESS_TOKEN=EAAG...
WHATSAPP_PHONE_NUMBER_ID=123456789012345
WHATSAPP_BUSINESS_ACCOUNT_ID=987654321098765
WHATSAPP_APP_SECRET=your-meta-app-secret
WHATSAPP_VERIFY_TOKEN=any-string-you-make-up

Веб-сервіс встановлюється та запускається через artisan-команди, після чого процес-слухач інтегрує його події назад в Laravel:

php artisan whatsapp:sidecar:install
php artisan whatsapp:sidecar:start
php artisan whatsapp:web:listen main &

Ви можете ознайомитися з вихідним кодом, повним довідником конфігурації та списком доступних команд на GitHub.

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Читайте також

Backpack CRUD RCE

Повідомлення про безпеку: неавтентифіковане ін'єктування команд у Backpack\CRUD

Команда Backpack for Laravel опублікувала повідомлення про безпеку: у телеметрії пакета Backpack\CRUD виявлено вразливість, що дозволяла віддалене виконання коду (RCE) без автентифікації. Дослідник безпеки Vishal Shukla (@therawdev) відповідально повідомив про проблему 16 травня 2026 року, і команда розробників випустила виправлення менш ніж за 24 години.

Що нового в PostgreSQL 19: графові запити, GROUP BY ALL і крок до "універсальної" бази даних.

Що нового в PostgreSQL 19: графові запити, GROUP BY ALL і крок до "універсальної" бази даних.

PostgreSQL 19 продовжує важливу тенденцію останніх років: класична реляційна база даних поступово перетворюється на універсальну платформу для роботи з різними типами даних - від JSON до графів і аналітики

Вакансії за темою

Full-time Вчора

Senior Backend Developer (PHP / Laravel)

VANTREXIS Віддалено За результатами співбесіди

VANTREXIS is an engineering agency that builds dedicated remote teams for high-growth SaaS companies in the US, UK, and EU. We are looking for a Senior Backend Engineer to develop new features in a complex, integration-heavy product environment. The Role You will join a team where AI-augmented development (** Cursor, Claude, Copilot**) is a daily standard, not a bonus. Your focus will be on delivering clean, typed code within established architectural patterns - and raising the quality bar as you go. Tech Stack Core: PHP 8.2 + Laravel 12. Database: MySQL 8 + Redis. ORM: Eloquent. Auth: Laravel Passport (OAuth 2.0), Spatie Permission (RBAC). Queue: Laravel Queue with multiple named workers. Cloud: AWS S3, SES, SNS. Payments: Mollie / Stripe. Real-time: Pusher, Firebase FCM. Testing: PHPUnit 11. What You'll Do Build & Architect: Deliver new API endpoints following the Controller → Service → Repository pattern. Ownership: Take full responsibility for features from analysis to production deployment. Quality First: Write feature tests alongside every new feature to raise current coverage. Integrate: Extend and maintain external integrations (Mollie, AWS, Firebase, healthcare APIs). Proactive Improvement: Identify architectural bottlenecks and edge cases before they become problems. Requirements Expert PHP/Laravel: Deep knowledge of Eloquent, Passport, Policies, Events, and Jobs. RBAC Patterns: Experience with complex authorization flows and company-scoped roles. Database Mastery: MySQL 8 optimization and writing safe, backwards-compatible migrations. Mindset: You think like an owner, not just a task-executor; you communicate risks early. AI-Tooling: Proficiency in using AI-powered tools to maximize engineering efficiency. Testing Culture: A "craftsmanship" approach where untested code is not considered "done". Nice to Have Experience with Mollie or equivalent payment lifecycles. Familiarity with AWS IVS (live streaming) or Pusher. Experience using PHPStan / Larastan for static analysis. An active GitHub profile or technical pet-projects. What We Offer Remote-first: Work from any safe location in Ukraine. Stability: VANTREXIS is an official Diia City resident. Benefits: Paid vacation, sick leaves, and corporate medical insurance. Culture: Flat structure, zero bureaucracy, and a strong engineering community. Growth: Access to Udemy and internal knowledge sharing. Hiring Process HR Screen: Intro call to discuss experience and expectations. Technical Interview: Deep dive into engineering skills and architectural thinking. Final Decision.

Full-time 4 дн. тому

Middle Fullstack Developer Laravel / Vue 3 / Node.js

PSV Game Studio Віддалено $2,000 - $2,500

Ми в CAS.AI створюємо передову мобільну рекламну медіацію для ігрових студій та шукаємо Middle Fullstack Developer, який підсилить основну команду розробки та допоможе розвивати фінансові дашборди, інтеграції з платіжними системами та аналітичні сервіси для роботи з великими обсягами даних. Основні задачі: Розробка нових функціональностей для фінансових дашбордів на Laravel + Vue 3 (графіки, таблиці, фільтри, експорти) Проєктування та реалізація API-інтеграцій із платіжними системами та зовнішніми сервісами (billing, payouts, reconciliation) Робота з великими обсягами даних та ClickHouse Рефакторинг legacy-коду, винесення логіки в сервіси, покриття тестами Участь у code review та архітектурних обговореннях Написання unit та feature тестів Використання AI-інструментів (Claude Code, Cursor) для прискорення розробки з повним розумінням згенерованого коду Розробка та підтримка мікросервісів на Node.js (NestJS) Побудова асинхронної взаємодії між сервісами (черги, події) Наші очікування: 2+ роки комерційного досвіду Fullstack-розробки на PHP/Laravel + Vue.js(або React з готовністю перейти на Vue) Досвід роботи з реляційними БД (MySQL/PostgreSQL) у проєктах зі складною бізнес-логікою Досвід роботи з REST API Впевнене володіння Node.js (досвід з NestJS буде плюсом) Розуміння принципів роботи з чергами повідомлень та асинхронною обробкою Розуміння архітектурних патернів та вміння аргументувати свої технічні рішення Важливі технічні навички: PHP 8+ / Laravel: Eloquent, Queues, Events, Middleware, Service Providers, Feature Tests Vue 3: Composition API, Pinia, реактивність, компонентна архітектура SQL: складні запити, JOIN, індекси, оптимізація, розуміння EXPLAIN REST API: проєктування, версіонування, авторизація (JWT/Sanctum) Git: feature branches, pull requests, code review Вміння читати, розуміти та рефакторити чужий код Буде плюсом: Досвід роботи з ClickHouse або іншими аналітичними/колоночними БД Інтеграція платіжних систем (Stripe, Adyen або інші PSP) Docker та базове розуміння CI/CD TypeScript AWS (ECS, RDS, CloudFront, ElastiCache) Досвід використання AI-інструментів у розробці Що пропонуємо: Можливість впливати на архітектурні рішення та розвиток продукту Роботу з сучасним стеком та великими обсягами даних Динамічне середовище та цікаві технічні задачі Перспективу професійного та кар’єрного росту завдяки розширенню проєктів та зон відповідальності В резюме вказуйте Ваші очікування по ЗП Відгукнутись на вакансію

Full-time 5 дн. тому

Senior Full-Stack Developer (Laravel/AI Integration)

DevIT Group Віддалено $2,500 - $3,500

Senior Full-Stack Developer (Laravel / AI Integration) Про проєкт: Ми шукаємо досвідченого Full-Stack розробника для роботи над інноваційною платформою оркестрації ШІ-агентів та створення автономних інструментів розробки. Вам доведеться працювати зі складною бізнес-логікою, інтеграціями LLM-моделей та сучасною екосистемою Laravel (Livewire + Alpine.js). Чим потрібно буде займатися: Оркестрація ШІ-агентів Розробка рушія для управління пайплайнами, запуском агентів, state machine-процесами, забезпеченням ідемпотентності та відмовостійкості (failure recovery). Розвиток Agent Runtimes Підтримка різних режимів роботи агентів - від простих LLM-запитів (prompt mode) до контейнеризованих середовищ розробки (opencode mode) з доступом до файлової системи та інструментів візуального QA-тестування (Chromium + Playwright). Розробка продукту «Autonomous Developers» Створення функціоналу, де завдання з канбан-дошки автоматично перетворюються на процеси: клонування репозиторію, реалізація змін агентом, створення Pull Request (PR) та генерація звітів про виконану роботу зі скриншотами. Інтеграції Налаштування та підтримка інтеграцій з: GitHub App (server-side clone/push, встановлення токенів); OpenRouter (маршрутизація LLM); Stripe (білінг); Scaleway (serverless-задачі та S3); MCP-серверами. Робота з векторними базами даних (Big Brain). Управління клієнтськими сховищами знань на базі pgvector, реалізація гібридної фільтрації та семантичного пошуку через REST API, MCP і чат. Білінг та метрики. Розробка системи мікробілінгу, контролю витрат (spend caps & budgets) та прозорого відображення витрат для клієнтів. Вимоги до кандидата: Розмовна англійська: Upper-Intermediate Backend Глибокі знання PHP 8.3 та фреймворку Laravel. Frontend Досвід роботи з Livewire 3, Alpine.js та Tailwind CSS. Ми використовуємо server-driven UI без окремого SPA. Архітектура Досвід роботи з фоновими задачами (queued/background jobs). Розуміння multi-tenant архітектури баз даних (workspace-scoped). Бази даних Впевнене володіння MySQL та PostgreSQL. Обов’язковий досвід або розуміння роботи з pgvector. Досвід роботи з S3-сумісними сховищами даних (Scaleway). Інфраструктура Практичний досвід роботи з Docker. Розуміння процесів деплою та роботи з Fly.io, Hetzner, Scaleway Serverless Jobs, а також GitHub Webhooks. ШІ / LLM Розуміння принципів роботи сучасних мовних моделей. Досвід інтеграції через API (OpenRouter та інші). Наші стандарти якості та Engineering Culture: Покриття коду тестами. Ми використовуємо Pest із feature-first підходом. Строга типізація та статичний аналіз. PHPStan / Larastan. Єдиний стиль коду. Laravel Pint. CI/CD. Налаштований CI/CD-пайплайн для кожного Pull Request. Відгукнутись на вакансію

Пакети за темою

Bagisto

bagisto/bagisto

Bagisto — це платформа для електронної комерції, побудована на Laravel. Вона надає готове рішення для створення та управління інтернет-магазинами з підтримкою каталогу товарів, замовлень, платежів та клієнтів.

27,502 v2.4.7 12 9

Lang

laravel-lang/lang

Список 126 мов для Laravel Framework, Laravel Jetstream, Laravel Fortify, Laravel Breeze, Laravel Cashier, Laravel Nova, Laravel Spark та Laravel UI.

7,778 15.31.4 6