brightflair / spektrix-api
此包最新版本(v0.1.0)没有提供许可证信息。
自动文档化、类型安全的 Spektrix 网络API。
v0.1.0
2024-02-01 17:54 UTC
Requires
- ext-curl: *
- phpgt/fetch: ^1.2
Requires (Dev)
- phpmd/phpmd: ^2.13
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.5
- squizlabs/php_codesniffer: ^3.7
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
- 将用户名、电子邮件地址和移动电话号码关联到新的API用户。
- 需要提供 用户名,以及提供的 客户端名称,才能访问API。
- 电子邮件地址将收到一个包含一次性令牌的链接。
- 通过电子邮件链接的页面,输入通过短信发送的代码。
- 您将收到您的 秘密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获取标签
- 获取所有标签
- 获取客户的标签
- 将标签添加到客户
- 从客户中删除标签
只有当集成需要时才会添加更多功能,但其他人可以自由创建拉取请求。