xcoobee / xcoobee-sdk

XcooBee PHP 隐私和 GDPR SDK

14.1 2020-09-08 18:43 UTC

README

XcooBee SDK 是一种用于抽象底层调用并实现标准行为的工具。XcooBee 团队提供此工具以提高实现速度并展示与 XcooBee 交互的最佳实践。

通常,所有与 XcooBee 的通信都通过有线加密,因为 XcooBee 的所有系统都不会接受明文流量。您发送给 XcooBee 的所有数据和反向数据都将使用加密。此外,非蜜蜂事件通信也会使用您的 PGP 密钥进行签名。

如果您需要生成新的 PGP 密钥,您可以登录到您的 XcooBee 账户并前往 设置 页面进行操作。

XcooBee 系统在全球范围内运行,但具有区域连接。SDK 将自动连接您到您的区域端点。

这里有详细和广泛的 API 文档

安装

composer require xcoobee/xcoobee-sdk

用法

在使用 SDK 之前,需要进行配置。一旦创建,配置可以设置在 SDK 实例上。在这种情况下,每个函数调用都将回退到使用此配置。或者,您可以将配置实例的引用传递给每个函数调用。此传递的配置将优先于 SDK 实例上设置的任何配置。

use XcooBee\XcooBee;

$sdk = new XcooBee();

配置对象

配置对象携带您特定设置和使用的所有基本配置信息。它可以通过 SDK 透明处理,也可以专门传递到每个函数。配置中的基本信息包括

  • XcooBee 的 API 密钥
  • XcooBee 的 API 密钥
  • 您或 XcooBee 的 PGP 密钥/密码短语
  • XcooBee 的默认活动 ID

SDK 将尝试根据以下模式确定配置对象

1.) 使用传递给函数的配置对象。

2.) 使用由 setConfig 调用设置的信息。

3.) 检查文件系统中的配置文件 (.xcoobee/config)

$config = \XcooBee\Models\ConfigModel::createFromFile();

$config = \XcooBee\Models\ConfigModel::createFromData([
    'apiKey'    => '',
    'apiSecret' => '',
]);
apiKey      => the api-key as supplied by XcooBee account
apiSecret   => the api-secret (downloaded when api key was created at XcooBee)
pgpSecret   => the pgp-secret key either generated by XcooBee or supplied by you
pgpPassword => the pgp-password supplied by you
campaignId  => the default campaign Id from your campaign on XcooBee
pageSize    => pagination limit (records per page), default based on recordset, max possible is 100

setConfig(config)

setConfig 调用是创建初始配置对象的机制。您可以多次使用它。每次调用都会覆盖现有数据。一旦设置,数据将保持不变,直到库被丢弃或调用 clearConfig

$sdk->setConfig($config);

clearConfig()

删除配置对象中的所有配置数据。

文件系统上的配置

XcooBee SDK 会作为最后一种机制在文件系统中搜索配置信息。您应确保配置文件的访问不是公开的,并且得到适当的保护。一旦找到信息,就会将其缓存,不再进行进一步查找。如果您更改了配置,则需要重新启动使用 SDK 的进程,以获取更改。

我们建议您还研究如何使用操作系统特定的加密加密这些文件的 内容,仅供使用 XcooBee SDK 的进程使用。

这些文件将位于您的 home 目录下的 .xcoobee 子目录中。因此,配置的完整路径为

/[home]/.xcoobee/config => 配置选项

/[home]/.xcoobee/pgp.secret => 分离的 PGP 密钥文件

在 Windows 中位于用户目录的根目录下

/Users/MyUserDir/.xcoobee/config => 配置选项

/Users/MyUserDir/.xcoobee/pgp.secret => 分离的 PGP 密钥文件

配置文件的初始内容是纯文本,每个选项占一行。

示例文件:

apiKey=8sihfsd89f7
apiSecret=8937438hf
campaignId=ifddb4cd9-d6ea-4005-9c7a-aeb104bc30be
pgpPassword=somethingsecret
pageSize=10

选项

apiKey      => the api-key
apiSecret   => the api-secret
campaignId  => the default campaign id
pgpPassword => the password for your pgp key
pageSize    => pagination limit

示例

$bees = $sdk->bees->listBees()->result;

更多示例,请参阅example文件夹。

测试

运行单元测试

您可以使用以下命令行运行单元测试以验证项目

phpunit -c ./test/phpunit.xml

运行集成测试

当您的初始开发者账户创建时,它将被数据填充,以便您可以对实际数据和系统进行项目测试。在运行集成测试之前,您必须配置您的test/integration/assets/config/.xcoobee/config文件。

您可以使用命令行运行此项目的集成测试。您需要从GitHub上克隆仓库并运行以下命令行

phpunit -c ./test/integration/phpunit.xml