octopusteam/waapi-laravel 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

octopusteam/waapi-laravel

最新稳定版本:v1.2.0

Composer 安装命令:

composer require octopusteam/waapi-laravel

包简介

WAAPI whatsapp api integration for Laravel

README 文档

README

WAAPI Logo

Latest Version on Packagist Total Downloads License

This package provides a simple and expressive API for interacting with the WAAPI (WhatsApp API) service within a Laravel application.

Features

  • Send text messages, media, templates, stickers, voice notes, locations, and contacts.
  • Fluent and expressive API.
  • Automatic webhook route registration.
  • New WebhookReceived event for incoming data.
  • Integration with Webhook.site for easy debugging.
  • Artisan command to renew Webhook.site token.

Installation

composer require octopusteam/waapi-laravel

Publish the configuration file:

php artisan vendor:publish --provider="OctopusTeam\Waapi\WaapiServiceProvider"

This will create a config/waapi.php file in your application.

Configuration

Update your .env file with your WAAPI credentials:

WAAPI_APP_URL=https://waapi.octopusteam.net/api/create-message
WAAPI_APP_KEY=your_app_key
WAAPI_AUTH_KEY=your_auth_key
WAAPI_WEBHOOK_SITE_TOKEN=your_webhook_site_token
WAAPI_UPDATE_DEVICE_WEBHOOK=your_device_uuid_for_webhook_update

Usage

Sending Messages

You can send messages using the Waapi facade or by injecting the Waapi class.

use OctopusTeam\Waapi\Facades\Waapi;

// Send a simple text message
Waapi::sendMessage('201xxxxxxxxx', 'Hello, world!');

// Send an OTP with custom message
$otp = Waapi::generateOtp();
Waapi::sendOtp('201xxxxxxxxx', $otp, false, false, ":otp is your verification code.");

// Send Media (File)
Waapi::sendMedia('201xxxxxxxxx', 'Here is your invoice', 'https://example.com/invoice.pdf');

// Send Template
Waapi::sendTemplate('201xxxxxxxxx', 'template_id', [
    'variables[{1}]' => 'Value 1',
    'variables[{2}]' => 'Value 2'
]);

// Send Sticker
Waapi::sendSticker('201xxxxxxxxx', 'https://example.com/sticker.webp');

// Send Voice Note
Waapi::sendVoice('201xxxxxxxxx', 'https://example.com/voice.mp3');

// Send Location
Waapi::sendLocation('201xxxxxxxxx', '30.0444', '31.2357');

// Send Contact
Waapi::sendContact('201xxxxxxxxx', 'John Doe', '201xxxxxxxxx', 'Octopus Team');

Device Status & QR Code

// Get Device Status
$status = Waapi::getDeviceStatus('device_id');

// Get QR Code
$qr = Waapi::getQrCode('device_id');

Webhook Handling

The package can automatically register a webhook route to handle incoming data from WAAPI. To enable this, ensure the following is in your config/waapi.php:

'webhook' => [
    'enabled' => true,
    'auto_register' => true,
],

By default, the route is POST /api/webhook/whatsapp.

Events

When a webhook is received, the package fires the OctopusTeam\Waapi\Events\WebhookReceived event. You can listen to this event in your application's EventServiceProvider.

use OctopusTeam\Waapi\Events\WebhookReceived;

protected $listen = [
    WebhookReceived::class => [
        SendEmailNotification::class,
    ],
];

The event contains the webhook data in the $data property.

Webhook.site Integration

For development and debugging, you can use the Webhook.site integration to inspect incoming webhook data.

// Get the last 50 requests from Webhook.site
$data = Waapi::getWebhookSiteData(50);

// Get the decoded content from the last 50 requests
$content = Waapi::getWebhookSiteContent(50);

// Get a specific request by its ID
$request = Waapi::getWebhookSiteRequest('request-uuid');

Artisan Command

To renew your webhook.site token automatically, you can run the following Artisan command. This will generate a new token, update your .env file, and update the webhook URL via the WAAPI service.

php artisan waapi:webhook-renew

统计信息

  • 总下载量: 230
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 14
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 14
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-10-18

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固