mahan-shoghy / laravel-doordash
Laravel 的 Doordash 实现
Requires
This package is auto-updated.
Last update: 2024-09-08 09:30:28 UTC
README
Laravel Doordash API 包简化了在 Laravel 应用程序中与 Doordash API 集成的过程。
目前,仅发布了 Drive(配送)功能。
欢迎添加更多功能!
目录
安装
通过 composer(Laravel 10+)
composer require mahan-shoghy/laravel-doordash
可选:如果您想发布配置文件,请使用以下命令
php artisan vendor:publish --provider="MahanShoghy\LaravelDoordash\DoordashServiceProvider" --tag="config"
使用方法
设置环境
将这些变量添加到您的环境文件中
DOORDASH_DEVELOPER_ID=
DOORDASH_KEY_ID=
DOORDASH_SIGNING_SECRET=
您可以在 Doordash 开发者门户中创建凭证并获取值
配送
使用配送门面
use MahanShoghy\LaravelDoordash\App\Drive\Facades\Delivery;
创建报价 - 文档
Delivery::createQuote(array $data);
接受报价 - 文档
Delivery::acceptQuote(string $external_delivery_id, int $tip);
创建配送 - 文档
Delivery::create(array $data);
获取配送 - 文档
Delivery::get(string $external_delivery_id);
更新配送 - 文档
Delivery::update(string $external_delivery_id, array $data);
取消配送 - 文档
Delivery::cancel(string $external_delivery_id);
Webhook
Webhook 允许您的 Laravel 应用程序实时接收和处理 Doordash 事件。按照以下步骤在您的应用程序中设置 Webhook 处理。
- 发布配置文件:如果您还没有这样做,请使用以下命令发布配置文件
php artisan vendor:publish --provider="MahanShoghy\LaravelDoordash\DoordashServiceProvider" --tag="config"
生成 Webhook 授权令牌:将以下变量添加到您的环境文件中
DOORDASH_WEBHOOK_AUTH_TOKEN=
运行以下命令以生成令牌
php artisan doordash:generate-webhook-token
生成的令牌将设置在您的环境文件中。在开发者门户上创建 Webhook 端点时,在授权头中使用此令牌。
定义 Webhook 路由:在您的 Laravel 路由文件(如:web.php)中添加一个用于处理 Webhook 的路由。您可以选择任何您喜欢的 URL。默认情况下,HTTP 方法设置为 POST,但您可以根据需要更改它。
Route::doordashWebhooks('your-webhook-url'); // Default method is POST // OR Route::doordashWebhooks('your-webhook-url', 'get'); // Change HTTP method to GET
配置 Webhook 事件:打开
doordash.php
配置文件(您在第一步中已发布),指定您要处理的事件和相应的作业类。以下是一个示例'jobs' => [ 'DASHER_CONFIRMED' => DasherConfirmedJob::class, ]
在作业类中,您可以访问 Doordash 发送的事件的有效负载数据。
class DasherConfirmedJob implements ShouldQueue { public Payload $payload; public function __construct(Payload $payload) { $this->payload = $payload; } public function handle(): void { // Handle the webhook event using $this->payload } }
事件文档:您可以在 Doordash 文档 中找到可用 Doordash Webhook 事件的列表。此资源将帮助您了解和配置您希望处理的事件。
使用 Laravel 队列:为了更好的性能和可伸缩性,请考虑使用 Laravel 队列异步处理 Webhook 作业。这确保了即使在高负载的 Webhook 流量期间,您的应用程序也能保持响应。
现在,您的 Laravel 应用程序已准备好实时接收和处理 Doordash Webhook 事件。
支持
如果您有任何问题或需要帮助,请随时 联系我们。如果希望在 README 中包含特定的代码示例以帮助用户快速入门,也可以添加这些示例。
捐赠
如果您觉得这个包很有用,并想支持其开发,您可以通过加密货币进行捐赠。您的贡献将帮助维护和改进这个包。
您可以将您的捐赠发送到您的MetaMask钱包中的以下地址
钱包地址
0x4B3d57AC72B57a76b778Bac4e3b32d2d4d729955
感谢您的支持!