elite42 / trackpms
PHP SDK library for Track Pulse API
Requires
- php: >=8.0
- andrewsauder/json-deserialize: ^v2.5
- guzzlehttp/guzzle: ^7.4
- monolog/monolog: ^3.5
README
**# TRACK Property Management System PHP SDK PHP SDK library for Track Pulse API
This SDK is not created or supported by Track
Requirements
- Requires Composer for installation
- Requires >=PHP 8
Installation
composer require elite42/trackpms
Example Usage
$apiSettings = new \elite42\trackpms\trackApiSettings( url : '{url}', key : '{key}', secret : '{secret}', enableCaching: true, cachePath : 'C:/inetpub/cache', debugLogging : true, debugLogPath : 'C:/inetpub/logs' ); $api = new \elite42\trackpms\trackApi( $apiSettings ); try { $unit = $api->getUnit( 145 ); $unitCollections = $api->getUnitCollections( ); $units = $api->getUnits( [ 'size'=>100 ] ); $reservation = $api->getReservation( 1 ); $reservations = $api->getReservations( [ 'size' => 100 ] ); $reservationCollections = $api->getReservationCollections( [ 'size' => 100 ] ); $reservationFee = $api->getReservationFee( 1, 2 ); $reservationFees = $api->getReservationFees( 1 ); $reservationFeeCollections = $api->getReservationFeeCollections( 1 ); $reservationNote = $api->getReservationNote( 1, 15 ); $reservationNotes = $api->getReservationNotes( 1 ); $reservationNoteCollections = $api->getReservationNoteCollections( 1 ); $reservationRates = $api->getReservationRates( 1 ); $amenity = $api->getAmenity( 1 ); $amenities = $api->getAmenities( [ 'size' => 100 ] ); $amenityCollections = $api->getAmenityCollections( [ 'size' => 100 ] ); $amenityGroup = $api->getAmenityGroup( 1 ); $amenityGroups = $api->getAmenityGroups( [ 'size' => 100 ] ); $amenityGroupCollections = $api->getAmenityGroupCollections( [ 'size' => 100 ] ); $customField = $api->getCustomField( 1 ); $customFields = $api->getCustomFields( [ 'size' => 100 ] ); $customFieldCollections = $api->getCustomFieldCollections( [ 'size' => 100 ] ); $maintenanceWorkOrder = $api->getMaintenanceWorkOrder( 3 ); $maintenanceWorkOrders = $api->getMaintenanceWorkOrders( [ 'size' => 100 ] ); $maintenanceWorkOrderCollections = $api->getMaintenanceWorkOrderCollections( [ 'size' => 100 ] ); $owner = $api->getOwner( 1000 ); $owners = $api->getOwners( [ 'size' => 100 ] ); $ownerCollections = $api->getOwnerCollections( [ 'size' => 100 ] ); $ownerUnits = $api->getOwnerUnits( 1000 ); $contract = $api->getContract( 1 ); $contracts = $api->getContracts( [ 'size' => 100 ] ); $contractCollections = $api->getContractCollections( [ 'size' => 100 ] ); $unitRole = $api->getUnitRole( 1000 ); $unitRoles = $api->getUnitRoles( [ 'size' => 100 ] ); $unitRoleCollections = $api->getUnitRoleCollections( [ 'size' => 100 ] ); $user = $api->getUser( 1000 ); $users = $api->getUsers( [ 'size' => 100 ] ); $userCollections = $api->getUserCollections( [ 'size' => 100 ] ); $role = $api->getRole( 1000 ); $roles = $api->getRoles( [ 'size' => 100 ] ); $roleCollections = $api->getRoleCollections( [ 'size' => 100 ] ); } catch( \elite42\trackpms\trackException $e ) { throw new controllerException( 'Error while running API command: '.$e->getMessage(), 400, $e); }
Methods
Units
See available query params for $queryParams
at https://developer.trackhs.com/reference/getunits
Unit Pricing
See available query params for $queryParams
at https://developer.trackhs.com/reference/getunitpricing
Reservations
See available query params for $queryParams
at https://developer.trackhs.com/reference/getreservations
Reservation Fees
See available query params for $queryParams
at https://developer.trackhs.com/reference/getreservationnotes
Reservation Notes
See available query params for $queryParams
at https://developer.trackhs.com/reference/getreservationfees
Reservation Rates
See https://developer.trackhs.com/reference/getratesreservation
Reservation Types
Not documented by Track API
Unit Blocks
See https://developer.trackhs.com/reference/getunitblock
Amenities
See available query params for $queryParams
at https://developer.trackhs.com/reference/getunitamenities
Amenity Groups
See available query params for $queryParams
at https://developer.trackhs.com/reference/getunitamenitygroups
Custom Fields
See available query params for $queryParams
at https://developer.trackhs.com/reference/getcustomfields
Maintenance Work Orders
See available query params for $queryParams
at https://developer.trackhs.com/reference/getmaintworkorders
Housekeeping Work Orders
See available query params for $queryParams
at https://developer.trackhs.com/reference/getworkorders
Owners
See available query params for $queryParams
at https://developer.trackhs.com/reference/getownercollection
Companies (Vendors)
See available query params for $queryParams
at https://developer.trackhs.com/reference/getcompany
Company (and Owners) Attachments
See available query params for $queryParams
at https://developer.trackhs.com/reference/getcompanyattachments
Company (and Owners) Contacts
See available query params for $queryParams
at https://developer.trackhs.com/reference/getcompanycontacts
Contracts
See available query params for $queryParams
at https://developer.trackhs.com/reference/getownercontractcollection
Users
Not documented at Track. See some available $queryParams
in an example in this discussion https://developer.trackhs.com/discuss/61fd3729f5da3f029bb47f4c
Roles
Not documented by Track API
Unit Roles
See available query params for $queryParams
at https://developer.trackhs.com/reference/getunitrolescollection
Accounting
Items
See available query params for $queryParams
at https://developer.trackhs.com/reference/getitemscollection
Item Categories
See available query params for $queryParams
at https://developer.trackhs.com/reference/getitemcateogires
Accounts
See available query params for $queryParams
at https://developer.trackhs.com/reference/getledgeraccounts
Transactions
See available query params for $queryParams
at https://developer.trackhs.com/reference/getowneridtransactionscollection
Owner Transactions
See available query params for $queryParams
at https://developer.trackhs.com/reference/getowneridtransactionscollection-1
Manual Calls to Track API for methods not implemented
See available API URLs at https://developer.trackhs.com/reference/
Note that manual calls will not be parsed into models. The function will return the default output of json_decode( $responseBody, false, 512, JSON_THROW_ON_ERROR )
**