mihaikelemen/vaultre

VaultRE API 端点的抽象层

1.2.1 2021-02-28 06:14 UTC

This package is auto-updated.

Last update: 2024-09-28 14:28:39 UTC


README

一个小型实用程序,受官方示例的启发,用于处理 VaultRE 端点的 API 调用。

安装

您可以使用 Composer 安装此库,通过运行 composer require mihaikelemen/vaultre

用法

要访问特定数据类型(例如:属性)如:propertiesadvertisingcategories 等,您需要使用 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();
}
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');

可以在属性上执行的操作:fetchupdatedeleteadd。对于 updateadd 方法,您需要传递第二个参数,即需要发送到 VaultRe 的有效载荷。

链接

待办事项

  • 添加单元测试