The ZAPI (Zaui Application Programming Interface) is an expanding portfolio of functionality and depth that provides partners and customers of Zaui Software with a simple way to integrate Zaui into existing third-party applications, portals or websites.
This article will cover the following topics:
- Benefits of API Integration
- How Zaui API (ZAPI Works)
- What is the purpose of ZAPI Integration?
- Does it cost anything to use ZAPI?
- Can we do more customizations with ZAPI?
- What is XML?
- Benefits of XML
- XML Resources
- ZAPI Throttle
Benefits of API Integration
- Ease of use and integration: ZAPI can be developed in any language that supports XML messaging and into any type of application environment saving a lot of time and energy as well as eliminating the risk associated with complex deployments.
- Extend the value and reach of your applications and services: ZAPI users increase the value of their offering by combining the features and benefits already integrated into Zaui, potentially increasing revenues and user retention.
- Data can be stored locally while Zaui is accessed in the "cloud": This concept is one of the biggest benefits of ZAPI. Many users want to leverage the benefits of cloud computing by preferring to have their documents stored on their servers or partners' servers.
The ZAPI is an XML message-based API with a set of functions and methods of accessing the data storage of Zaui.
- Data is stored on Zaui servers.
- Applications communicating with Zaui through the API use a unique ZAPI token.
How ZAPI Works
The Zaui API uses a client/server architecture to transfer information back and forth from your client application to the Zaui server application.
- The client application sends through an encrypted message request to the ZAPI interface.
- The ZAPI interface authenticates the client application request. The interface may have throttling on all inbound client application requests.
- Authenticated requests then interact with the ZAUI Application Server performing the request from the client.
- The server then packages up.
Your Zaui system will come with a downloadable version of the ZAPI manual. From the navigation bar, select Downloads > Documentation > Zaui API, and a separate PDF will populate.
What is the purpose of ZAPI Integration?
By accessing the Zaui application services from within another application provided by a partner or company IT environment, users get more functionality and more productivity then they can with standalone desktop-based software.
Does it Cost Anything to Use ZAPI?
The ZAPI is part of all licenses for Zaui Software - so no extra costs.
Can we do more customizations with ZAPI?
We definitely consider all requests and would be happy to respond to strategic inquiries. Please send your queries to email@example.com.
What is XML?
XML (eXtensible Markup Language) is derived from Standardized General Markup Language (SGML) and Hyper Text Markup Language (HTML). In a sense, XML is SGML "lite", but XML manages to maintain SGML's strength as welel as HTML's simplicity. Moreover, XML can be converted to HTML.
The main advantage of XML is that text can be meaningfully annotated. In XML, markers identify and tag the text but the markers themselves have no defined meaning; it is the applications that define the markers.
XML allows complex transactions to be structured. Client integration is simplified through the exchange of XML documents. Since XML provides support for digital signatures, documents from unknown sources can be trusted. In addition, XML can easily produce large documents such as transaction logs and reports.
Benefits of XML
The main benefits of XML are that it:
- Allows text annotation
- Presents text, data and content to applications as a structured document
- Facilitates integration of diverse applications
In addition to the above benefits, XML is easy to:
- Read - all text
- Parse and validate
- Search for content
A well-formed XML document conforms to the XML syntax and must have:
- An XML processing instruction at the beginning
- A single root element
- Matching (case sensitive) start and end tags for all elements
- all XML elements properly nested
- Attribute values in quotes
Useful XML Resources
For the purpose of examples, ours will be written in PHP as a language. However, any language which supports XML and remote procedure calls can be used.
Some useful resources on these topics can be found here:
- W3school.com XML Guide http://www.w3schools.com/xml/default.asp
- W3C XML Guide https://www.w3.org/XML/
- XML.com http://www.xml.com/
- Simple API XML in PHP http://php.net/manual/en/book.simplexml.php
- SAX for Java http://www.saxproject.org/
Here are some requirements on the topic of authentication with your Zaui system:
- Use of ZAPI is always through an existing user (contact) in your Zaui system
- There is no special ZAPI user
- You are required to add a new contact to your system when you wish to generate a new token
- Each application/service/user must have a single unique token
- Security is provided through your existing SSL certificate and it is the only means of communicating with your Zaui system
To ensure continuous quality of service, ZAPI usage can be subjected to throttling. The throttle will be applied once a ZAPI client reaches a certain threshold in terms of a maximum of requests per minute. Zaui Software reserves the right to throttle any and all ZAPI clients to ensure the quality of service for all Zaui Software customers.
Those clients who encounter a throttle threshold will be met with an HTTP 503 response code and a text "Number of allowed API requests per minute exceeded".
We encourage all ZAPI developers to anticipate this error and take appropriate measures such as:
- Using a cached value from a previous call, or
- Passing on a message to the end-user that is subjected to this behaviour (if any).