carropublic/carromessenger

:package_description


README

Latest Version on Packagist Total Downloads

您可以使用此包通过 Message bird 和 Twilio 发送 WhatsApp 消息和模板消息,通过 Twilio 和 Telerivet 发送短信消息。您还可以为 Toky 的可编程 webhook 创建钩子来处理来电。

您需要准备一个包含服务和渠道(WhatsApp、SMS 等)的数组,然后调用 sendMessage()。以下是一个示例。

$data = [
    'to'        => '+959XXXXXXXX',
    'message'   => 'Testing',
    'service'   => 'twilio',
    'channel'   => 'whatsapp',
    'image_url' => 'www.example.com/example.jpg'
];
CarroMessenger::sendMessage($data);

安装

通过 Composer

$ composer require carropublic/carromessenger

使用方法

您需要为每个要使用的服务设置 .env 值。

#For Message Bird
MESSAGE_BIRD_ACCESS_KEY                     = message_bird_key
MESSAGE_BIRD_WHATS_APP_CHANNEL_ID           = whatsapp_channel_from_message_bird
MESSAGE_BIRD_WHATSAPP_TEMPLATE_NAMESPACE    = whatsapp_tempalate_namespace (only needed it you would like to send template message)
MESSAGE_BIRD_WHATSAPP_REPORT_URL            = whatsapp_message_status_report_url (optional)
MESSAGE_BIRD_WHATSAPP_PHONE                 = whatsapp_message_bird_phone // (optional)

#For Twilio
TWILIO_ACCOUNT_SID              = twilio_account_sid
TWILIO_AUTH_TOKEN               = twilio_auth_token

#For Telerivet
TELERIVET_API_KEY               = telerivet_api_key
TELERIVET_PROJECT_ID            = telerivet_project_id

#For Toky
TOKY_APP_KEY                    = toky_app_key
TOKY_APP_URL                    = toky_app_url

然后,创建一个发送消息的数组,如下所示。就这么简单。

$data = [
    'to'        => '+959XXXXXXXX',
    'message'   => 'Testing',
    'service'   => 'twilio',
    'channel'   => 'whatsapp',
    'image_url' => 'www.example.com/example.jpg'
];
CarroMessenger::sendMessage($data);

以下服务支持使用可编程 webhook 错误消息和状态报告。您可以点击以下列表了解每个服务的详细信息。

对于上述未列出的其他服务,您可能需要依赖事件。

事件

我们扩展了 Laravel 的通知功能以发送消息。因此,您无法立即看到成功/错误响应。为了解决这个问题,我们添加了一个名为 MessageWasSent 的事件名称。每次您发送消息时,都会将消息发送到事件。但是,您必须在您的 .env 中将 EVENT_IS_CALLED 设置为 true。然后,您为该事件创建一个监听器,并按需处理结果。您还可以使用 Laravel 的通知事件

安全

如果您发现任何与安全相关的问题,请通过作者的电子邮件而不是使用问题跟踪器。

致谢

许可证

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