我试图在多租户架构的项目中集成WhatsApp业务通知,为了实现这一点,我正在从数据库中检索每个租户的单独设置。
我想通过不同的租户的令牌n电话号码发送WhatsApp通知.
但是这个包不允许我这样做,它只从配置文件加载单个静态配置,我已经分叉了这个包并试图修改它,但仍然无法加载动态配置。
我用的是https://github.com/netflie/laravel-notification-whatsapp包。
在App\Notifications\PaymentNotification中
public function toWhatsapp($notifiable)
{
$smtpService = new DynamicService();
$smtpService->setWhatsapp($this->demand->project);
$mobile = optional($this->demand->booking)->mobile;
return WhatsAppTemplate::create()
->language('en')
->name(Setting::getValue($this->demand->project,'whatsapp_template_key'))
->header(Component::document( Storage::url($this->demand->demand_letter), "{$this->demand->booking->unit->wing}-{$this->demand->booking->unit->number} - Payment Demand" ))
->body(Component::text( $this->demand->paymentSlab->description ))
->to($mobile);
}
无法找到一个正确的方式来动态地做到这一点,因为WhatsApp通过从app\config\services加载默认配置值来直接向用户发送消息。
1条答案
按热度按时间64jmpszr1#
Laravel的Http Facade类可以为您完成这项工作。看看这个使用curl调用WhatsApp Business API的官方文档。
https://developers.facebook.com/docs/whatsapp/cloud-api/guides/send-message-templates#media-based
使用这种方式,您可以很容易地为每个请求传递动态配置。
你可以先在任何API测试工具上测试它,然后在你的项目中实现它,只需要仔细解析数组中的数据,没有在laravel中测试过,但它在我的核心php项目中工作。