Web service - CRM integration (WCF / REST)

How to use the Palace API Web Service
(CRM Integration)

Palace offers the ability to perform various functions through a secure API Web Service (SOAP).  Major features of this service include...

- Agents (Active Only) - Summary Sync
- Owners (Including Archived) - Detailed Sync
- Property (Including Archived) - Detailed Sync
- Tenancy (Including Archived) - Detailed Sync
- Works Order (All Available) - Detailed Sync
- Works Order (Update Job Action)

The following will provide in depth details about the operations provided by the service and how to use them to integrate successfully with any third party software.

Service Location

The Palace API Web Service is currently located at...

New Zealand - https://serviceapi.realbaselive.com/Service.svc

Australia - https://serviceapia.realbaselive.com/Service.svc


NOTE: This service uses an SSL Certificate for Transport Security with Basic Authentication. Please contact development@realbaselive.com for a developer username and password to a Demonstration database to test your integration.

 

Public Data Contracts

Agent (A list of 'AgentCodes' and other Agent fields can be obtained from the 'GetAgents' Operation Contract. An 'AgentCode' can then be passed back into the 'ProcessPropertyDiaryExternalFile' or 'ProcessPropertyWorksOrderInvoiceCharge' Operation Contracts.)

- AgentCode - STRING (Internal unique code generated by Palace. Used to identify an Agent within Palace to the corresponding database entry.)
- AgentUserName - STRING (Agent User Login Name for Palace. Can be used to identify an Agent to a user.)
- AgentFullName - STRING (Agent Full Name. Can be used to identify an Agent to a user.)

ViewAllDetailedOwner (A full list of 'Owner Codes' and other Owner Fields can be obtained from the 'GetViewAllDetailedOwner' Operation Contract. This operation can be used to sync the entire 'Owner list' to a third party system with the following fields.

- OwnerCode - STRING (Internal unique code generated by Palace. Used to identify a Owner within Palace to the corresponding database entry.)
- OwnerSortCode - STRING (Generally set the same as the users 'Surname'.  This can also be an alternate alpha code to sort and identify an owner)
- OwnerTitle - STRING ('Title' used for correspondence)
- OwnerLastName - STRING ('Last Name')
- OwnerFirstName - STRING ('First Name')
- OwnerFullName - STRING ('Full Name')
- OwnerAddress - STRING ('Address')
- OwnerServiceAddress - STRING ('Service Address')
- OwnerPhoneHome - STRING ('Phone - Home')
- OwnerEmail1 - STRING ('Email 1')
- OwnerEmail2 - STRING ('Email 2')
- OwnerPhoneWork - STRING ('Phone - Work')
- OwnerMobile - STRING ('Phone - Mobile')
- OwnerFax - STRING ('Fax')
- OwnerOpeningBalance - DOUBLE ('Opening Balance')
- OwnerCurrentBalance - DOUBLE ('Current Balance')
- OwnerPaymentType - STRING ('Payment Type')
- OwnerPrimaryAgentCode - STRING ('Primary Agent - Code')
- OwnerStatementMedia - STRING ('Statement Media')
- OwnerLastTransactionDate - STRING ('Last Transaction Date')
- OwnerPaymentFrequency - STRING ('Payment Frequency')
- OwnerStatementType - STRING ('Statement Type')
- OwnerEndDate - STRING ('Owner Date Ended')
- OwnerInsuranceCompany - STRING ('Insurance Company Name')
- OwnerInsuranceExcess - DOUBLE ('Insurance Company Excess')
- OwnerIncludeAlternateStatement - BOOLEAN ('Include Alternate Statement')
- OwnerChangeCode - LONG ('Change Code')
- OwnerArchived - BOOLEAN ('Archived')

NOTE: 'OwnerChangeCode' allows developers to only update changed records if this information is recorded against the 'OwnerCode'.  If this information has not changed for a previous sync. then no update is required within the 3rd party system.

NOTE: Generally only records with OwnerArchived = 0 require replication

ViewAllDetailedProperty (A full list of 'Property Codes' and other Property Fields can be obtained from the 'GetViewAllDetailedProperty' Operation Contract. This operation can be used to sync the entire 'Property list' to a third party system with the following fields.

  • PropertyCode - STRING (Internal unique code generated by Palace. Used to identify a Property within Palace to the corresponding database entry.)
  • PropertySortCode - STRING (Generally set the same as 'PropertyAddress2'.  This can also be an alternate alpha code to sort and identify an owner)
  • PropertyUnit - STRING ('Property Unit')
  • PropertyAddress1 - STRING ('Street No.')
  • PropertyAddress2  - STRING ('Street Name')
  • PropertyAddress3 - STRING ('Suburb')
  • PropertyAddress4 - STRING ('Region / State')
  • PropertyStatus - STRING ('Property Status' (Active / Inactive))
  • PropertyNotes - STRING ('Notes')
  • PropertyStartDate - STRING ('Start Date')
  • PropertyDateAvailable - STRING ('Date Available')
  • PropertyOpeningBalance - DOUBLE ('Opening Balance')
  • PropertyCurrentBalance - DOUBLE ('Current Balance')
  • PropertyArchived - BOOLEAN ('Archived')
  • PropertyRentalPeriod  - STRING ('Rental Period)
  • PropertyRentAmount - DOUBLE ('Rent Amount')
  • PropertyCommissionPercent - DOUBLE ('Commission Percent')
  • PropertyMaintenanceFeePercent - DOUBLE ('Maintenance Percent')
  • PropertyPhone - STRING ('Property Phone')
  • PropertyGrid - STRING ('Property Grid')
  • PropertyName - STRING ('Property Name')
  • PropertyAdvert - STRING ('Property Advert')
  • PropertyChangeCode - LONG ('Property Change Code')
  • PropertyOwnerCode - STRING ('Owner Code')
  • PropertyAgentFullName - STRING ('Full Name)
  • PropertyAgentEmail1 - STRING ('Email 1')
  • PropertyAgentEmail2 - STRING ('Email 2)
  • PropertyPostCode - STRING ('Post Code')
  • PropertyKeyNo - STRING ('Key No.')
  • PropertyKeyAccess - STRING ('Access Instructions')

 

ViewAllDetailedTenancy (A full list of 'Tenancy Codes' and other Tenancy Fields can be obtained from the 'GetViewAllDetailedTenancy' Operation Contract. This operation can be used to sync the entire 'Tenancy list' to a third party system with the following fields.

  • TenancyCode- STRING (Internal unique code generated by Palace. Used to identify a Tenancy within Palace to the corresponding database entry.)
  • TenancySortCode - STRING (Generally set the same as 'Head Tenant Surname'.  This can also be an alternate alpha code to sort and identify an owner)
  • TenancyName - STRING ('Tenancy Name')
  • TenancyContactPhone1- STRING ('Contact Ph. 1')
  • TenancyContactPhone2- STRING ('Contact Ph. 2')
  • TenancyContactAddress- STRING ('Contact Address')
  • TenancyContactFax - STRING ('Contact Fax')
  • TenancyContactEmail - STRING ('Contact Email')
  • TenancyLastPaymentDate - STRING ('Last Payment Date')
  • TenancyRentPaidToDate - STRING ('Rent Paid To Date)
  • TenancyRentPaidToLastMonth - STRING ('Rent Paid To Last Month')
  • TenancyDateStarted - STRING ('Date Started')
  • TenancyDateEnded - STRING ('Date Ended')
  • TenancyLeaseDateEnded - STRING ('Lease End Date')
  • TenancyCurrentRent - DOUBLE ('Rent Amount')
  • TenancyRentalPeriod - STRING ('Rent Period')
  • TenancyNote - STRING ('Tenancy Note')
  • TenancyRentOwing - DOUBLE ('Rent Owing')
  • TenancyOtherOwing - DOUBLE ('Other Owing')
  • TenancyRentPartPayment - DOUBLE ('Part Payment')
  • TenancyArchived - BOOLEAN ('Archived')
  • TenancyChangeCode - LONG ('Tenancy Change Code')
  • PropertyCode - STRING ('Property Code')
  • TenancyTenants[] (Multiple Tenants)
    • TenantLastName - STRING ('Tenant Last Name') 
    • TenantFirstName - STRING ('Tenant First Name') 
    • TenantFullName - STRING ('Tenant Full Name') 
    • TenantPhoneHome - STRING ('Phone - Home') 
    • TenantPhoneWork- STRING ('Phone - Work') 
    • TenantPhoneMobile- STRING ('Phone - Mobile') 
    • TenantFax - STRING ('Fax') 
    • TenantEmail - STRING ('Email') 
    • TenantAddressPostal - STRING ('Postal Address') 
    • TenantAddressService- STRING ('Service Address') 
    • TenantHead - BOOLEAN ('Service Address') 

 

ViewAllDetailedWorksOrderAvailable (A full list of 'Work Orders' and related Fields can be obtained from the 'GetViewAllDetailedWorksOrderAvailable' Operation Contract. This operation can be used to sync the entire 'Works Order list' to a third party system with the following fields.

  • WorkOrderCode - STRING (Internal unique code generated by Palace. Used to identify a Works Order within Palace to the corresponding database entry.)
  • WorkOrderJobNo - STRING (This is a Unique Job No. referenced by users when generating a 'Works Order'.  This code is generated by the system and is printed on the 'Works Order' report)
  • WorksOrderJobAction - STRING (The 'Job Action' is the status of the 'Works Order' and can ONLY be one of the following reserved words...
    • Action On Vacating
    • Authority Granted
    • Authority Requested
    • Quote Authorised
    • Quote Declined
    • Quote Requested
    • Work Cancelled
    • Work Completed
    • Work In Progress
    • Work Invoiced
    • Invoice Sent to Owner)
  • WorksOrderDescription - STRING (The Descriptions or Instructions related to the 'Works' required to be done on a property.  This displays on the report)
  • WorksOrderDateEntered - STRING (Date / Time the 'Works Order' was created.)
  • WorksOrderDateScheduled - STRING (Date Scheduled for the 'Works' to be done)
  • WorksOrderEstimatedAmount - DOUBLE (Estimated Cost of the 'Works' to be done.  This can come from a quote)
  • WorksOrderSentViaEmail - Boolean (Indicates if a 'Works Order' has already been sent via email to the Supplier)
  • WorksOrderCreatedViaApp - Boolean (Indicates if a 'Works Order' was created via the Palace App on Android or iOS)

 

  • WorksOrderSupplierInvoiceAmount - DOUBLE (This is the amount to be generated if this 'Works Order' is processed into an 'Supplier Invoice Transaction')
  • WorksOrderSupplierInvoiceReference - STRING (The 'Reference No.' to be used if this 'Works Order' is processed into an 'Supplier Invoice Transaction')
  • WorksOrderSupplierInvoiceDate - STRING (The 'Transaction Date' to be used if this 'Works Order' is processed into an 'Supplier Invoice Transaction')
  • WorksOrderSupplierInvoiceDueDate - STRING (The 'Invoice Due Date' to be used if this 'Works Order' is processed into an 'Supplier Invoice Transaction')
  • WorksOrderSupplierInvoiceDescription - STRING (The 'Transaction Description' to be used if this 'Works Order' is processed into an 'Supplier Invoice Transaction' NOTE: This shows on the 'Owner Statement')
  • WorksOrderSupplierInvoicePriority - STRING (The 'Invoice Priority' to be used if this 'Works Order' is processed into an 'Supplier Invoice Transaction'. NOTE: The Priority of the Invoice determines order invoices are paid in when only limited funds are available to pay 'some' invoices)
  • WorksOrderSupplierInvoiceExcludeFees - BOOLEAN (This indicates if a Transaction will exclude 'Maintenance Fees' if it is processed into a 'Supplier Invoice'. NOTE: This may be a case where the user does NOT want to charge the 'Maintenance Fees' to the Owner for a specific job)

 

  • WorksOrderTenancyChargeAmount - DOUBLE (If a 'Tenancy' is paying a portion or ALL of the amount for 'Works' done on a Property, this is the amount that will be raised in a 'Tenancy Invoice' transaction if the 'Works Order' is processed into a 'Tenancy Invoice Transaction')
  • WorksOrderTenancyInvoiceDescription - STRING (The 'Transaction Description' to be used if this 'Works Order' is processed into an 'Tenancy Invoice Transaction' NOTE: This shows on the 'Tenancy Invoice' generated and sent to the 'Tenancy' when the transaction is processed)
  • WorksOrderTenancyInvoiceDueDate - STRING (The 'Invoice Due Date' to be used if this 'Works Order' is processed into an 'Tenancy Invoice Transaction'. NOTE: This is the due date that the 'Tenancy' is due to pay the 'Property Management Company')
  • WorksOrderTenancyChargeTracking - BOOLEAN (This indicates that if a 'Tenancy Invoice' is raised from this 'Works Order'.  The transaction will generate a 'Charge Tracking' option) 

 

  • AgentCode - STRING ('Internal Code' relating to the 'Agent' linked to this Works Order)
  • SupplierCode - STRING ('Internal Code' relating to the 'Supplier' linked to this Works Order)
  • PropertyCode - STRING ('Internal Code' relating to the 'Property' linked to this Works Order)
  • ExpenseCode - STRING ('Internal Code' relating to the 'Supplier' linked to this Works Order which is grouped to an 'Expense' ) 

 

  • ExpenseDescription - STRING (Shows the 'Expense Description' related to the 'Expense Code') 
  • WorksOrderOwnerFullName- STRING (Shows the 'Owner Full Name' related to the Owner of the 'Property' of the 'Works Order')
  • WorksOrderPropertyAddress - STRING (Shows the 'Property Address' related to the 'Property' of the 'Works Order')
  • WorksOrderSupplierFullName - STRING (Shows the 'Supplier Full Name' related to the 'Supplier' of the 'Works Order')
  • WorksOrderTenancyName - STRING (Shows the 'Tenancy Name' related to the 'Tenancy' of the 'Works Order'. NOTE: Only if a 'Tenancy' is been charged)
  • WorksOrderAgentUsername - STRING (Shows the 'Username' related to the 'Works Order') 

 

  • WorksOrderChangeCode - STRING (Used to 'Track' if a 'Works Order' has changed since the last time it was synced against an external database)

ViewAllSummaryWorksOrderAvailable/{SupplierCode} (A list of 'Work Orders' and related Fields can be obtained from the 'GetViewSummaryWorkOrdersAvailable' Operation Contract. This operation can be used to sync a specific supplier 'Works Order list' to a third party system with the following fields.

  • WorkOrderJobNo - STRING (This is a Unique Job No. referenced by users when generating a 'Works Order'.  This code is generated by the system and is printed on the 'Works Order' report)
  • WorksOrderDateEntered - STRING (Date / Time the 'Works Order' was created.)
  • WorksOrderDateScheduled - STRING (Date Scheduled for the 'Works' to be done)
  • WorksOrderJobAction - STRING (The 'Job Action' is the status of the 'Works Order' and can ONLY be one of the following reserved words...
    • Action On Vacating
    • Authority Granted
    • Authority Requested
    • Quote Authorised
    • Quote Declined
    • Quote Requested
    • Work Cancelled
    • Work Completed
    • Work In Progress
    • Work Invoiced
    • Invoice Sent to Owner)
  • WorksOrderDescription - STRING (The Descriptions or Instructions related to the 'Works' required to be done on a property.  This displays on the report)
  • WorkOrderEstimatedCost - DOUBLE (Estimated Cost of the 'Works' to be done.  This can come from a quote) 

 

  • WorkOrderAgentCode - STRING ('Internal Code' relating to the 'Agent' linked to this Works Order)
  • WorkOrderAgentFullName - STRING ('Full Name' of 'Related Agent')
  • WorkOrderAgentEmail - STRING ('Email' of 'Related Agent')
  • WorkOrderAgentPhone - STRING ('Phone' of 'Related Agent')

 

  • WorkOrderSupplierCode - STRING ('Internal Code' of relating to the 'Supplier' linked to this Works Order)
  • WorkOrderSupplierSortCode - STRING ('Sort Code' of 'Related Supplier')
  • WorkOrderSupplierFullName- STRING ('Full Name / Business Name' of 'Related Supplier')
  • WorkOrderSupplierEmail - STRING ('Email' of 'Related Supplier')
  • WorkOrderSupplierPhone - STRING ('Phone' of 'Related Supplier')

 

  • WorkOrderTenancyCode - STRING ('Internal Code' relating to the 'Tenancy' linked to this Works Order)
  • WorkOrderTenancySortCode - STRING ('Sort Code' of 'Related Tenancy')
  • WorkOrderTenancyName - STRING ('Name' of 'Related Tenancy')
  • WorkOrderTenancyEmail - STRING ('Email' of 'Related Tenancy')
  • WorkOrderTenancyPhone1 - STRING ('Phone 1' of 'Related Tenancy')
  • WorkOrderTenancyPhone2 - STRING ('Phone 2' of 'Related Tenancy')

 

  • WorkOrderHeadTenantLastName - STRING ('Head Tenant Last Name' of 'Related Tenancy')
  • WorkOrderHeadTenantFirstName - STRING ('Head Tenant First Name' of 'Related Tenancy')
  • WorkOrderHeadTenantFullName - STRING ('Head Tenant Full Name' of 'Related Tenancy')
  • WorkOrderHeadTenantPhoneHome - STRING ('Head Tenant Phone - Home' of 'Related Tenancy')
  • WorkOrderHeadTenantPhoneWork - STRING ('Head Tenant Phone - Work' of 'Related Tenancy')
  • WorkOrderHeadTenantPhoneMobile - STRING ('Head Tenant Phone - Mobile' of 'Related Tenancy')
  • WorkOrderHeadTenantEmail - STRING ('Head Tenant Email' of 'Related Tenancy')

 

  • WorkOrderPropertyCode - STRING ('Internal Code' relating to the 'Property' linked to this Works Order)
  • WorkOrderPropertyAddress - STRING ('Property Address' of 'Related Property')



Public Operation Contracts

TestServiceConnectionReturnUserName Used to test the service and authentication details. Returns the 'Username' of the 'Authenticated User' when successful. (No Input Parameters)

GetAgents Returns an Array of 'Agents' from the database. See 'Agent' in Public Classes for details. (No Input Parameters)

GetViewAllDetailedOwner Returns an Array of 'ViewAllDetailedOwner' from the database. (No Input Parameters).

GetViewAllDetailedProperty Returns an Array of 'ViewAllDetailedProperty' from the database. (No Input Parameters).

GetViewAllDetailedTenancy Returns an Array of 'ViewAllDetailedTenancy' from the database and for each one returns an Array of 'TenancyTenants'. (No Input Parameters).

GetViewAllDetailedWorkOrderAvailable  Returns an Array of 'ViewAllDetailedWorkOrderAvailable' from the database (No Input Parameters).

GetViewSummaryWorkOrdersAvailable Returns an Array of 'ViewSummaryWorkOrder' per Supplier from the database. (String SupplierCode).

UpdateWorksOrderAction  Updates 'Works Order Job Action' field. (String DiaryCode, String JobAction)

 

Rest Service Endpoint
(Basic Authentication)

New Zealand 

GET (Detailed List of 'Agents')
https://serviceapi.realbaselive.com/Service.svc/RestService/ViewAllDetailedAgent

(No Parameters)

GET (Detailed List of 'Owners')
https://serviceapi.realbaselive.com/Service.svc/RestService/ViewAllDetailedOwner

(No Parameters)

GET (Detailed List of 'Properties')
https://serviceapi.realbaselive.com/Service.svc/RestService/ViewAllDetailedProperty

(No Parameters)

GET (Detailed List of 'Tenancies')
https://serviceapi.realbaselive.com/Service.svc/RestService/ViewAllDetailedTenancy

(No Parameters)

GET (Detailed List of 'Suppliers')
https://serviceapi.realbaselive.com/Service.svc/RestService/ViewAllDetailedSupplier

(No Parameters)

GET (Detailed List of 'WorkOrders')
https://serviceapi.realbaselive.com/Service.svc/RestService/ViewAllDetailedWorkOrdersAvailable

(No Parameters)

GET (Summary List of 'WorkOrders')
https://serviceapi.realbaselive.com/Service.svc/RestService/ViewSummaryWorkOrdersAvailable/{SupplierCode}

(Supplier Code)

POST (Update 'Work Order' Job Action)
https://serviceapi.realbaselive.com/Service.svc/RestService/UpdateWorkOrderJobAction/{WorkOrderCode}

POST WorksOrderJobAction

NOTE: Requires XML Schema Reference as follows...

xmlns="http://schemas.microsoft.com/2003/10/Serialization/"

 e.g.

Content-Type: application/xmlAuthorization: Basic ZHVuY2FuQGdldHBhbGFjZS5jb206VGVzdA==Content-Length: 99

Source message
POST /service.svc/RestService/UpdateWorkOrderJobAction/RBRE015763 
HTTP/1.1 HOST: lpdevvm-shared content-type: application/xml authorization: Basic ZHVuY2FuQGdldHBhbGFjZS5jb206VGVzdA== content-length: 99 <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"> Action on Vacating </string>

 Australia

GET (Detailed List of 'Agents')
https://serviceapia.realbaselive.com/Service.svc/RestService/ViewAllDetailedAgent

(No Parameters)

GET (Detailed List of 'Owners')
https://serviceapia.realbaselive.com/Service.svc/RestService/ViewAllDetailedOwner

(No Parameters)

GET (Detailed List of 'Properties')
https://serviceapia.realbaselive.com/Service.svc/RestService/ViewAllDetailedProperty

(No Parameters)

GET (Detailed List of 'Tenancies')
https://serviceapia.realbaselive.com/Service.svc/RestService/ViewAllDetailedTenancy

(No Parameters)

GET (Detailed List of 'Suppliers')
https://serviceapia.realbaselive.com/Service.svc/RestService/ViewAllDetailedSupplier

(No Parameters)

GET (Detailed List of 'Works Orders')

https://serviceapia.realbaselive.com/Service.svc/RestService/ViewAllDetailedWorkOrdersAvailable

(No Parameters)

GET (Summary List of 'Work Orders')
https://serviceapia.realbaselive.com/Service.svc/RestService/ViewSummaryWorkOrdersAvailable/{SupplierCode}

(Supplier Code)

POST (Update 'Work Order' Job Action)
https://serviceapia.realbaselive.com/Service.svc/RestService/UpdateWorkOrderJobAction/{WorkOrderCode}

POST WorksOrderJobAction

NOTE: Requires XML Schema Reference as follows...

xmlns="http://schemas.microsoft.com/2003/10/Serialization/"

 

e.g.


POST /service.svc/RestService/UpdateWorkOrderJobAction/RBRE015763 
HTTP/1.1
HOST: lpdevvm-shared
 content-type: application/xml
 authorization: Basic ZHVuY2FuQGdldHBhbGFjZS5jb206VGVzdA==
 content-length: 99
 
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
 Action on Vacating
</string>
 

 

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments

Article is closed for comments.