anthraxisbr/rd-php-sdk

此包的最新版本(dev-master)没有可用的许可证信息。

非官方RD Station PHP SDK

dev-master 2019-10-08 02:06 UTC

This package is auto-updated.

Last update: 2024-09-08 13:54:20 UTC


README

考虑事项

我将此项目作为另一个项目'自动生成SDK'的一部分,该项目尚未准备好发布。

由于我没有在RD Station上的任何账户,这个SDK从未在生产环境中进行过测试(截至2019年10月3日)。

安装

composer require composer require anthraxisbr/rd-php-sdk

配置

创建'.env'文件

cp .env.example .env

使用您的client id和client secret以及重定向url填写文件中的值。

生成访问令牌

https://developers.rdstation.com/pt-BR/authentication

要生成令牌,请调用类src/Client/Authentication.php中的autorize方法,并有一个调用同一类中的callback函数的路由。

认证中

$AuthClient = new AnthraxisBR\Client\Authentication();
$AuthClient->authorize();

请求访问令牌

$code = $_GET['code'];
$AuthClient->callback($code);

认证成功,'callback'的响应将是一个Response对象;

撤销令牌

$AuthClient->revoke($token, $token_type_hint);

账户信息

https://developers.rdstation.com/pt-BR/reference/account_infos

要使用需要认证的路由的SDK,只需实例化类并传递访问令牌作为参数。

$AccountInfoClient = new AnthraxisBR\Client\AccountInfo('access token');

查找账户名称

$AccountInfoClient->getAccountInfo()

查找跟踪代码

$AccountInfoClient->getTrackingCode()

联系人

实例化客户端

$ContactsClient = new AnthraxisBR\Client\Contacts('access token');

通过uui查找联系人

$ContactsClient->getContactFromUuid('uuid');

通过电子邮件查找联系人

$ContactsClient->getContactFromEmail('email');

通过uuid更新用户

Veja o corpo: https://developers.rdstation.com/pt-BR/reference/contacts

$ContactsClient->updateUserFromUuid('uuid', $data);

通过电子邮件更新用户

Veja o corpo: https://developers.rdstation.com/pt-BR/reference/contacts

$ContactsClient->updateUserFromEmail('email', $data);

联系人漏斗

实例化客户端

$ContactsFunnelsClient = new AnthraxisBR\Client\ContactsFunnels('access token');

通过uuid恢复与联系人关联的漏斗

$ContactsFunnelsClient->getUserFunnelsFromUuid('uuid');

通过电子邮件恢复与联系人关联的漏斗

Veja o corpo: https://developers.rdstation.com/pt-BR/reference/contacts/funnels

$ContactsFunnelsClient->updateUserFunnel($funnelName, $uuid ,$email, $data);

事件

事件的触发称为trigger

Veja o corpo: https://developers.rdstation.com/pt-BR/reference/events

实例化客户端

$Events = new AnthraxisBR\Client\Events('access token');

示例正文

{
    "email": "email@email.com",
    "funnel_name": "default"
}

新机会

$Events->newOpportunity({
    "email": "email@email.com",
    "funnel_name": "default"
});

赢得机会

$Events->wonOpportunity({
    "email": "email@email.com",
    "funnel_name": "default"
});

失去机会

$Events->lostOpportunity({
    "email": "email@email.com",
    "funnel_name": "default"
});

收到订单

$Events->orderPlaced({
    "email": "email@email.com",
    "funnel_name": "default"
});

将项目添加到订单中

$Events->orderPlacedItem({
    "email": "email@email.com",
    "funnel_name": "default"
});

购物车被遗弃

$Events->cartAbandoned({
    "email": "email@email.com",
    "funnel_name": "default"
});

购物车中遗弃的项目

$Events->cartAbandonedItem({
    "email": "email@email.com",
    "funnel_name": "default"
});

购物车中遗弃的项目

$Events->cartAbandonedItem({
    "email": "email@email.com",
    "funnel_name": "default"
});

聊天开始

$Events->chatStarted({
    "email": "email@email.com",
    "funnel_name": "default"
});

聊天结束

$Events->chatFinished({
    "email": "email@email.com",
    "funnel_name": "default"
});

通话结束

$Events->callFinished({
    "email": "email@email.com",
    "funnel_name": "default"
});

媒体交互

$Events->mediaPlaybackStarted({
    "email": "email@email.com",
    "funnel_name": "default"
});

TODO

  • 改进文档
  • 实现类测试
  • 使用真实账户测试SDK
  • 实现验证请求的功能
  • 实现错误处理