Method:
DataTools.Capture.Address.Predictive.Gnaf.RetrieveAddress
You can use this method to retrieve full address details from the Australian GNAF data for record IDs prefixed with 'Gnaf'.

Test:
ParameterValue
RecordId
RequestId
RequestKey
DepartmentCode
Input Parameters:
ParameterDescription
RecordIdThe Record ID of the address you wish to retrieve full address details for. Only supports Record IDs prefixed with 'Gnaf'
RequestIdOptional user value to assist in linking DtRequests with DtResponses.
RequestKeyRequired for user access verification. For client side script protect your Request Key by using the DataTools.Security.GenerateTemporaryRequestKey
DepartmentCodeOptional user value to allocate transaction usage by department. Limit of 50 unique Department codes per account.

Output Fields:
FieldDescription
AddressSiteIdAddress site Persistent Identifier
BuildingNameBuilding Name
AddressLineAddress Line
LotNumberPrefixLot number prefix
LotNumberLot number. Field length: five alphanumeric characters (AS4590.8.7)
LotNumberSuffixLot number suffix. Field length: two alphanumeric characters (AS4590.8.7)
UnitTypeSpecification of the type of a separately identifiable portion within a building/complex. Field Length: one to seven upper case alpha characters (AS4590.8.3)
UnitNumberPrefixFlat/unit number prefix. Field length: two alphanumeric characters (AS4590.8.3)
UnitNumberFlat/unit number. Field length: five numeric characters (AS4590.8.3)
UnitNumberSuffixFlat/unit number suffix Field length: two alphanumeric characters (AS4590.8.3)
LevelTypeLevel type. Field length: two alpha characters (AS4590.8.4)
LevelNumberPrefixLevel number prefix. Field length: two alphanumeric characters (AS4590.8.4)
LevelNumberLevel number. Field length: three numeric characters (AS4590.8.4)
LevelNumberSuffixLevel number suffix. Field length: two numeric characters (AS4590.8.4)
StreetNumberPrefix1Prefix for the first (or only) number in range. Field length: two uppercase alphanumeric characters (AS4590.8.6)
StreetNumber1Identifies first (or only) street number in range. Field length: six numeric characters (AS4590.8.6)
StreetNumberSuffix1Suffix for the first (or only) number in range. Field length: two uppercase alphanumeric characters (AS4590.8.6)
StreetNumberPrefix2Prefix for the last number in range. Field length: two uppercase alphanumeric characters (AS4590.8.6)
StreetNumber2Prefix for the last number in range. Field length: two uppercase alphanumeric characters (AS4590.8.6)
StreetNumberSuffix2Suffix for the last number in range. Field length: two uppercase alphanumeric characters (AS4590.8.6)
StreetNameStreet name. e.g. 'POPLAR'
StreetTypeStreet type. e.g. 'PLACE'
StreetSuffixStreet suffix. e.g. 'WEST'
StreetClassCodeDefines whether this street represents a confirmed or unconfirmed street. [Option Values]
StreetConfidenceStreet confidence
StreetReliabilityAlways = 4. Spatial precision of the geocode expressed as number in the range, 1 (unique identification of feature) to 6 (feature associated to region i.e. postcode) AS4590.8.16 [Option Values]
LocalityLocality name
StateState
PostcodePostcodes are optional as prescribed by AS4819 and AS4590
LocalityClassCodeDescribes the class of locality (e.g. Gazetted, topographic feature etc.) [Option Values]
LocalityReliability= 5 if suburb locality, else = 6. Spatial precision of the geocode expressed as number in the range, 1 (unique identification of feature) to 6 (feature associated to region i.e. postcode). AS4590.8.16 [Option Values]
LocationDescriptionA general field to capture various references to address locations alongside another physical location. Field length: up to 45 alphanumeric characters (AS4590.8.14)
AliasOrPrincipleAn Alias or Principle address. [Option Values]
PrivateStreetInfoPrivate street information. This is not broken up into name/type/suffix. Field length: up to 75 alphanumeric characters (AS4590.8.5)
LegalParcelIdLegal parcel id. Generic parcel id field derived from the PSMA Australia's CadLite parcel where available.
AddressConfidenceReflects how many contributor databases this address appears in (0 = 1 database, 1 = 2 database etc.)
LevelGeocodedCodeBinary indicator of the level of geocoding this address has. e.g. 0 = 000 = (No geocode), 1 = 001 = (No Locality geocode, No Street geocode, Address geocode), etc.
PropertyIdProperty persistent identifier referenced to relevant cadastral model.
GnafPropertyIdThis field stores the G-NAF property_pid for the address.
PrimaryOrSecondaryA Primary or Secondary address. [Option Values]
DateAddressCreatedDate this record was created. Format YYYY-MM-DD
DateAddressLastModifiedDate this record was last modified (not retired/recreated in line with ICSM standard). Format YYYY-MM-DD
DateAddressRetiredDate this record was retired. Format YYYY-MM-DD

Supported Web Service API Interfaces:
Web Service Method: ProcessQueryStringRequest (REST with QueryString)
Request Format: Url QueryString, Body (x-www-form-urlencoded), Response Formats: JSON, XML*,
Protocols: HTTP GET, HTTPS GET, HTTP POST, HTTPS POST, HTTP OPTIONS, HTTPS OPTIONS
Example Server Path: https://customname.datatoolscloud.net.au/KleberWebService/DtKleberService.svc
Sample QueryString Request:
/ProcessQueryStringRequest?Method=DataTools.Capture.Address.Predictive.Gnaf.RetrieveAddress&RecordId=&RequestId=&RequestKey=&DepartmentCode=
Sample JSON Response:
{ "DtResponse":{ "RequestId":"", "ResultCount":"1", "ErrorMessage":"", "Result":[ { "AddressSiteId":"", "BuildingName":"", "AddressLine":"", "LotNumberPrefix":"", "LotNumber":"", "LotNumberSuffix":"", "UnitType":"", "UnitNumberPrefix":"", "UnitNumber":"", "UnitNumberSuffix":"", "LevelType":"", "LevelNumberPrefix":"", "LevelNumber":"", "LevelNumberSuffix":"", "StreetNumberPrefix1":"", "StreetNumber1":"", "StreetNumberSuffix1":"", "StreetNumberPrefix2":"", "StreetNumber2":"", "StreetNumberSuffix2":"", "StreetName":"", "StreetType":"", "StreetSuffix":"", "StreetClassCode":"", "StreetConfidence":"", "StreetReliability":"", "Locality":"", "State":"", "Postcode":"", "LocalityClassCode":"", "LocalityReliability":"", "LocationDescription":"", "AliasOrPrinciple":"", "PrivateStreetInfo":"", "LegalParcelId":"", "AddressConfidence":"", "LevelGeocodedCode":"", "PropertyId":"", "GnafPropertyId":"", "PrimaryOrSecondary":"", "DateAddressCreated":"", "DateAddressLastModified":"", "DateAddressRetired":"" } ] } }
Sample Code:



Web Service Method: ProcessQueryJsonRequest (REST with JSON)
Request Format: Body (Raw JSON), Response Formats: JSON, XML*,
Protocols: HTTP GET, HTTPS GET, HTTP POST, HTTPS POST, HTTP OPTIONS, HTTPS OPTIONS
Example Server Path: https://customname.datatoolscloud.net.au/KleberWebService/DtKleberService.svc

Single Request
Sample JSON Request:
{ "DtRequest":{ "Method":"DataTools.Capture.Address.Predictive.Gnaf.RetrieveAddress", "RecordId":"", "RequestId":"", "RequestKey":"", "DepartmentCode":"" } }
Sample JSON Response:
{ "DtResponse":{ "RequestId":"", "ResultCount":"1", "ErrorMessage":"", "Result":[ { "AddressSiteId":"", "BuildingName":"", "AddressLine":"", "LotNumberPrefix":"", "LotNumber":"", "LotNumberSuffix":"", "UnitType":"", "UnitNumberPrefix":"", "UnitNumber":"", "UnitNumberSuffix":"", "LevelType":"", "LevelNumberPrefix":"", "LevelNumber":"", "LevelNumberSuffix":"", "StreetNumberPrefix1":"", "StreetNumber1":"", "StreetNumberSuffix1":"", "StreetNumberPrefix2":"", "StreetNumber2":"", "StreetNumberSuffix2":"", "StreetName":"", "StreetType":"", "StreetSuffix":"", "StreetClassCode":"", "StreetConfidence":"", "StreetReliability":"", "Locality":"", "State":"", "Postcode":"", "LocalityClassCode":"", "LocalityReliability":"", "LocationDescription":"", "AliasOrPrinciple":"", "PrivateStreetInfo":"", "LegalParcelId":"", "AddressConfidence":"", "LevelGeocodedCode":"", "PropertyId":"", "GnafPropertyId":"", "PrimaryOrSecondary":"", "DateAddressCreated":"", "DateAddressLastModified":"", "DateAddressRetired":"" } ] } }

Multiple Requests
Sample JSON Request:
{ "DtRequests":{ "DtRequest":[ { "Method":"DataTools.Capture.Address.Predictive.Gnaf.RetrieveAddress", "RecordId":"", "RequestId":"", "RequestKey":"", "DepartmentCode":"" }, { "Method":"DataTools.Capture.Address.Predictive.Gnaf.RetrieveAddress", "RecordId":"", "RequestId":"", "RequestKey":"", "DepartmentCode":"" } ] } }
Sample JSON Response:
{ "DtResponses":{ "ErrorMessage":"", "DtResponse":[ { "RequestId":"", "ResultCount":"1", "ErrorMessage":"", "Result":[ { "AddressSiteId":"", "BuildingName":"", "AddressLine":"", "LotNumberPrefix":"", "LotNumber":"", "LotNumberSuffix":"", "UnitType":"", "UnitNumberPrefix":"", "UnitNumber":"", "UnitNumberSuffix":"", "LevelType":"", "LevelNumberPrefix":"", "LevelNumber":"", "LevelNumberSuffix":"", "StreetNumberPrefix1":"", "StreetNumber1":"", "StreetNumberSuffix1":"", "StreetNumberPrefix2":"", "StreetNumber2":"", "StreetNumberSuffix2":"", "StreetName":"", "StreetType":"", "StreetSuffix":"", "StreetClassCode":"", "StreetConfidence":"", "StreetReliability":"", "Locality":"", "State":"", "Postcode":"", "LocalityClassCode":"", "LocalityReliability":"", "LocationDescription":"", "AliasOrPrinciple":"", "PrivateStreetInfo":"", "LegalParcelId":"", "AddressConfidence":"", "LevelGeocodedCode":"", "PropertyId":"", "GnafPropertyId":"", "PrimaryOrSecondary":"", "DateAddressCreated":"", "DateAddressLastModified":"", "DateAddressRetired":"" } ] }, { "RequestId":"", "ResultCount":"1", "ErrorMessage":"", "Result":[ { "AddressSiteId":"", "BuildingName":"", "AddressLine":"", "LotNumberPrefix":"", "LotNumber":"", "LotNumberSuffix":"", "UnitType":"", "UnitNumberPrefix":"", "UnitNumber":"", "UnitNumberSuffix":"", "LevelType":"", "LevelNumberPrefix":"", "LevelNumber":"", "LevelNumberSuffix":"", "StreetNumberPrefix1":"", "StreetNumber1":"", "StreetNumberSuffix1":"", "StreetNumberPrefix2":"", "StreetNumber2":"", "StreetNumberSuffix2":"", "StreetName":"", "StreetType":"", "StreetSuffix":"", "StreetClassCode":"", "StreetConfidence":"", "StreetReliability":"", "Locality":"", "State":"", "Postcode":"", "LocalityClassCode":"", "LocalityReliability":"", "LocationDescription":"", "AliasOrPrinciple":"", "PrivateStreetInfo":"", "LegalParcelId":"", "AddressConfidence":"", "LevelGeocodedCode":"", "PropertyId":"", "GnafPropertyId":"", "PrimaryOrSecondary":"", "DateAddressCreated":"", "DateAddressLastModified":"", "DateAddressRetired":"" } ] } ] } }



Web Service Method: ProcessQueryXmlRequest (REST with XML)
Request Format: Body (Raw XML), Response Formats: JSON, XML*,
Protocols: HTTP GET, HTTPS GET, HTTP POST, HTTPS POST, HTTP OPTIONS, HTTPS OPTIONS
Example Server Path: https://customname.datatoolscloud.net.au/KleberWebService/DtKleberService.svc

Single Request
Sample XML Request:
<DtRequest Method="DataTools.Capture.Address.Predictive.Gnaf.RetrieveAddress" RecordId="" RequestId="" RequestKey="" DepartmentCode="" />
Sample XML Response:
<DtResponse RequestId="" ResultCount="1" ErrorMessage=""> <Result AddressSiteId="" BuildingName="" AddressLine="" LotNumberPrefix="" LotNumber="" LotNumberSuffix="" UnitType="" UnitNumberPrefix="" UnitNumber="" UnitNumberSuffix="" LevelType="" LevelNumberPrefix="" LevelNumber="" LevelNumberSuffix="" StreetNumberPrefix1="" StreetNumber1="" StreetNumberSuffix1="" StreetNumberPrefix2="" StreetNumber2="" StreetNumberSuffix2="" StreetName="" StreetType="" StreetSuffix="" StreetClassCode="" StreetConfidence="" StreetReliability="" Locality="" State="" Postcode="" LocalityClassCode="" LocalityReliability="" LocationDescription="" AliasOrPrinciple="" PrivateStreetInfo="" LegalParcelId="" AddressConfidence="" LevelGeocodedCode="" PropertyId="" GnafPropertyId="" PrimaryOrSecondary="" DateAddressCreated="" DateAddressLastModified="" DateAddressRetired="" /> </DtResponse>

Multiple Requests
Sample XML Request:
<DtRequests>
<DtRequest Method="DataTools.Capture.Address.Predictive.Gnaf.RetrieveAddress" RecordId="" RequestId="" RequestKey="" DepartmentCode="" />
<DtRequest Method="DataTools.Capture.Address.Predictive.Gnaf.RetrieveAddress" RecordId="" RequestId="" RequestKey="" DepartmentCode="" />
</DtRequests>
Sample XML Response:
<DtResponses ErrorMessage=""> <DtResponse RequestId="" ResultCount="1" ErrorMessage=""> <Result AddressSiteId="" BuildingName="" AddressLine="" LotNumberPrefix="" LotNumber="" LotNumberSuffix="" UnitType="" UnitNumberPrefix="" UnitNumber="" UnitNumberSuffix="" LevelType="" LevelNumberPrefix="" LevelNumber="" LevelNumberSuffix="" StreetNumberPrefix1="" StreetNumber1="" StreetNumberSuffix1="" StreetNumberPrefix2="" StreetNumber2="" StreetNumberSuffix2="" StreetName="" StreetType="" StreetSuffix="" StreetClassCode="" StreetConfidence="" StreetReliability="" Locality="" State="" Postcode="" LocalityClassCode="" LocalityReliability="" LocationDescription="" AliasOrPrinciple="" PrivateStreetInfo="" LegalParcelId="" AddressConfidence="" LevelGeocodedCode="" PropertyId="" GnafPropertyId="" PrimaryOrSecondary="" DateAddressCreated="" DateAddressLastModified="" DateAddressRetired="" /> </DtResponse> <DtResponse RequestId="" ResultCount="1" ErrorMessage=""> <Result AddressSiteId="" BuildingName="" AddressLine="" LotNumberPrefix="" LotNumber="" LotNumberSuffix="" UnitType="" UnitNumberPrefix="" UnitNumber="" UnitNumberSuffix="" LevelType="" LevelNumberPrefix="" LevelNumber="" LevelNumberSuffix="" StreetNumberPrefix1="" StreetNumber1="" StreetNumberSuffix1="" StreetNumberPrefix2="" StreetNumber2="" StreetNumberSuffix2="" StreetName="" StreetType="" StreetSuffix="" StreetClassCode="" StreetConfidence="" StreetReliability="" Locality="" State="" Postcode="" LocalityClassCode="" LocalityReliability="" LocationDescription="" AliasOrPrinciple="" PrivateStreetInfo="" LegalParcelId="" AddressConfidence="" LevelGeocodedCode="" PropertyId="" GnafPropertyId="" PrimaryOrSecondary="" DateAddressCreated="" DateAddressLastModified="" DateAddressRetired="" /> </DtResponse> </DtResponses>

Web Service Method: ProcessXmlRequest (SOAP)
Request Format: XML over SOAP, Protocols: HTTP POST, HTTPS POST, Response Formats: XML, JSON*
Example Server Path: https://customname.datatoolscloud.net.au/KleberWebServiceSoap/DtKleberService.svc
SOAP WSDL: https://customname.datatoolscloud.net.au/KleberWebServiceSoap/DtKleberService.svc?wsdl
Sample XML Request:
<DtRequest Method="DataTools.Capture.Address.Predictive.Gnaf.RetrieveAddress" RecordId="" RequestId="" RequestKey="" DepartmentCode="" />
Sample XML Response:
<DtResponse RequestId="" ResultCount="1" ErrorMessage=""> <Result AddressSiteId="" BuildingName="" AddressLine="" LotNumberPrefix="" LotNumber="" LotNumberSuffix="" UnitType="" UnitNumberPrefix="" UnitNumber="" UnitNumberSuffix="" LevelType="" LevelNumberPrefix="" LevelNumber="" LevelNumberSuffix="" StreetNumberPrefix1="" StreetNumber1="" StreetNumberSuffix1="" StreetNumberPrefix2="" StreetNumber2="" StreetNumberSuffix2="" StreetName="" StreetType="" StreetSuffix="" StreetClassCode="" StreetConfidence="" StreetReliability="" Locality="" State="" Postcode="" LocalityClassCode="" LocalityReliability="" LocationDescription="" AliasOrPrinciple="" PrivateStreetInfo="" LegalParcelId="" AddressConfidence="" LevelGeocodedCode="" PropertyId="" GnafPropertyId="" PrimaryOrSecondary="" DateAddressCreated="" DateAddressLastModified="" DateAddressRetired="" /> </DtResponse>
SOAP Envelope: The XML request is passed through a single parameter in the SOAP envelope <DtXmlRequest>. Where the development language requires the SOAP envelope contents to be defined manually, the additional step of encoding the Dt XML Request is required. The encoding required needs to transform "<" of the DtRequest to "&lt;" and ">" to "&gt;". See example below. 
Sample SOAP Envelope:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> <soapenv:Header/> <soapenv:Body> <tem:ProcessXmlRequest> <!--Optional:--> <tem:DtXmlRequest> &lt;DtRequest Method="DataTools.Capture.Address.Predictive.Gnaf.RetrieveAddress" RecordId="" RequestId="" RequestKey="" DepartmentCode="" /&gt; </tem:DtXmlRequest> </tem:ProcessXmlRequest> </soapenv:Body> </soapenv:Envelope>
Batching Requests: Use the <DtRequests> (plural) tag to send through multiple requests in a single transaction.
<DtRequests>
<DtRequest Method="DataTools.Capture.Address.Predictive.Gnaf.RetrieveAddress" RecordId="" RequestId="" RequestKey="" DepartmentCode="" />
<DtRequest Method="DataTools.Capture.Address.Predictive.Gnaf.RetrieveAddress" RecordId="" RequestId="" RequestKey="" DepartmentCode="" />
</DtRequests>
Sample Code:

* Add the additional input parameter "OutputFormat=json" or "OutputFormat=xml" to change the response format from default.
* Add the additional input parameter "callback" to convert JSON responses to JSONP responses for across domains support.
  CORS header included where callback is not defined.

Please Note:
Ensure you thoroughly test all the methods you are using and are happy with the results before going into production. DataTools is charged by the data suppliers for use of every method – therefore ALL calls to any method will incur a COST. When you register DataTools provides you with free credit to help with development and trialling of the service. Once that credit is used you will need to purchase a monthly subscription and/or top up to continue using the service, even for development purposes. Please check the Method Pricing List for all current costs. DataTools does not warrant or guarantee the quality of the results returned and will not be held responsible for any costs incurred by using a method. Should you have any questions please contact your Sales representative or the Client Services team.