brightflair/spektrix-api

此包最新版本(v0.1.0)没有提供许可证信息。

自动文档化、类型安全的 Spektrix 网络API。

资助包维护!
g105b

v0.1.0 2024-02-01 17:54 UTC

This package is auto-updated.

Last update: 2024-09-07 15:53:39 UTC


README

这是一个访问 Spektrix v3 API 的非官方库,用于构建自动文档化、类型安全的PHP API,以抽象复杂的认证。

获取访问密钥

官方文档在此:https://support.spektrix.com/hc/en-us/articles/360013592837-Setting-Up-an-API-User

  1. 将用户名、电子邮件地址和移动电话号码关联到新的API用户。
  2. 需要提供 用户名,以及提供的 客户端名称,才能访问API。
  3. 电子邮件地址将收到一个包含一次性令牌的链接。
  4. 通过电子邮件链接的页面,输入通过短信发送的代码。
  5. 您将收到您的 秘密API密钥 - 在构建 Client 对象时使用此密钥。

认证

此库通过抽象API认证,因为它涉及到多步骤的时敏感SHA-1散列练习。要认证此库,请将您的 用户名客户端名称 传递给 Client 对象的构造函数。

$username = "greg\brightflair";
$clientName = "api-test";
$secretKey = "S2VlcCB5b3VyIGtuaWNrZXJzIG9uISBUaGlzIGlzIGEgdGVzdCBBUEkga2V5LCBkb24ndCB3b3JyeSE=";
$client = new BrightFlair\SpektrixAPI\Client($username, $clientName, $secretKey);

API端点

端点映射到库中的类型安全函数。使用您的IDE进行自文档化,以下为命名约定

  • 函数以 "create" / "get" / "update" 开头。
  • 函数随后包含实体名称,例如 "customer" / "tag"。
  • 提供命名参数作为匹配机制,例如 "id" / "name"。

示例调用以获取客户、通过名称获取标签,并将标签添加到客户的记录中

$customer = $client->getCustomerByEmail("greg.bowler@brightflair.com");
$tag = $client->getTagByName("Example tag");
$client->addTagToCustomer($customer, $tag);

缺少的功能

我构建了这个库来自己使用,以集成 Nimbus Disability。除非有人说服我进一步开发,否则我不会构建比我所使用的集成类型所需更多的功能。

以下功能已实现,并附带示例进行测试

  • 创建客户
  • 获取客户(id或电子邮件)
  • 通过ID获取标签
  • 获取所有标签
  • 获取客户的标签
  • 将标签添加到客户
  • 从客户中删除标签

只有当集成需要时才会添加更多功能,但其他人可以自由创建拉取请求。