PHPackages                             bytes-commerce/onoffice-sdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. bytes-commerce/onoffice-sdk

ActiveLibrary[API Development](/categories/api)

bytes-commerce/onoffice-sdk
===========================

Inofficial client to communicate with the onOffice API, based on the official PHP SDK.

05PHP

Since May 13Pushed 3w agoCompare

[ Source](https://github.com/bytes-commerce/onoffice-sdk)[ Packagist](https://packagist.org/packages/bytes-commerce/onoffice-sdk)[ RSS](/packages/bytes-commerce-onoffice-sdk/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependenciesVersions (1)Used By (0)

onOffice SDK
============

[](#onoffice-sdk)

[![CI](https://github.com/bytes-commerce/onoffice-sdk/actions/workflows/php.yml/badge.svg)](https://github.com/bytes-commerce/onoffice-sdk/actions/workflows/php.yml)[![PHP Version](https://camo.githubusercontent.com/7d8bce3c50835bb31a0a0375c5e6dc9ac4dd377735e76ab70f5cb851ce835235/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e342b2d626c7565)](https://www.php.net/)[![License](https://camo.githubusercontent.com/f8df3091bbe1149f398a5369b2c39e896766f9f6efba3477c63e9b4aa940ef14/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d677265656e)](LICENSE)

Inofficial PHP API client library for [onOffice](https://www.onoffice.de/) - for PHP 8.4.

**Developed by [www.bytes-commerce.de](https://www.bytes-commerce.de)**

---

Installation
------------

[](#installation)

```
composer require bytes-commerce/onoffice-sdk
```

---

Overview
--------

[](#overview)

The onOffice SDK provides a lightweight, easy-to-use PHP library for interacting with the onOffice API. It enables you to:

- **Manage Estates** - Create, read, update, and delete property listings
- **Manage Addresses** - Handle contacts, leads, and customers
- **Manage Tasks** - Create and track tasks and to-dos
- **Manage Calendar** - Schedule appointments and viewings
- **Manage Search Criteria** - Create and manage saved searches for buyers
- **Manage Files** - Upload and organize property documents and images
- **Manage Relations** - Link addresses to estates (owners, prospects, etc.)
- **Send Emails** - Send templated emails with attachments

Key Features
------------

[](#key-features)

### Typed DTOs

[](#typed-dtos)

Work with strongly-typed objects instead of raw arrays. Convert API responses directly to `EstateDTO` or `AddressDTO`:

```
$factory = new EstateDTOFactory();
$estates = $factory->fromRecords($response['data']['records']);

foreach ($estates as $estate) {
    echo $estate->objekttitel;
    echo $estate->lage;
    echo $estate->isForRent() ? 'For Rent' : 'For Sale';
}
```

### Automatic Pagination

[](#automatic-pagination)

Fetch all estates without manual pagination handling:

```
$allEstates = $sdk->getEstateAction()->getAllEstates(
    sortBy: ['geaendert_am' => 'DESC'],
    filter: ['vermarktungsart' => [['op' => '=', 'val' => 'kauf']]]
);
```

### Type-Safe Field Mapping

[](#type-safe-field-mapping)

Use `EstateAttributeMapper` to validate and map API field names to strongly-typed attributes. Never guess field names again.

---

Requirements
------------

[](#requirements)

- **PHP 8.4+**
- **ext-json** (JSON encoding/decoding)
- **ext-curl** (HTTP requests)

---

Quick Start
-----------

[](#quick-start)

```
