it-pirs/konnektive-api

Konnektive CRM v2 API 的 PHP 实现

v2.0.1 2020-07-28 03:38 UTC

This package is auto-updated.

Last update: 2024-09-28 13:25:11 UTC


README

Latest Stable Version Latest Unstable Version Total Downloads License

这是什么

这是一个简单的 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+