emiliopuljiz/api-whatsapp-business

使用此包,您可以创建 WhatsApp 商务模板,通过这些模板开始对话。我们还将有一个面板,以便接收和发送与我们已经开始对话的客户的消息。

1.1.2 2024-03-26 15:12 UTC

This package is auto-updated.

Last update: 2024-09-08 01:10:10 UTC


README

Latest Version on Packagist Total Downloads

api-whatsapp-business 是一个 Laravel 包,允许您将 WhatsApp 模板动态地发送到指定的电话号码。使用此包,无论创建的模板中有多少变量,都可以发送模板,这使得为每个接收者个性化消息变得更加容易,无论模板的复杂程度如何。

安装

您可以通过 composer 安装此包

composer require emiliopuljiz/api-whatsapp-business

您可以使用以下命令发布并运行迁移

php artisan vendor:publish --tag="emiliopuljiz-api-whatsapp-business-migrations"

php artisan migrate

🚀 初始设置:

  1. 在 Facebook 开发者上注册

    • 前往 Facebook 开发者
    • 获取以下数据
      • 应用标识符:XXXXXXXXXXXXXXXXX(在菜单的右上角输入应用后获得)。
      • 电话号码标识符:XXXXXXXXXXXXXXXXX(在左侧菜单 WhatsApp > API 设置 > 选择发送测试的指定电话号码下方获得)。
      • 应用密钥:XXXXXXXXXXXXXXXXX(在左侧菜单应用设置 > 基本信息中获得)。
  2. 数据库配置

    • 使用上述数据将 whatsapp_configurations 表插入到您的数据库中。

📝 创建 WhatsApp 模板:

  • 在 WhatsApp 中创建一个模板,例如

    • 名称:new_user
    • 类型:实用型(如果用于客户或用户)/ 营销(如果用于其他目的)
  • 示例模板正文:标题:(欢迎来到我的应用程序)

    正文:您好 {{1}},这是您的访问信息

    用户:{{2}} 密码:{{3}} 访问我的应用程序:{{4}}

    页脚:(来自我的应用程序团队的问候)

此过程将允许您配置您的包,以向接收者发送动态和个性化的 WhatsApp 模板。

用法

  • 您应该创建一个工作。然后从您在应用程序中使用的位置调度工作
  • 请注意,在类中,您必须调用 SendWhatsapp(我们在包中拥有的特性)
<?php

namespace App\Jobs;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use EmilioPuljiz\ApiWhatsappBusiness\Traits\SendWhatsapp;

class SendWhatsAppJob implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels, SendWhatsapp;

    protected $phoneNumber;
    protected $templateName;
    protected $variables;

    /**
     * Create a new job instance.
     *
     * @param string $phoneNumber
     * @param string $templateName
     * @param array $variables
     * @return void
     */
    public function __construct($phoneNumber, $templateName, $variables)
    {
        $this->phoneNumber = $phoneNumber;
        $this->templateName = $templateName;
        $this->variables = $variables;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        // Call the SendWhatsappNotification method from the trait
        $this->SendWhatsappNotification(
            $this->phoneNumber,
            $this->templateName,
            $this->variables
        );
    }
}
  • 控制器使用
use App\Jobs\SendWhatsAppJob;

// Somewhere in your code...
$phoneNumber = '5493624380272';
$templateName = 'new_user';
$variables = ['Emilio', 'emiliopuljiz@gmail.com', 'Emilio*1234', 'myapp.com'];

// Call Job to send WhatsApp message
SendWhatsAppJob::dispatch($phoneNumber, $templateName, $variables);

变更日志

有关最近更改的更多信息,请参阅 变更日志

致谢

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件