Data Structures V5

Data Structures V5

CurrentStatusV5

The CurrentStatusV5 object is the sole return type of all the web methods in the API.  It is intended to provide information about what has just happened, as well as giving an overview of the person’s current verification status, and the list of data sources that will help the person become fully verified.  Always presenting this information helps to reduce the chattiness between greenID and the customer application.



Name

Type

Description

Name

Type

Description

sourceList

SourceListV5

This member contains a list of SourceV5 objects, each of which corresponds to a data source that is available to the person for the purpose of becoming fully verified.  The setFields web method expects one of these names as the sourceId input parameter.

verificationResult

VerificationResultV5

This member contains all of the verification information currently available for a person.  It is a complete record of all checks that have been performed, their results, and an indicator of the person’s overall verification status.

sourceFields

SourceFields

This member contains a list of fields that are required for a particular data source.  This includes the field’s name, type and other pertinent information for displaying and collecting a value for the field.

checkResult

LastCheckResultV5

This member indicates the outcome of a check against a data source that was performed during a call to the setFields web method.  This member also indicates whether the check is still in progress.

verificationToken

String

This field is for future features in the API, and can be ignored for now.

LastCheckResultV5

The LastCheckResultV5 object is intended to give a snapshot of the status of a check that has been performed during a call to the setFields web method.



Name

Type

Description

Name

Type

Description

stillWorking

boolean

This member indicates whether the check is still in progress.  This feature is still under development; currently the value is always false.

state

String

This member gives the current state of the check.  Refer to the Reference Table for Individual Source States for valid values.

SourceListV5



Name

Type

Description

Name

Type

Description

sources

List<SourceV5>

Simply a list of SourceV5 objects.

SourceV5

Name

Type

Description

Name

Type

Description

state

String

This member reflects the current state of the source.  The valid values are the same as the state member of the CheckResultV5 object.  If a source has not been used, then this member will be “EMPTY”.

passed

boolean

This member indicates whether this source has been passed, i.e. the check is in one of the verified states.

name

String

This member is the name of the data source.  This name is expected to be used to refer to this data source in calls to the setFields web method.

available

boolean

This member indicates whether this data source is currently available; sometimes a particular data source may not be available.

notRequired

boolean

This member indicates whether this data source can help a person become fully verified.  If the value is true, then there is no point using this data source because it cannot help the person become fully verified.

oneSourceLeft

boolean

This member indicates whether completing this data source will make a person fully verified.  This member is very valuable because it indicates which sources should be attempted first, thereby shortening the verification process.

order

int

The order in which the source would be displayed if it were being displayed by greenID.  Sources that are more likely to result in the person becoming fully verified are at the top of the list, i.e. their “order” number is lower.

attributes

List<NameValuePair>

This member contains a list of HTML attributes that should be applied to any HTML input collecting input from a person.  For example, the HTML attribute “class=’required’” would be represented by a NameValuePair with name=”class” and value=”required”.

SourceFieldsV5



Name

Type

Description

Name

Type

Description

fieldList

FieldListV3

This member contains a list of fields that are required for a particular data source.  The members of list represent HTML fields for collecting input from the person.

rawData

String

This member contains an HTML fragment that, if displayed, will present HTML fields for collecting data from a person in order to perform a check against a data source.  Some customer may prefer this approach rather than generating their own HTML from the data contained in the fieldList member.

FieldListV5



Name

Type

Description

Name

Type

Description

sourceField

List<FieldV5>

This member simply contains a list of FieldV5 objects.

FieldV5



Name

Type

Description

Name

Type

Description

type

String

The type of HTML input that is required (at least strongly suggested) for collecting the data for this field from the person.  For example, a value of “text” would indicate a simple HTML text input is appropriate.

name

String

The name of the HTML input that would collect data for this field from the person.  The name also indicates what the data field is, for example, the value “aec_givenname” indicates the field holds the given name for the AEC data source.

value

String

This member contains any pre-existing value for the HTML field.  For example, the FieldV3 with the name aec_givenname will be pre-populated with the person’s given name (derived from the person’s master record established during the call to the registerVerification web method) the first time the getFields method is called with the sourceId aec.

label

String

This member contains label.  Please refer to the section on Labels.

selectItem

List<NameValuePair> 

This member contains a list of item names and values for a select item FieldV3.

attribute

List<NameValuePair>

This member contains a list of the names and values of any HTML attributes that this Field has.  For example, the attribute class=”required” would be represented by a NameValuePair with name=”class” and value=”required”.

InputFields



Name

Type

Description

Name

Type

Description

input

List<NameValuePair>

This member contains a list of names and values that correspond to input parameters to the setFields web method.  The names are expected to be those that have previously been returned from the getFields method for a particular data source.  For example, a visa number will be represented by a NameValuePair with name=”visa_number” and value=”11111111”.

DateOfBirth

This type is a convenience type for holding a partial date, especially useful for representing dates of birth.  This type holds just the date part, and does not contain any reference to a time component or timezone; this avoids potential issues with date of birth timestamps arising from different timezones.



Name

Type

Description

Name

Type

Description

day

int

The day component of a date of birth.

month

int

The month component of a date of birth.

year

int

The full year component of a date of birth, for example 1975, i.e. not 75.

RegistrationDetailsV5



Name

Type

Description

Contract

Name

Type

Description

Contract

currentResidentialAddress

Address

The person's current residential address.



dateCreated

String

The timestamp of when this verification attempt was created. The string will be formatted in the ISO 8601 format. The pattern used to generate this string in Java is yyyy-MM-dd'T'HH:mm:ss.SSSZ.



dob

DateOfBirth

The person's date of birth.



email

String

The person's email address.

May be null. Must be a valid email address following the Standard Hibernate validation and checking Top Level Domain (TLD) is valid. See https://data.iana.org/TLD/tlds-alpha-by-domain.txt

extraData

List<NameValuePair> 

Any extra data elements that were supplied with the original registration. Identifier such as document numbers will not be present in the list, even if they were supplied at registration time.

Zero or more elements.

homePhone

String



If present, must be 10 digits only.

mobilePhone

String



If present, must be 10 digits only.

name

Name

The person's name.



previousResidentialAddress

Address

The person's previous residential address.



workPhone

String



If present, must be 10 digits only.

Address

The Address object is intended to serve as a container for address information for countries with a variety of different address schemes and formats.  The fields that are present or required will depend on the country that is specified.  Similarly, fields may have different validation rules depending on the country, for example, the field "postcode" must be a four digit string for an Australian address, but it must be a five digit string for a US address.  For requirements for individual countries, please refer to Address Handling or contact greenID.

Name

Type

Description

Contract

Name

Type

Description

Contract

alley

String





amalgamatedMunicipality

String





area

String





avenue

String





block

String





canton

String





chome

String





city

String





country

String

The country code. This must be the ISO 3166 country code. The country code can be given in either the alpha-2, alpha-3 or numeric format.

Please refer to https://www.iso.org/obp/ui/#search for a full (and up to date) list of ISO 3166 country codes.

county

String





deliveryNumber

String





department

String





direction

String





dispatchingInformation

String





district

String





divisionFive

String





divisionFour

String





divisionOne

String





divisionThree

String





divisionTwo

String





flatNumber

String





level

String