keapgeek / laravel-keap
Laravel 用于访问 Keap REST API (v1/v2) 的包
Requires
- php: ^8.1
- illuminate/contracts: ^10.0||^11.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^9.0.0||^8.22.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-arch: ^2.7
- pestphp/pest-plugin-laravel: ^2.3
README
坦白说,php-infusionsoft SDK 很糟糕。几乎没有对现代 PHP 版本的支持,以及像 upwebdesign 一样的所有 Laravel 包,该包是该包的主要灵感来源,都依赖于旧架构和 Infusionsoft API 的旧版本。
我介入以确保该包支持 Laravel 10+,完全忽略 PHP SDK,并使用 Laravel 辅助器和架构构建自己的包装器。
此包使用 OAuth 2 与 Keap 的 REST API v1 或 v2,不依赖于 infusionsoft SDK。
您可以在 wiki 中找到此包的完整文档网站。
安装
要安装此包,我们需要安装 Laravel 部分并创建 API 凭据以连接到您的 Keap 应用程序。
Laravel 设置
您可以使用以下命令安装包
composer require keapgeek/laravel-keap
然后安装包以发布配置
php artisan keap:install
在环境文件中添加以下行
KEAP_CLIENT_KEY="Client from the developer account" KEAP_CLIENT_SECRET="Secret from the developer account"
Keap 设置
在我们开始安装包之前,我们需要创建一个 Keap 开发者账户并获取我们的 API 凭据。
有关更多信息,请参阅 Keap 文档:查看完整的安装指南
简要地说,以下步骤如下
- 创建开发者账户
- 生成 Api 密钥
- 认证
首次使用
安装后,在 .env 文件中设置环境变量后,您可以在浏览器中访问 /keap/auth uri,即使是本地版本,也可以访问 Keap 的登录页面。登录后,您可以授权访问特定应用。
我强烈建议您使用 Keap 的沙盒版本,并在将其连接到包含客户数据的实际应用之前测试您的 Api。
Keap 将自动将您重定向到确认页面,该页面将简单地显示 连接成功!。从那里,您可以使用 Laravel Keap 服务。
自动刷新 Oath 令牌
Keap 将传输存储在缓存中的访问令牌和刷新令牌,因此请注意在清除它时。
刷新代码只能使用 24 小时。但是,您可以使用 artisan 命令刷新代码
php artisan keap:refresh
您可以将此命令设置在 Console\Kernel.php 文件中,每天运行两次或三次,以防止代码过期。
protected function schedule(Schedule $schedule): void { // Other scheduled commands $schedule->command('keap:refresh')->twiceDaily(1, 13); }
访问 API
要访问 REST API,您可以使用 Keap 门面
use KeapGeek\Keap\Facades\Keap; // To list all the contacts the contacts Keap::contact()->list; // To create a new tag Keap::tag()->create(...);
Keap 门面的方法允许您自动调用 API 端点。
所有可用方法的列表可以在 API 文档 中找到
测试
composer test
致谢
欢迎任何有助于开发此包的帮助!
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件