fitboxmedia/konnektive-api

康尼克提CRM v2 API的PHP实现

2.0 2018-10-01 09:05 UTC

This package is not auto-updated.

Last update: 2024-09-24 17:01:00 UTC


README

Latest Stable Version Latest Unstable Version Total Downloads License

这是什么

这是一个简单的API集成,允许开发人员与康尼克提CRM的v2 API进行交互。截至2018年9月24日,所有方法都已实现并完全验证。

MIT许可下授权:https://open-source.org.cn/licenses/mit-license.php

为什么使用这个

在通过优惠处理交易和客户数据时,营销人员可以通过使用经过良好测试和一致的第三方API集成而获得实质性好处。

安装

使用composer require fitboxmedia/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接口的处理程序类。

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+