yoramderumeaux/realsuite-php-sdk

PHP SDK for the RealSuite SiteSync API

Maintainers

Package info

github.com/yoramderumeaux/realsuite-php-sdk

Homepage

pkg:composer/yoramderumeaux/realsuite-php-sdk

Statistics

Installs: 5

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-03-27 08:01 UTC

This package is auto-updated.

Last update: 2026-04-27 08:22:08 UTC


README

Unofficial PHP SDK for the RealSuite SiteSync API.

Installation

composer require realsuite/sitesync-sdk

Quick Start

<?php

declare(strict_types=1);

use RealSuite\SiteSync\SiteSyncClient;

require __DIR__ . '/vendor/autoload.php';

$client = new SiteSyncClient('YOUR_API_KEY');

$status = $client->status->status();
print_r($status);

Configuration

The SDK only needs your API key.

$client = new SiteSyncClient(
    apiKey: 'YOUR_API_KEY',
    baseUri: 'https://sitesync.realsuite.be' // optional
);

You can also inject your own configured Guzzle client.

use GuzzleHttp\Client;
use RealSuite\SiteSync\SiteSyncClient;

$guzzle = new Client(['timeout' => 10]);
$client = new SiteSyncClient('YOUR_API_KEY', $guzzle);

Available Services

  • $client->categoryTree->get()
  • $client->fieldDefinitions->list()
  • $client->leads->createSearchProfile(array $payload)
  • $client->leads->createInfo(array $payload)
  • $client->leads->createEstimate(array $payload)
  • $client->leads->createDetail(array $payload)
  • $client->offices->list()
  • $client->projects->list()
  • $client->publications->list(?DateTimeInterface|string $modifiedSince = null, int|string|null $officeId = null, ?bool $resetActiveOnly = null)
  • $client->publications->get(int|string $publicationId, ?bool $includeNullValues = null)
  • $client->publications->updateStatus(int|string $publicationId, array $payload)
  • $client->status->health()
  • $client->status->status()
  • $client->tests->auth()
  • $client->translations->list()
  • $client->users->list()
  • $client->visitReservations->list(string $publicationGuid)

Error Handling

All HTTP errors (>= 400) throw RealSuite\SiteSync\Exception\ApiException.

use RealSuite\SiteSync\Exception\ApiException;

try {
    $client->users->list();
} catch (ApiException $e) {
    echo $e->getStatusCode();
    echo $e->getResponseBody();
}

License

MIT