Method:
DataTools.Verify.Address.AuPaf.VerifyAddress
Use to search an address against the Australian PAF using Australia Post's Batch rules. This method will return a single correct address match otherwise an error explaining why a match could not be found. This method requires no user interaction.

Test:
ParameterValue
AddressLine1
AddressLine2
AddressLine3
AddressLine4
AddressLine5
AddressLine6
Locality
State
Postcode
RequestId
RequestKey
DepartmentCode
Input Parameters:
ParameterDescription
AddressLine1Address line 1 eg. 'Level 22 Suite 5'.
AddressLine2Address line 2 eg. 'The Big Building'.
AddressLine3Address line 3 eg. '220 Big Street'.
AddressLine4Address line 4
AddressLine5Address line 5
AddressLine6Address line 6
LocalityLocality, Suburb or Town
StateState for Australian addresses eg. NSW, VIC.
PostcodePostcode
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
DPIDAustralia Post Delivery Point Identifier
BuildingNameBuilding Name eg Sydney Square
AddressLineAddress Line eg. 'Level 5 200 Smith St'
LocalityLocality, Suburb or Town
StateState eg. NSW, VIC
PostcodePostcode
AddressBlockLine1Address Line 1 of address block, use AddressBlockLine1 to 7 as an alternative to AddressLine, Locality, State and Postcode
AddressBlockLine2Address Line 2 of address block, use AddressBlockLine1 to 7 as an alternative to AddressLine, Locality, State and Postcode
AddressBlockLine3Address Line 3 of address block, use AddressBlockLine1 to 7 as an alternative to AddressLine, Locality, State and Postcode
AddressBlockLine4Address Line 4 of address block, use AddressBlockLine1 to 7 as an alternative to AddressLine, Locality, State and Postcode
AddressBlockLine5Address Line 5 of address block, use AddressBlockLine1 to 7 as an alternative to AddressLine, Locality, State and Postcode
AddressBlockLine6Address Line 6 of address block, use AddressBlockLine1 to 7 as an alternative to AddressLine, Locality, State and Postcode
AddressBlockLine7Address Line 7 of address block, use AddressBlockLine1 to 7 as an alternative to AddressLine, Locality, State and Postcode
MatchTypeReturns a number that is the match type code for why an address didn't match [Option Values]
MatchTypeDescriptionA meaningful description for why an address didn't match
FieldChangesCodes representing the address components that were updated [Option Values]
AustraliaPostBarcodeAustralia Post Barcode
AustraliaPostBarcodeSortPlanAustralia Post Barcode Sort Plan
UnitTypeUnit Type
UnitNumberUnit Number
LevelTypeLevel Type
LevelNumberLevel Number
LotNumberLot Number
StreetNumber1Street Number 1
StreetNumberSuffix1Street Number Suffix 1
StreetNumber2Street Number 2
StreetNumberSuffix2Street Number Suffix 2
PostBoxNumberPost Box Number
PostBoxNumberPrefixPost Box Number Prefix
PostBoxNumberSuffixPost Box Number Suffix
StreetNameStreet Name
StreetTypeStreet Type
StreetSuffixStreet Suffix
PostBoxTypePost Box Type
AltStreetNameAlternate Street Name. A street alternate is an alternative name for a street which is used for only part of that street. This might occur as a main road runs through a suburb or as a highway runs through a town. ATN is returned in FieldChanges to indicate that the address returned is a street alternate rather than the strict PAF street name.
AltStreetTypeAlternate Street Type
AltStreetSuffixAlternate Street Suffix
AltLocalityAlternate Locality. Australia Post provides a list of acceptable bordering localities for various suburbs throughout Australia. This will allow for more matches to be made on streets which are located on the boundaries of suburbs and are often represented as being over the border from their gazetted location. BOR is returned in FieldChanges to indicate that the address returned is a bordering locality rather than the strict PAF street name.
AltPostcodeAlternate Postcode
UnknownDataContains data that the parser could not allocate to an address field.

Supported Web Service API Interfaces:
Web Service Method: ProcessQueryStringRequest (REST)
Request Format: Url QueryString, Protocols: HTTP GET, HTTPS GET, Response Formats: JSON, XML*
Default Server Path: http://kleber.datatoolscloud.net.au/KleberWebService/DtKleberService.svc
Sample QueryString Request:
/ProcessQueryStringRequest?Method=DataTools.Verify.Address.AuPaf.VerifyAddress&AddressLine1=&AddressLine2=&AddressLine3=&AddressLine4=&AddressLine5=&AddressLine6=&Locality=&State=&Postcode=&RequestId=&RequestKey=&DepartmentCode=
Sample JSON Response:
{ "DtResponse":{ "RequestId":"", "ResultCount":"1", "ErrorMessage":"", "Result":[ { "DPID":"", "BuildingName":"", "AddressLine":"", "Locality":"", "State":"", "Postcode":"", "AddressBlockLine1":"", "AddressBlockLine2":"", "AddressBlockLine3":"", "AddressBlockLine4":"", "AddressBlockLine5":"", "AddressBlockLine6":"", "AddressBlockLine7":"", "MatchType":"", "MatchTypeDescription":"", "FieldChanges":"", "AustraliaPostBarcode":"", "AustraliaPostBarcodeSortPlan":"", "UnitType":"", "UnitNumber":"", "LevelType":"", "LevelNumber":"", "LotNumber":"", "StreetNumber1":"", "StreetNumberSuffix1":"", "StreetNumber2":"", "StreetNumberSuffix2":"", "PostBoxNumber":"", "PostBoxNumberPrefix":"", "PostBoxNumberSuffix":"", "StreetName":"", "StreetType":"", "StreetSuffix":"", "PostBoxType":"", "AltStreetName":"", "AltStreetType":"", "AltStreetSuffix":"", "AltLocality":"", "AltPostcode":"", "UnknownData":"" } ] } }
Sample Code:

Web Service Method: ProcessXmlRequest (SOAP)
Request Format: XML over SOAP, Protocols: HTTP POST, HTTPS POST, Response Formats: XML, JSON*
Default Server Path: http://kleber.datatoolscloud.net.au/KleberWebServiceSoap/DtKleberService.svc
SOAP WSDL: http://kleber.datatoolscloud.net.au/KleberWebServiceSoap/DtKleberService.svc?wsdl
Sample XML Request:
<DtRequest Method="DataTools.Verify.Address.AuPaf.VerifyAddress" AddressLine1="" AddressLine2="" AddressLine3="" AddressLine4="" AddressLine5="" AddressLine6="" Locality="" State="" Postcode="" RequestId="" RequestKey="" DepartmentCode="" />
Sample XML Response:
<DtResponse RequestId="" ResultCount="1" ErrorMessage=""> <Result DPID="" BuildingName="" AddressLine="" Locality="" State="" Postcode="" AddressBlockLine1="" AddressBlockLine2="" AddressBlockLine3="" AddressBlockLine4="" AddressBlockLine5="" AddressBlockLine6="" AddressBlockLine7="" MatchType="" MatchTypeDescription="" FieldChanges="" AustraliaPostBarcode="" AustraliaPostBarcodeSortPlan="" UnitType="" UnitNumber="" LevelType="" LevelNumber="" LotNumber="" StreetNumber1="" StreetNumberSuffix1="" StreetNumber2="" StreetNumberSuffix2="" PostBoxNumber="" PostBoxNumberPrefix="" PostBoxNumberSuffix="" StreetName="" StreetType="" StreetSuffix="" PostBoxType="" AltStreetName="" AltStreetType="" AltStreetSuffix="" AltLocality="" AltPostcode="" UnknownData="" /> </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.Verify.Address.AuPaf.VerifyAddress" AddressLine1="" AddressLine2="" AddressLine3="" AddressLine4="" AddressLine5="" AddressLine6="" Locality="" State="" Postcode="" 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.Verify.Address.AuPaf.VerifyAddress" AddressLine1="" AddressLine2="" AddressLine3="" AddressLine4="" AddressLine5="" AddressLine6="" Locality="" State="" Postcode="" RequestId="" RequestKey="" DepartmentCode="" />
<DtRequest Method="DataTools.Verify.Address.AuPaf.VerifyAddress" AddressLine1="" AddressLine2="" AddressLine3="" AddressLine4="" AddressLine5="" AddressLine6="" Locality="" State="" Postcode="" 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.