The major difference between version 1 and version 2 is that version 2 has implemented a clear separation between the meta data stored on the master forms and the actual data.
In version 2 there is a request to get the metadata of several forms. For each form this returns form level meta data and an object that specifies metadata for every field by field index. Each of these field metadata objects contains the labels (for different Locales), the field type and specialized metadata for the particular field type. In addition the field data from the master form is also returned. This is because Master Forms use the field data for default values.
For example a FevChoice field has metadata that dictates whether multiple choices are allowed, if no selection is allowed etc.
V2 attempts to have all the levels required to add extra data at a later date if and when it becomes clear that such data is needed. For example when requesting metadata for several forms the form name is in an object rather than being an individual string. This allows for a later form of parameterization is required i.e. adding other parameters to the request for that form’s metadata.
In the API there are references to ‘metadata’. This is another word for the contents of the Master Form. In Formever all data is in forms and all forms are based on a master form. It is the master form that dictates all the editing characteristics of data. Hence the Master Form can be referred to as ‘meta data’. The API uses this terminology as it is more consistent with API concepts and practices.
Master form are identified by their ‘form type’, This is a unique ID that is not shown in the Formever Interface. However sending a ‘get_metadata_summary’ request will result in a list of summaries of each master form which gives their form type, form name and number of current instances.
A data form is identified by the combination of the form type and the form code. The form code is an ID that is unique within the form type and its structure is dictated by the form code meta data in the associated master form.
There are two types of data forms in Formever, entities and transactions. Entities have a form code that is structured by the Designer. Transactions have a fixed form code that is a combination of the Accounting period (fiscal year + period index), the transaction type (a two letter identifier of the transaction type) and a sequence number
There are two categories of request types. GET and PUT.
The GET requests are:
“get_metadata_summary” : returns a list of summaries of the metadata
“get_metadata_form_instance_ids” : returns a list of the form codes of forms having this transaction type. A start and end value can specify a range of instances in the case that the number of instances is excessively large.