it-pirs / konnektive-api
Konnektive CRM v2 API 的 PHP 实现
v2.0.1
2020-07-28 03:38 UTC
Requires
- php: >=7.1.3
- ext-curl: *
- fzaninotto/faker: ^1.8
- illuminate/container: 5.7.*
- illuminate/database: 5.7.*
- illuminate/translation: 5.7.*
- illuminate/validation: 5.7.*
Requires (Dev)
- phpunit/phpunit: >=7.3.5
README
这是什么
这是一个简单的 API 集成,允许开发者与 Konnektive CRM 的 v2 API 交互。截至 2018 年 9 月 24 日,所有方法均已实现并完全验证
在 MIT 许可证下发布: https://open-source.org.cn/licenses/mit-license.php
为什么使用这个
在通过优惠处理交易和客户数据时,营销人员可以从使用经过良好测试且一致的第三方 API 集成中受益良多。
安装
使用 composer require it-pirs/konnektive-api
或手动将其添加到 composer.json
中(参见徽章中的最新版本)。
入门
可以通过简单地填充一个请求类并将其传递给分发器以处理 Konnektive
crm 集成,如下所示
use Konnektive\Dispatcher; class OfferProcessor { public function addCustomerNote(){ $dispatcher = new Dispatcher(); /** * @var $request \Konnektive\Request\Customer\AddCustomerNoteRequest; */ $request = new AddCustomerNoteRequest(); $request->loginId = "SomeValidStringForID"; $request->password = "SomeValidPassword"; $request->customerId = "123123"; $request->message = "TestMessage"; /** * @var $response \Konnektive\Response\Response; */ $response = $dispatcher->handle($request); if($response->isSuccessful()){ //Do the thing. } } }
注意:可以在构造时创建和传递自定义处理程序给分发器。
自定义处理程序
如果您想为请求分发使用自定义处理程序,可以创建一个新的实现 IHandler 接口的 Handler 类
use Konnektive\Contracts\IHandler; class CustomHandler implements IHandler { /** * @var $request \Konnektive\Request\Request * @return \Konnektive\Response\Response */ public function handle(Request $request){ //Handle that request return new Response(/* Some response data from cUrl */); } }
新的 CustomHandler
可以在构造时或之后传递给分发器
$dispatcher = new Dispatcher(new CustomHandler()); //// $dispatcher->setHandler(new CustomHandler());
验证
在执行处理程序之前将对所有请求进行验证。所有验证失败都通过 \Illuminate\Validation\ValidationException
提供。这些异常不会被捕获,必须在您的代码中处理!也可以在分发之前通过在请求对象上调用 validate()
来进行验证
/** * @var $request \Konnektive\Request\Customer\AddCustomerNoteRequest; */ $request = new AddCustomerNoteRequest(); $request->loginId = "SomeValidStringForID"; $request->message = "TestMessage"; try { $request->validate(); } catch(ValidationException $ex){ //Fails for customerId and password }
需求
- PHP 7.0+