Skip to content

Address Repository

Manage address records in onOffice. The resource type is address.

Querying Addresses

php
use Innobrain\OnOfficeAdapter\Facades\AddressRepository;

$addresses = AddressRepository::query()->get();
$address = AddressRepository::query()->find(10505);
$addresses = AddressRepository::query()->recordIds([1, 2, 3])->get();

addRecordIds() appends to the already set record ids instead of replacing them.

WARNING

Record number (Datensatznummer) and customer number (KdNr) are different. The record number is the API ID.

Selecting Fields

php
$addresses = AddressRepository::query()
    ->select(['Vorname', 'Name', 'Strasse', 'Plz', 'Ort'])
    ->get();

// Contact details: phone, mobile, fax, email, defaultphone, defaultemail, imageUrl

Filtering

php
$addresses = AddressRepository::query()
    ->where('Status', 1)
    ->whereIn('Vorname', ['Max', 'Moritz'])
    ->whereBetween('letzter_Kontakt', '2024-01-01', '2024-12-31')
    ->whereLike('Email', '%@example.com')
    ->get();

Search & Sort

php
$addresses = AddressRepository::query()
    ->setInput('Mustermann')
    ->search();

$addresses = AddressRepository::query()
    ->orderBy('Name')
    ->addCountryIsoCodeType('ISO-3166-3')
    ->get();

Create & Modify

php
$address = AddressRepository::query()
    ->create([
        'Anrede' => 'Herr',
        'Vorname' => 'Max',
        'Name' => 'Mustermann',
        'email' => 'm.mustermann@example.de',
        'phone' => '0241 12345',
        'default_phone' => '0241 12345',
        'Land' => 'DEU',
    ]);

// With duplicate check
$address = AddressRepository::query()
    ->parameters(['checkDuplicate' => true])
    ->create([...]);

AddressRepository::query()
    ->addModify(['Vorname' => 'Hans', 'Status' => 1])
    ->modify(10505);

Contact Parameters

ParameterDescription
phone / phone_private / phone_businessPhone entries
mobileMobile phone
fax / fax_private / fax_businessFax entries
email / email_private / email_businessEmail entries
default_phone / default_emailSet main number/email

Files, Count & Chunked

php
$files = AddressRepository::files(100)->get();
$file = AddressRepository::files(100)->first();
$file = AddressRepository::files(100)->find(12);

AddressRepository::files(100)
    ->addModify('Art', 'Dokument')
    ->modify(12);

AddressRepository::files(100)->delete(12);

AddressRepository::files(100)->each(fn ($files) => /* process */);

$count = AddressRepository::query()->where('Status', 1)->count();

AddressRepository::query()->each(fn ($addresses) => /* process */);

Common Fields

FieldDescription
Status1 = Active, 0 = Archive
AnredeSalutation
Vorname / NameFirst/last name
Strasse / Plz / Ort / LandAddress
BenutzerSupport user
newsletter_aktiv0=No, 1=Yes, 2=Cancelled, 3=DOI pending

Released under the MIT License.