- Deborah Cross (Unlicensed) to resolve if 'contract' column in tables is necessary and should be called that. Do we need to remove registerUser from first paragraph point 2?
greenID has two web service methods that return the verification details for an individual.
- A web service method (getVerificationResult) that can be called at any time after a person has been registered that returns the current verification details for a person.
- The web service method registerUser also returns the verification details of the person who was just registered. This can avoid the need to immediately call getVerificationResult after registering a person.
Verification results are returned in a complex SOAP type called RichVerificationResult this structure contains information about whether a person has completed their online verification, and if so, whether the verification was successful, and any changes to the original data supplied that were made during the verification process.
getVerificationResult
Method Summary
Method Signature
VerificationResult getVerificationResult( String customerId, String userId)
Parameters
Name | Type | Required? | Description |
---|---|---|---|
customerId
| String 255 Chars | Yes
| This parameter is GreenID's identifier for the client application. The value is supplied by GreenID, and must be included with each registration request.
|
userId
| String 255 Chars | Yes
| This parameter is an identifier that the client uses for the individual being verified. GreenID does not use it as an identifier, but in order to easily locate individual's for a particular client application, the userIdis used. This must match a registered userId
|
Return Value
RichVerificationResult
The return value is the complex type RichVerificationResult. This complex type is described below.
Member | Type | Description | Contract |
---|---|---|---|
userId
| String 255 Chars | The unique ID for the user.
| Not null.
|
outcome
| String 255 Chars | This member indicates the outcome of the whole AML verification process. For a detailed description of what values are possible in this field, please see the Reference Table of Overall Outcome States.
| Not null.
|
transactionId
| String 20 Chars | This value should be ignored as it is only maintained for backwards compatibility reasons.
| Not null.
|
ruleId
| String 255 Chars | The identifier rule that was used to determine the outcome.
| Not null.
|
mode
| String 255 Chars | The verification mode used. This shows HOW the verification was made. Possible modes are POSTOFFICE, ASSISTED and EXTERNAL. When a person is verified by filling out a Post Office form and visiting a post office with documentary evidence the mode is set to POSTOFFICE. When a person is verified and someone using the admin panel has visited a source on their behalf then the mode is ASSISTED. Finally EXTERNAL is only used for mode if a batch process run by a greenID admin is performed (on request from a customer organisation) results in a person becoming verified. In all other cases the mode is null. |
|
dateVerified | Date | The date that the user became verified. |
|
individualResults | List<RichCheckResult> | This member gives the customer a list of the outcomes of each individual check that was attempted. Note that methods that were not attempted are not included. | Not null. |
RichCheckResult
The complex type RichCheckResult has the structure described below:
Member | Type | Description | Contract |
---|---|---|---|
name
| String 255 Chars | The name of the check. For example, if a check against the Electoral Roll was attempted, then the name would be “AEC”. As each customer will accept a different set of checks, customers should refer to their individual rules document for the list of names that they can expect. Refer to Data Source Reference for a list of data source names. | Not null.
|
state
| String 255 Chars | The state of the individual check. For a list of possible states, please see the Reference Table of individual source states.
| Not null.
|
method
| String 255 Chars | The method via which the check was carried out. This is an enumerated type, for a list of possible values, please see the Reference Table of Method Names. |
|
resultData
| String No Char limit | This field contains extra data that may be passed on from database checks, for example this field may contain XML for a specific check. This will be specific to an individual customer’s setup, by default it is not returned.
|
|
mode
| String 255 Chars | The verification mode used for this specific check. This shows HOW the check was made. Please see the Reference Table of possible modes. This can be null which indicates that no mode was used. |
|
dateVerified
| Date | The date that this particular check became verified. |
|
fieldResults
| List<RichFieldResult> | Only the fields that were successful checked, or were changed, are returned. Any field that was not checked is not returned. | Not null. May be empty, though. |
postOfficeData
| If and only if the name of the RichCheckResult is “PostOffice” then this member will be present. Otherwise it will be null. This represents the raw data retrieved from Australia Post. |
|
RichFieldResult
The complex type RichFieldResult has the structure described below:
Member | Type | Description | Contract |
---|---|---|---|
name
| String 255 Chars | The name of the field. The possible name will depend on the source used. Again which sources used will depend on the individual customer setup, and new sources, with potentially new fields are constantly being added. For a list of possible field names for each source, please refer to the Data Source Reference tables. | Not null.
|
status
| String 255 Chars | This member describes the status of the field. For a complete list of possible status values, please refer to the Reference Table of Field Status. | Not null.
|
dataDifference
| String No Char limit | This member will contain changed values. That is, if a value was changed in order to become verified, then this member will contain the value that was the data was changed to, and subsequently verified.
|
|
data
| String No Char limit | This contains the original data that was supplied at time of registration. In the case of a status of ADDITION (see the Reference Table of Field Status) then this will hold the added data.
|
|
dataInfo
| String 255 Chars | This contains information about the data. At this time it contains either “previousAddress” or “currentAddress” to indicate which address this data was checked as. |
|
label
| String No Char limit | This field represents a human readable version of name, it will reflect what the user may see on the screen when they fill the details in. The data in this field is designed for reporting purposes and can change without notice. |
|
format
| String 255 Chars | Indicates the format of the data in the field. “plain” indicates a plain text field. This may differ depending on the customer’s individual setup. |
|
PostOfficeData
The complex type PostOfficeData has the structure described below.
This type and the following members are for the most part exact representations of the fields found in an Australia Post contract. The reader should be aware of the individual Australia Post contract they will be using to ensure that they can match up the fields. These fields are retrieved from a flat file and stored in Strings with no interpretation of the meanings of the fields. Not all implementations of an Australia Post contract will have all the fields detailed below.
Member | Type | Description | Contract |
---|---|---|---|
customerId
| String 255 Chars | This parameter is GreenID's identifier for the client application. The value is supplied by GreenID.
| Not null.
|
documents | String | Human readable string that is a comma separated list of all the names of the documents used to verify this user. | Not null. |
header | detailRecordHeader | Representation of the header of the flat file received from Australia Post | Not null. |
poFileName
| String 255 Chars | The name of the actual file read from Australia Post
| Not null.
|
records | documentRecord[] | List of individual representations of the documents used to verify this User | Not null. |
DetailRecordHeader
The complex type DetailRecordHeader has the structure described below:
Member | Type | Description | Contract |
---|---|---|---|
amount | String 255 Chars | Unsigned amount in cents. |
|
channelId
| String 255 Chars | 0 = default |
|
date
| String 255 Chars | ddmmyy (NOTE: system generated date with no slashes) |
|
dateOfBirth
| String 255 Chars | ddmmyyyy represents the date of birth on the form that was checked. |
|
filler
| String 255 Chars | Often there will be filler, it serves no purpose and should be ignored. |
|
formVersion
| String 255 Chars | A-Z |
|
givenName
| String 255 Chars | 16 characters of the given name that was on the form that was checked. |
|
id | Long | Extra identifier that identifies this record. Not set by Australia Post. |
|
idWizardRefNo
| String 255 Chars |
|
|
paymentMethod
| String 255 Chars | '00' = Cash/EFTPOS/Direct Debit, '01'-'09' = number of Cheques, '11' = VISA, '12 = MasterCard. Note: This may differ per contract, but in general the above applies. |
|
phoneNo
| String 255 Chars | Phone number as entered on the form that was checked.
|
|
postOfficeName
| String 255 Chars | Presumably the name of the Post Office the form was checked at.
|
|
recordNo
| String 255 Chars | Seems to be fixed as ‘1’
|
|
recordType
| String 255 Chars | Seems to be fixed as ‘5’ |
|
referenceNo
| String 255 Chars | The reference number used to identify this user. Most often this will be the userId. It must be 16 characters or less. |
|
surname
| String 255 Chars | 20 characters of the surname that was on the form that was checked. |
|
totalNumberOfIdDocument
| String 255 Chars | Number of documents used to verify this user |
|
typeCode
| String 255 Chars |
|
|
uniqueReferenceNumber
| String 255 Chars | wwwwwwttnnnnn, first 6 digits are AP Work Centre Code.
|
|
DocumentRecord
The complex type DocumentRecord has the structure described below:
Member | Type | Description | Contract |
---|---|---|---|
amount
| String 255 Chars | Always zero
|
|
comments
| String 255 Chars |
|
|
countryOfIssue
| String 255 Chars | Name of country from the document if applicable
|
|
dateOfBirthMatchesaForm
| String 255 Chars | Y = Yes, X = not applicable |
|
documentExpiryDate
| String 255 Chars | dd/mm/yyyy; spaces if not applicable NOTE: (manually entered date with slashes) |
|
documentName
| String 255 Chars | This is an automatic lookup to convert the idDocumentType member into a human readable document name. |
|
documentNumber
| String 255 Chars | Alphanumeric, eg passport number. |
|
filler
| String 255 Chars | Often there will be filler, it serves no purpose and should be ignored. |
|
id | Long | Extra identifier that identifies this record. Not set by Australia Post. |
|
idDocumentType
| String 255 Chars | Code number representing the document type. The lookup for the name is done automatically and stored in the documentName member. |
|
idWizardRefNo
| String 255 Chars |
|
|
issuedBy
| String 255 Chars | This may be present instead of country of Issue, stateOrTerritoryOfIssue, utilityAccountIssuer and utilityAccountType. It may selectively hold this information in a less rigid format. |
|
issueDate
| String 255 Chars | dd/mm/yyyy; spaces if not applicable NOTE: (manually entered date with slashes) May not be present. |
|
nameMatchesForm
| String 255 Chars | Y = Yes, X = not applicable |
|
photoMatch
| String 255 Chars | Y = Yes, X = not applicable |
|
recordNo
| Strin 255 Chars |
|
|
recordType
| String 255 Chars |
|
|
referenceNo
| String 255 Chars |
|
|
residentialAddressMatchesForm
| String 255 Chars | Y = Yes, X = not applicable |
|
stateOrTerritoryOfIssue
| String 255 Chars | ACT, QLD, NSW, NT, SA, TAS, VIC or WA; |
|
utilityAccountIssuer
| String 255 Chars | If specifically a utility, then the name. |
|
utilityAccountType
| String 255 Chars | 01 = electricity, 02 = gas, 03 = water, 04 = telephone |
|
Faults
This method may raise a FaultDetails, inside which can be the following codes:
- InvalidCustomerIdFault
- UserIdNotFoundFault
- InvalidCertificateException
- SystemFault