Web Service Functionality
The API is broken down into core functional areas of the application:
- Customers - manage your customers via this API. Enables you to create new accounts and modify existing customer details.
- Catalog - manage your package catalog via this API. Packages are made available through the Store for purchase by customers.
- Orders - manage the orders created when a customer purchases a package.
- Properties - use this API to manage property records within your instance. Enables you to add property records and update property information.
- Requests - manage support requests via this API. Support requests are created by customers when they require help/assistance.
- Property Relationships - this API enables you to associate customers with property records.
- Tenant - use this API to retrieve the theme settings for your Customer Portal instance.

Entities
All entities in the Leap Plaza API have the following attributes:
- identifier - the Leap PLaza identifier for the entity.
- ref - the fully qualified URL to GET the entity.
- extid - an identifier from another system, applied to the entity (optional).
- unacked-since - if present indicates changes to the entity that have not been acknowledged by the external system (optional).
For example:
<account xmlns="http://schema.majitek.com/leap-ws-v1.0" identifier="01234574" ref="http://company.leapcities/api/v1/customers/01234574" extid="CRM-1234" unacked-since="2011-02-08T22:07:43.000+0000"> . . </account>
Attributes
Attributes provide additional information about entities. An attribute typically describes the element it is within.
For example the attribute type below describes the type of telephone number:
<tel type="voice">005510300</tel>
Entity Reference
Entity References contain the same high level attributes as entities, but are embedded within another entity. An example would be an account reference in a support request.
For example:
<support-request xmlns="http://schema.majitek.com/leap-ws-v1.0" identifier="10000001" ref="http://company.leapcities/api/v1/requests/10000001" extid="MAX-1234" unacked-since="2011-02-08T22:07:43.000+0000"> . . <account xmlns="http://schema.majitek.com/leap-ws-v1.0" identifier="01234574" ref="http://company.leapcities/api/v1/customers/01234574" extid="CRM-1234" unacked-since="2011-01-01T22:07:43.000+0000"/> . . </support-request>
External Identifier
An external reference can be applied to all entities in the system, and then used to view / update the entity instead of the LEAP identifier.
External identifiers must be unique for each entity type.
For example, performing a PUT to
/account/<identifier>
Is the same as performing a PUT to
/account/extid/<external-identifier>
Acknowledging Changes
Each entity in the system tracks when changes have been made that have not been 'acknowledged' by the external system. The 'unacked-since' attribute on the entity is present when there are changes.
Each entity has a specific URL to perform a POST to, to indicate that it has dealt with the changes.
Changes made by the external system will not change the unacked-since status of the entity.