dangetsu/roistat-sdk

用于轻松处理Roistat API v1的库

dev-master 2021-08-13 01:20 UTC

This package is auto-updated.

Last update: 2024-09-13 08:12:29 UTC


README

用于处理Roistat v1 API的库 (https://roistat.api-docs.io/v1/)

要求

PHP >= 5.4.0
guzzlehttp/guzzle >= 5.4.0

安装

在composer.json中添加新包并执行composer install(或如果已经安装,则执行update)。
更多详情可以参考这里 - https://habr.com/post/145946/

{
  "require": {
    "dangetsu/roistat-sdk": "dev-master"
  }
}

使用方法

首先需要初始化库以进行后续操作。

require_once 'vendor/autoload.php';

$roistat = new \Analytics\Roistat($apiKeyFromProfile, $projectId);
  • projectId - 如果您想调用获取项目列表的公共方法,则可以等于0。但若需要调用项目的方法,则必须重新声明对象。

为了执行任何操作,我们需要调用执行该操作的架构。构造函数接受应用程序的基本对象作为参数。

$callScheme = new \Analytics\Scheme\Calltracking\Call($roistat);

架构提供了一组基本方法,供其使用。例如,对于电话列表架构,有以下方法:

$callScheme->items();
$callScheme->create(new Entity\Calltracking\Call());
$callScheme->update(new Entity\Calltracking\Call());
  • items() - 返回实体列表,可以通过getter获取其参数,也可以直接调用update、delete等。
    大多数情况下,此方法接受参数以进行查询过滤和排序。
$calls = $callScheme->items((new \Analytics\Engine\Query())->addFilter('callee', '=', '79780000000')->setSort('id', 'desc')->setLimit(1));
$calls[0]->setComment('Тестовый комментарий')
            ->setOrderId('22')
            ->setLink('https://site.ru/calltracking/call/23/file/123456qwerty')
            ->update();
  • create()update() - 接受要发送的实体,并返回成功状态或带有 id 的相同实体。
$call = (new Entity\Calltracking\Call())
            ->setCallee('7495301234')
            ->setCaller('7495301234')
            ->setDuration(59)
            ->setStatus('ANSWER')
            ->setDate('2016-06-19T09:31:01+0000')
            ->setVisitId('666')
            ->setOrderId('777')
            ->setSaveToCrm(0);
$call = $callScheme->create($call);

可以通过查看 test 文件夹中的代码来详细了解库的使用。

方法和架构的关系

项目
  • /user/projects - (Scheme\Project())>items()
  • /user/project/create - (Scheme\Project())>create()
  • /project/settings/counter/list - (Scheme\Counter())>get()
访问
  • /project/site/visit/list - (Scheme\Visit())>items(Engine\Query)
客户
  • /project/clients/import - (Scheme\Client())>create(Entity\Client[])
  • /project/clients - (Scheme\Client())>items(Engine\Query)
订单
  • /project/integration/order/list - (Scheme\Order())>items(Engine\Query)
  • /project/add-orders - (Scheme\OrderAdd())>create(Entity\OrderAdd[])
  • /project/orders/{orderId}/external-url - (Scheme\Order())>externalUrl(string $orderId)
  • /project/set-statuses - (Scheme\Status())>create(Entity\Status[])
  • /project/analytics/order-custom-fields - (Scheme\Order())>customFields()
  • /project/integration/order/{orderId}/status/update - (Scheme\Order())>statusUpdate(string $orderId, string $statusId)
  • /project/integration/order/{orderId}/delete - (Scheme\Order())>delete(string $orderId)
代理线索
  • /project/proxy-leads - (Scheme\Proxylead())>items()
  • /project/proxy-leads/{proxyLeadId} - (Scheme\Proxylead())>get(string $leadId)
呼叫跟踪
  • /project/calltracking/script/create - (Scheme\Calltracking\Script())>create(Entity\Calltracking\Script)
  • /project/calltracking/script/list - (Scheme\Calltracking\Script())>items(Engine\Query)
  • /project/calltracking/script/delete - (Scheme\Calltracking\Script())>delete(int $scriptId)
  • /project/calltracking/script/update - (Scheme\Calltracking\Script())>update(Entity\Calltracking\Script)
  • /project/calltracking/data - (Scheme\Calltracking\Data())>items(DateTime $from, DateTime $to)
  • /project/calltracking/call/xls/export - 不支持
  • /project/calltracking/call/{callId}/file - 不支持
  • /project/calltracking/call/update - (Scheme\Calltracking\Call())>update(Entity\Calltracking\Call)
  • /project/calltracking/phone/buy - (Scheme\Calltracking\Phone())>buy(string $prefix, int $count)
  • /project/calltracking/phone/update - (Scheme\Calltracking\Phone())->update(Entity\Calltracking\Phone)
  • /project/calltracking/phone/create - (Scheme\Calltracking\Phone())->create(string[] $phones)
  • /project/calltracking/phone/delete - (Scheme\Calltracking\Phone())->delete(string[] $phones)
  • /project/calltracking/phone/prefix/list - (Scheme\Calltracking\Phone())->allowedPhoneCodes()
  • /project/calltracking/phone/list - (Scheme\Calltracking\Phone())->items(Engine\Query)
  • /project/calltracking/call/list - (Scheme\Calltracking\Call())->items(Engine\Query)
  • /project/phone-call - (Scheme\Calltracking\Call())->create(Entity\Calltracking\Call)
广告渠道
  • /project/analytics/source/list - (Scheme\Analytics\Source())->items(Engine\Query)
  • /project/analytics/source/cost/list - (Scheme\Analytics\Source\Cost())->items()
  • /project/analytics/source/cost/add - (Scheme\Analytics\Source\Cost())->create(Entity\Analytics\Source\Cost)
  • /project/analytics/source/cost/update - (Scheme\Analytics\Source\Cost())->update(Entity\Analytics\Source\Cost)
  • /project/analytics/source/cost/delete - (Scheme\Analytics\Source\Cost())->delete(string $costId)
统计数据
  • 开发中
访问权限
  • 开发中
项目指标
  • 开发中
短信报告
  • 开发中
分析
  • 开发中
计费
  • 开发中
未记录的方法
  • 获取状态列表(仅适用于新集成)- 开发中
  • 获取最后1000个事件的列表 - 开发中
  • 通过猎豹获取回呼列表 - 开发中