mihaikelemen / vaultre
VaultRE API 端点的抽象层
1.2.1
2021-02-28 06:14 UTC
Requires
- php: >=7.2
- guzzlehttp/guzzle: ^7.2
README
一个小型实用程序,受官方示例的启发,用于处理 VaultRE 端点的 API 调用。
安装
您可以使用 Composer 安装此库,通过运行 composer require mihaikelemen/vaultre
用法
要访问特定数据类型(例如:属性)如:properties、advertising、categories 等,您需要使用 setAtrribute() 方法。您如何知道使用哪个属性?很简单:例如,检查这个 API 端点 /advertising/suppliers 或 /contacts/{id}/context。第一个示例的属性是 advertising,第二个是 contacts。
端点的第二部分(在 属性 之后)是需要执行的操作:suppliers 或 {id}/context
示例
- 检索单个属性(例如:ID 123)
use MihaiKelemen\VaultRe\VaultRe require_once 'vendor/autoload.php'; $valutre = new ValutRe(API_KEY, TOKEN); $valutre->setAttribute('properties') ->fetch('123'); // access the data if ($valutre->isSuccess()) { $property = $valutre->getResponse(); }
- 检索可销售的住宅属性(前 100 个结果)
use MihaiKelemen\VaultRe\VaultRe require_once 'vendor/autoload.php'; $valutre = new ValutRe(API_KEY, TOKEN); $valutre->setAttribute('properties') ->setPageSize(100) ->fetch('residential/sale'); $properties = $api->properties();
- 基于前面的示例,检索所有可销售的住宅属性,带有自动分页
use MihaiKelemen\VaultRe\VaultRe; require_once 'vendor/autoload.php'; function nextPageNumber(array $nav=[]) { $url = $nav['navigation']['next']; if (is_null($url)) { return 0; } parse_str(parse_url($url, PHP_URL_QUERY), $result); return $result['page']; } $valutre = new ValutRe(API_KEY, TOKEN); $valutre->setAttribute('properties') ->setPageSize(100) ->fetch('residential/sale'); if ($valutre->isSuccess()) { $page = nextPageNumber($valutre->pagination()); // code here to process the properties returned by VaultRe (eg. $vaultre->properties()) while ($page > 0) { $valutre->setPage($page) ->fetch('residential/sale'); if ($valutre->isSuccess()) { // code here to process the properties returned by VaultRe (eg. $vaultre->properties()) $page = nextPageNumber($valutre->pagination()); } else { die($valutre->errors()); } } } else { die($valutre->errors()); }
- 更新属性(例如:属性 ID 123)的详细信息,通过添加新的照片
use MihaiKelemen\VaultRe\VaultRe; require_once 'vendor/autoload.php'; $valutre = new ValutRe(API_KEY, TOKEN); $valutre->setAttribute('properties') ->update('123/photos', [ "photo" => "string (binary data)", "caption" => "string", "published" => true|false, "type" => "Photograph|Floorplan" ]);
- 删除属性
use MihaiKelemen\VaultRe\VaultRe; require_once 'vendor/autoload.php'; $valutre = new ValutRe(API_KEY, TOKEN); $valutre->setAttribute('properties') ->delete('123');
可以在属性上执行的操作:fetch、update、delete、add。对于 update 和 add 方法,您需要传递第二个参数,即需要发送到 VaultRe 的有效载荷。
链接
- 官方 API 文档:https://docs.api.vaultre.com.au
- Github:https://github.com/VaultGroup/api-samples
待办事项
- 添加单元测试