Address Assert Service

Address Assert Service

In order to interact or make changes to the Address Assert Database, please use the Address Assert Service interface. Specifically, this service provides operations to add, delete or update asserted addresses and attributes.

Below is a complete list of operations available with the Address Assert Service:

  • AddAddressCoordinates
  • AddAddress
  • AddAttributes
  • AddFreeformAddress
  • BrowseAddress
  • CountAddress
  • DeleteAddress
  • DeleteAttributes
  • DeleteSubAddress
  • GetAddressById
  • GetAttributesByAddressId
  • ParseAddress
  • UpdateAddress
  • UpdateAttributes

 

AddFreeformAddress(Address)

Add a new, free form Address to the Assert Database (please note, the Address will be automatically parsed upon inclusion into the Assert Database). Once created, it will return the GUID Asserted Address Identifier (AAID). If the address already exists in the database it will not be added and the request will return a null value.

Sample XML

<!-- Request -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <AddFreeformAddress xmlns="http://tempuri.org/">
      <newAddress>10 aaa street toronto on</newAddress>
    </AddFreeformAddress>
  </s:Body>
</s:Envelope>
 
<!-- Response -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <AddFreeformAddressResponse xmlns="http://tempuri.org/">
      <AddFreeformAddressResult>eb7cbc94-8c44-f8a5-100f-88fc48742532</AddFreeformAddressResult>
    </AddFreeformAddressResponse>
  </s:Body>
</s:Envelope>

 

AddAddress(newAddress)

Add a parsed newAddress to the Assert Database. Once created, it will return the GUID Asserted Address Identifier (AAID). If the address already exists in the database it will not be added and the request will return a null value.

Sample XML

<!-- Request -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <AddAddress xmlns="http://tempuri.org/">
      <newAddress xmlns:a="http://schemas.datacontract.org/2004/07/RecognitionServiceInterface.ServiceInterface" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
        <a:countryField i:nil="true"/>
        <a:municipalityField>TORONTO</a:municipalityField>
        <a:postalCodeField i:nil="true"/>
        <a:provinceStateField>ON</a:provinceStateField>
        <a:sequenceIdField i:nil="true"/>
        <a:streetDirectionField i:nil="true"/>
        <a:streetNameField>Main St</a:streetNameField>
        <a:streetNumberField>10</a:streetNumberField>
        <a:streetNumberFieldSpecified>true</a:streetNumberFieldSpecified>
        <a:streetNumberSuffixField i:nil="true"/>
        <a:streetPreDirectionField i:nil="true"/>
        <a:streetPreTypeField i:nil="true"/>
        <a:streetTypeField>ST</a:streetTypeField>
        <a:subAddressNumberField i:nil="true"/>
        <a:subAddressTypeField i:nil="true"/>
      </newAddress>
    </AddAddress>
  </s:Body>
</s:Envelope>
 
<!-- Response -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <AddAddressResponse xmlns="http://tempuri.org/">
      <AddAddressResult>2a8166b4-b4eb-8827-20e0-b14def11ac37</AddAddressResult>
    </AddAddressResponse>
  </s:Body>
</s:Envelope>

 

ParseAddress(address)

Parse a freeform address into a parsed address. The parsing results will be sorted based on the parsed score with the highest score listed first. This will return an array of parsed addresses.

Sample XML

<!-- Request -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <AddAddress xmlns="http://tempuri.org/">
      <newAddress xmlns:a="http://schemas.datacontract.org/2004/07/RecognitionServiceInterface.ServiceInterface" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
        <a:countryField i:nil="true"/>
        <a:municipalityField>TORONTO</a:municipalityField>
        <a:postalCodeField i:nil="true"/>
        <a:provinceStateField>ON</a:provinceStateField>
        <a:sequenceIdField i:nil="true"/>
        <a:streetDirectionField i:nil="true"/>
        <a:streetNameField>Main St</a:streetNameField>
        <a:streetNumberField>10</a:streetNumberField>
        <a:streetNumberFieldSpecified>true</a:streetNumberFieldSpecified>
        <a:streetNumberSuffixField i:nil="true"/>
        <a:streetPreDirectionField i:nil="true"/>
        <a:streetPreTypeField i:nil="true"/>
        <a:streetTypeField>ST</a:streetTypeField>
        <a:subAddressNumberField i:nil="true"/>
        <a:subAddressTypeField i:nil="true"/>
      </newAddress>
    </AddAddress>
  </s:Body>
</s:Envelope>
 
<!-- Response -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <AddAddressResponse xmlns="http://tempuri.org/">
      <AddAddressResult>2a8166b4-b4eb-8827-20e0-b14def11ac37</AddAddressResult>
    </AddAddressResponse>
  </s:Body>
</s:Envelope>

 

 

CountAddress()

A query used to return the number of addresses currently contained in the Assert Database. The returned value will be a long integer.

Sample XML

<!-- Request -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <CountAddress xmlns="http://tempuri.org/"/>
  </s:Body>
</s:Envelope>
 
<!-- Response -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <CountAddressResponse xmlns="http://tempuri.org/">
      <CountAddressResult>70</CountAddressResult>
    </CountAddressResponse>
  </s:Body>
</s:Envelope>

 

BrowseAddress(fromIndex, toIndex)

This request should be used to browse addresses which are present in the Assert Database, with the first asserted address identified as 1. The request will return an array of asserted addresses.

Sample XML

<!-- Request -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <BrowseAddress xmlns="http://tempuri.org/">
      <fromIndex>1</fromIndex>
      <toIndex>2</toIndex>
    </BrowseAddress>
  </s:Body>
</s:Envelope>
 
<!-- Response -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <BrowseAddressResponse xmlns="http://tempuri.org/">
      <BrowseAddressResult xmlns:a="http://schemas.datacontract.org/2004/07/RecognitionServiceInterface.ServiceInterface" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <a:LocationAddress>
          <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
          <a:addressLineField>3011 1 AVE NOTRE-DAME-DES-PINS QC G0M1K0</a:addressLineField>
          <a:coordinatesField i:nil="true"/>
          <a:countryField i:nil="true"/>
          <a:municipalityField>
            <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
            <a:changeFlagField>Changed</a:changeFlagField>
            <a:changeFlagFieldSpecified>false</a:changeFlagFieldSpecified>
            <a:valueField>NOTRE-DAME-DES-PINS</a:valueField>
          </a:municipalityField>
          <a:scoreField>0</a:scoreField>
          <a:stateProvinceField>
            <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
            <a:changeFlagField>Changed</a:changeFlagField>
            <a:changeFlagFieldSpecified>false</a:changeFlagFieldSpecified>
            <a:valueField>QC</a:valueField>
          </a:stateProvinceField>
          <a:attributesField i:nil="true"/>
          <a:ciField>0</a:ciField>
          <a:isAssertedField>false</a:isAssertedField>
          <a:isAssertedFieldSpecified>false</a:isAssertedFieldSpecified>
          <a:mDUFlagField i:nil="true"/>
          <a:postalCodeField>
            <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
            <a:changeFlagField>Changed</a:changeFlagField>
            <a:changeFlagFieldSpecified>false</a:changeFlagFieldSpecified>
            <a:isDerivedField>false</a:isDerivedField>
            <a:valueField>G0M1K0</a:valueField>
          </a:postalCodeField>
          <a:postalMunicipalityField i:nil="true"/>
          <a:rDSIDField>0</a:rDSIDField>
          <a:relatedPostalAddressField i:nil="true"/>
          <a:residentialFlagField i:nil="true"/>
          <a:streetDirectionField i:nil="true"/>
          <a:streetNameField>
            <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
            <a:changeFlagField>Changed</a:changeFlagField>
            <a:changeFlagFieldSpecified>false</a:changeFlagFieldSpecified>
            <a:valueField>1</a:valueField>
          </a:streetNameField>
          <a:streetNumberField>
            <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
            <a:changeFlagField>Changed</a:changeFlagField>
            <a:changeFlagFieldSpecified>false</a:changeFlagFieldSpecified>
            <a:valueField>3011</a:valueField>
          </a:streetNumberField>
          <a:streetNumberSuffixField i:nil="true"/>
          <a:streetPreDirectionField i:nil="true"/>
          <a:streetPreTypeField i:nil="true"/>
          <a:streetTypeField>
            <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
            <a:changeFlagField>Changed</a:changeFlagField>
            <a:changeFlagFieldSpecified>false</a:changeFlagFieldSpecified>
            <a:valueField>AVE</a:valueField>
          </a:streetTypeField>
          <a:subAddressField>
            <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
            <a:ciField>0</a:ciField>
            <a:isInferredField>false</a:isInferredField>
            <a:isInferredFieldSpecified>false</a:isInferredFieldSpecified>
            <a:subAddressNameField i:nil="true"/>
            <a:subAddressNumberField i:nil="true"/>
            <a:subAddressTypeField i:nil="true"/>
            <a:uUAIDField i:nil="true"/>
          </a:subAddressField>
          <a:uAIDField>22f836f8-708a-0993-74a3-018215f5d100</a:uAIDField>
        </a:LocationAddress>
      </BrowseAddressResult>
    </BrowseAddressResponse>
  </s:Body>
</s:Envelope>

 

GetAddressById(UAID)

This request will return the parsed address associated to the unique identifier provided. This operation will query both the Assert Database or Location Hub based on the unique identifier that is provided in the request (either an AAID or UAID).

Please ensure that the correct identifier is supplied, for an asserted address use the AAID, for an address already within Location Hub use the UAID.

The information returned will be the parsed address information along with either the UAID or AAID.

Sample XML

<!-- Request -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <BrowseAddress xmlns="http://tempuri.org/">
      <fromIndex>1</fromIndex>
      <toIndex>2</toIndex>
    </BrowseAddress>
  </s:Body>
</s:Envelope>
 
<!-- Response -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <BrowseAddressResponse xmlns="http://tempuri.org/">
      <BrowseAddressResult xmlns:a="http://schemas.datacontract.org/2004/07/RecognitionServiceInterface.ServiceInterface" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <a:LocationAddress>
          <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
          <a:addressLineField>3011 1 AVE NOTRE-DAME-DES-PINS QC G0M1K0</a:addressLineField>
          <a:coordinatesField i:nil="true"/>
          <a:countryField i:nil="true"/>
          <a:municipalityField>
            <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
            <a:changeFlagField>Changed</a:changeFlagField>
            <a:changeFlagFieldSpecified>false</a:changeFlagFieldSpecified>
            <a:valueField>NOTRE-DAME-DES-PINS</a:valueField>
          </a:municipalityField>
          <a:scoreField>0</a:scoreField>
          <a:stateProvinceField>
            <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
            <a:changeFlagField>Changed</a:changeFlagField>
            <a:changeFlagFieldSpecified>false</a:changeFlagFieldSpecified>
            <a:valueField>QC</a:valueField>
          </a:stateProvinceField>
          <a:attributesField i:nil="true"/>
          <a:ciField>0</a:ciField>
          <a:isAssertedField>false</a:isAssertedField>
          <a:isAssertedFieldSpecified>false</a:isAssertedFieldSpecified>
          <a:mDUFlagField i:nil="true"/>
          <a:postalCodeField>
            <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
            <a:changeFlagField>Changed</a:changeFlagField>
            <a:changeFlagFieldSpecified>false</a:changeFlagFieldSpecified>
            <a:isDerivedField>false</a:isDerivedField>
            <a:valueField>G0M1K0</a:valueField>
          </a:postalCodeField>
          <a:postalMunicipalityField i:nil="true"/>
          <a:rDSIDField>0</a:rDSIDField>
          <a:relatedPostalAddressField i:nil="true"/>
          <a:residentialFlagField i:nil="true"/>
          <a:streetDirectionField i:nil="true"/>
          <a:streetNameField>
            <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
            <a:changeFlagField>Changed</a:changeFlagField>
            <a:changeFlagFieldSpecified>false</a:changeFlagFieldSpecified>
            <a:valueField>1</a:valueField>
          </a:streetNameField>
          <a:streetNumberField>
            <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
            <a:changeFlagField>Changed</a:changeFlagField>
            <a:changeFlagFieldSpecified>false</a:changeFlagFieldSpecified>
            <a:valueField>3011</a:valueField>
          </a:streetNumberField>
          <a:streetNumberSuffixField i:nil="true"/>
          <a:streetPreDirectionField i:nil="true"/>
          <a:streetPreTypeField i:nil="true"/>
          <a:streetTypeField>
            <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
            <a:changeFlagField>Changed</a:changeFlagField>
            <a:changeFlagFieldSpecified>false</a:changeFlagFieldSpecified>
            <a:valueField>AVE</a:valueField>
          </a:streetTypeField>
          <a:subAddressField>
            <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
            <a:ciField>0</a:ciField>
            <a:isInferredField>false</a:isInferredField>
            <a:isInferredFieldSpecified>false</a:isInferredFieldSpecified>
            <a:subAddressNameField i:nil="true"/>
            <a:subAddressNumberField i:nil="true"/>
            <a:subAddressTypeField i:nil="true"/>
            <a:uUAIDField i:nil="true"/>
          </a:subAddressField>
          <a:uAIDField>22f836f8-708a-0993-74a3-018215f5d100</a:uAIDField>
        </a:LocationAddress>
      </BrowseAddressResult>
    </BrowseAddressResponse>
  </s:Body>
</s:Envelope>

 

UpdateAddress(address)

Update an identified record in the Assert Database. If the address does not exist in the database, it will be added as a new address. The return value will be a boolean indicating if the operation was successful.

Sample XML

<!-- Request -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <UpdateAddress xmlns="http://tempuri.org/">
      <address xmlns:a="http://schemas.datacontract.org/2004/07/RecognitionServiceInterface.ServiceInterface" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
        <a:addressLineField i:nil="true"/>
        <a:coordinatesField i:nil="true"/>
        <a:countryField i:nil="true"/>
        <a:municipalityField>
          <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
          <a:changeFlagField>Changed</a:changeFlagField>
          <a:changeFlagFieldSpecified>false</a:changeFlagFieldSpecified>
          <a:valueField>TORONTO</a:valueField>
        </a:municipalityField>
        <a:scoreField>0</a:scoreField>
        <a:stateProvinceField>
          <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
          <a:changeFlagField>Changed</a:changeFlagField>
          <a:changeFlagFieldSpecified>false</a:changeFlagFieldSpecified>
          <a:valueField>ON</a:valueField>
        </a:stateProvinceField>
        <a:attributesField i:nil="true"/>
        <a:ciField>0</a:ciField>
        <a:isAssertedField>false</a:isAssertedField>
        <a:isAssertedFieldSpecified>false</a:isAssertedFieldSpecified>
        <a:mDUFlagField i:nil="true"/>
        <a:postalCodeField i:nil="true"/>
        <a:postalMunicipalityField i:nil="true"/>
        <a:rDSIDField>0</a:rDSIDField>
        <a:relatedPostalAddressField i:nil="true"/>
        <a:residentialFlagField i:nil="true"/>
        <a:streetDirectionField i:nil="true"/>
        <a:streetNameField>
          <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
          <a:changeFlagField>Changed</a:changeFlagField>
          <a:changeFlagFieldSpecified>false</a:changeFlagFieldSpecified>
          <a:valueField>ABC</a:valueField>
        </a:streetNameField>
        <a:streetNumberField>
          <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
          <a:changeFlagField>Changed</a:changeFlagField>
          <a:changeFlagFieldSpecified>false</a:changeFlagFieldSpecified>
          <a:valueField>10</a:valueField>
        </a:streetNumberField>
        <a:streetNumberSuffixField i:nil="true"/>
        <a:streetPreDirectionField i:nil="true"/>
        <a:streetPreTypeField i:nil="true"/>
        <a:streetTypeField>
          <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
          <a:changeFlagField>Changed</a:changeFlagField>
          <a:changeFlagFieldSpecified>false</a:changeFlagFieldSpecified>
          <a:valueField>STREET</a:valueField>
        </a:streetTypeField>
        <a:subAddressField>
          <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
          <a:ciField>0</a:ciField>
          <a:isInferredField>false</a:isInferredField>
          <a:isInferredFieldSpecified>false</a:isInferredFieldSpecified>
          <a:subAddressNameField i:nil="true"/>
          <a:subAddressNumberField>
            <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
            <a:changeFlagField>Changed</a:changeFlagField>
            <a:changeFlagFieldSpecified>false</a:changeFlagFieldSpecified>
            <a:valueField>100</a:valueField>
          </a:subAddressNumberField>
          <a:subAddressTypeField>
            <a:PropertyChanged i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.ComponentModel"/>
            <a:changeFlagField>Changed</a:changeFlagField>
            <a:changeFlagFieldSpecified>false</a:changeFlagFieldSpecified>
            <a:valueField>UNIT</a:valueField>
          </a:subAddressTypeField>
          <a:uUAIDField i:nil="true"/>
        </a:subAddressField>
        <a:uAIDField>2a8166b4-b4eb-8827-20e0-b14def11ac37</a:uAIDField>
      </address>
    </UpdateAddress>
  </s:Body>
</s:Envelope>
 
<!-- Response -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <UpdateAddressResponse xmlns="http://tempuri.org/">
      <UpdateAddressResult>true</UpdateAddressResult>
    </UpdateAddressResponse>
  </s:Body>
</s:Envelope>

 

 

DeleteAddress(AAID)

Delete the specified address from the Assert Database. The input must be the complete AAID for the asserted address. The return value will be a boolean indicating if the operation was successful.

Sample XML

<!-- Request -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <DeleteAddress xmlns="http://tempuri.org/">
      <aaid>aedd434e-6534-a181-0da5-c70146d5f29d</aaid>
    </DeleteAddress>
  </s:Body>
</s:Envelope>
 
<!-- Response -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <DeleteAddressResponse xmlns="http://tempuri.org/">
      <DeleteAddressResult>true</DeleteAddressResult>
    </DeleteAddressResponse>
  </s:Body>
</s:Envelope>

 

 

DeleteSubAddress(UAAID)

If the asserted address contains a unit or sub address, this can be identified and removed from the Assert Database. Each unit added to the Assert Database is appended with a UAAID which is linked to the address in question (UAID or AAID). The return value will be a boolean indicating if the operation was successful.

Sample XML

<!-- Request -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <DeleteSubAddress xmlns="http://tempuri.org/">
      <uaaid>7415669a-d582-a47a-2c3f-51ae6fdb5419</uaaid>
    </DeleteSubAddress>
  </s:Body>
</s:Envelope>
 
<!-- Response -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <DeleteSubAddressResponse xmlns="http://tempuri.org/">
      <DeleteSubAddressResult>true</DeleteSubAddressResult>
    </DeleteSubAddressResponse>
  </s:Body>
</s:Envelope>

 

AddAttributes(AAID, attributes)

Add new attributes to the Assert Database linked to an address record. The attributes can be added to a record that already exists and is appended with a UAID from Location Hub or can be added to an address that has been asserted and provided with an AAID.

If the attributes are being appended to existing addresses, use the UAID to define the address the attributes will be added to. If the attributes are being appended to an asserted address, use the AAID to define the address the attributes will be added to.

The return value will be a bool indicating if the operation was successful.

Sample XML

<!-- Request -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
   <AddAttributes xmlns="http://tempuri.org/">
   <aaid>54456607-6591-3a33-85ea-5cc90bdd5584</aaid>
     <attributes xmlns:a="http://schemas.datacontract.org/2004/07/AddressAssertEngine" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
       <a:AddressAttribute>
         <a:Key>a3</a:Key>
         <a:Value>v3</a:Value>
       </a:AddressAttribute>
     </attributes>
   </AddAttributes>
  </s:Body>
</s:Envelope>
 
<!-- Response -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <AddAttributesResponse xmlns="http://tempuri.org/">
      <AddAttributesResult>true</AddAttributesResult>
    </AddAttributesResponse>
  </s:Body>
</s:Envelope>

 

GetAttributesByAddressId(AAID)

A request which returns all the attributes of an address based on the unique identifier. For an asserted address use the AAID, for an address already within Location Hub use its UAID.
The return value will be an array of all attributes contained in the Assert Database.

Sample XML

<!-- Request -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <GetAttributesByAddressId xmlns="http://tempuri.org/">
      <aaid>54456607-6591-3a33-85ea-5cc90bdd5584</aaid>
    </GetAttributesByAddressId>
  </s:Body>
</s:Envelope>
 
<!-- Response -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <GetAttributesByAddressIdResponse xmlns="http://tempuri.org/">
      <GetAttributesByAddressIdResult xmlns:a="http://schemas.datacontract.org/2004/07/AddressAssertEngine" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <a:AddressAttribute>
          <a:Key>a1</a:Key>
          <a:Value>v1</a:Value>
        </a:AddressAttribute>
        <a:AddressAttribute>
          <a:Key>a2</a:Key>
          <a:Value>v2</a:Value>
        </a:AddressAttribute>
      </GetAttributesByAddressIdResult>
    </GetAttributesByAddressIdResponse>
  </s:Body>
</s:Envelope>

 

UpdateAttributes(AAID, attributes)

Update the asserted address attributes with specified content. If the asserted address does not have the identified attributes, these attributes will be added new.
The return value will be a bool indicating if the operation was successful.

Sample XML

<!-- Request -->
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://www.dmtispatial.com/recognition/v2.1/">
   <soapenv:Header/>
   <soapenv:Body>
      <v2:UpdateAttributesRequest>
         <v2:AAID>00f7d2dc-3342-a1d3-03af-03b8f5a160a2</v2:AAID>
         <!--1 or more repetitions:-->
         <v2:AddressAttribute>
            <v2:Key>Var3</v2:Key>
            <v2:Value>Value3_1</v2:Value>
         </v2:AddressAttribute>
      </v2:UpdateAttributesRequest>
   </soapenv:Body>
</soapenv:Envelope>
 
<!-- Response -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <UpdateAttributesResponse xmlns="http://www.dmtispatial.com/recognition/v2.1/">
         <Successful>true</Successful>
      </UpdateAttributesResponse>
   </s:Body>
</s:Envelope>

 

DeleteAttributes(AAID)

Delete all attributes which are contained within the Assert Database and linked to an address record. If the attributes are linked to an existing address with a UAID from Location Hub use the UAID to defined the records to be deleted. If the attributes are linked to an asserted address with an AAID, use this value to define the records to be deleted.
The return value will be a boolean indicating if the operation was successful.

Sample XML

<!-- Request -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <DeleteAttributes xmlns="http://tempuri.org/">
      <aaid>2a8166b4-b4eb-8827-20e0-b14def11ac37</aaid>
    </DeleteAttributes>
  </s:Body>
</s:Envelope>
 
<!-- Response -->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <DeleteAttributesResponse xmlns="http://tempuri.org/">
      <DeleteAttributesResult>true</DeleteAttributesResult>
    </DeleteAttributesResponse>
  </s:Body>
</s:Envelope>

 

Address Assert Recognition Service

Address Assert Recognition Service

Address Assert Recognition & Query Service

To query address information from the Assert Database and Location Hub, use the Address Assert Recognition Service interface of the Address Assert Service.

The Address Assert Recognition Service interface is available as a SOAP request and is required in order to perform recognition and query requests against an Address Assert Database. This service should be used instead of the standard Location Hub Address Recognition service as it contains all operations required for use with an Address Assert database along with those needed to interact with Location Hub Address Recognition Service. When implementing Address Assert, please note that the Address Assert Recognition Service will query both the Assert database and Location Hub on each request.

This service is only available as a SOAP request and the documentation below only covers information new to Address Assert that is not available in the standard Address Recognition SOAP service.

AttributeQuery

This operation allows the user to input a freeform or parsed address, and will return all attribute information that is associated with the address.
The attributes returned are those unique to Location Hub such as CI and UAID, and/or those which have been added through the Assert Database.
Specific attributes can be returned by indicating the attribute name in the AttributeQuery request, however for all attributes to be returned this field should be left blank.
Attributes returned from the Assert Database are represented as a key value pair.

IsAsserted;

When using the Address Assert Recognition Service interface, all results returned will be appended with an additional field indicating if the address components returned are retrieved from the Assert Database or Location Hub. This flag does not indicate if additional attributes were appended to an address and stored in the assert database, it will only indicate if the address is currently available in Location Hub.

This is a boolean data type and will be set to “true” if the address information was returned from the Assert Database. It will be set to “false” if the address information was returned from Location Hub.

Sample XML

<!--Request-->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <RecognizeRequestFreeForm xmlns="http://www.dmtispatial.com/recognition/v2.1/">
      <AttributeQuery/>
      <Item SequenceId="1">
      <AddressLine>10 abc st unit 102 toronto on</AddressLine>
      </Item>
    </RecognizeRequestFreeForm>
  </s:Body>
</s:Envelope>
 
<!--Response-->
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <RecognizeResponseFreeForm xmlns="http://www.dmtispatial.com/recognition/v2.1/">
      <ResponseItems>
        <ResponseItem SequenceId="1">
          <InsufficientFlag>false</InsufficientFlag>
          <LocationCandidates>
            <Location xsi:type="LocationAddress" IsAsserted="true">
              <Score>0.7858</Score>
              <AddressLine>10 ABC ST UNIT 102 TORONTO ON</AddressLine>
              <Municipality>TORONTO</Municipality>
              <StateProvince>ON</StateProvince>
              <UAID>2a8166b4-b4eb-8827-20e0-b14def11ac37</UAID>
              <RDSID>9213648</RDSID>
              <CI>0</CI>
              <MDUFlag xsi:nil="true"/>
              <ResidentialFlag xsi:nil="true"/>
              <SubAddress>
                <UUAID>54456607-6591-3a33-85ea-5cc90bdd5584</UUAID>
                <CI>0</CI>
                <SubAddressType>UNIT</SubAddressType>
                <SubAddressNumber>102</SubAddressNumber>
              </SubAddress>
              <StreetNumber>10</StreetNumber>
              <StreetName>ABC</StreetName>
              <StreetType>ST</StreetType>
              <Attributes>
                <Attribute Key="a1">v1</Attribute>
                <Attribute Key="a2">v2</Attribute>
              </Attributes>
            </Location>
          </LocationCandidates>
        </ResponseItem>
      </ResponseItems>
    </RecognizeResponseFreeForm>
  </s:Body>
</s:Envelope>

Address Assert

Address Assert

Address Assert is a service providing customers with the ability to “assert” addresses that are not currently available in the Location Hub database in order to be able to recognize them in future transactions.

Customers can also use the Address Assert service to add client specific attributes to existing and “asserted” addresses as required. Address Assert provides a customer specific database to maintain these addresses and attributes to ensure that each customer’s data is kept separate.

Each address that is added to the assert database will be appended with a unique GUID identifier, similar to the UAID that is associated to each address contained within Location Hub. This unique identifier is the Asserted Address ID (AAID) and can be used to return attribute information assigned to the address or to identify the address when performing additional operations.

If an asserted address contains multiple units it will also be appended with a Unit Asserted Address ID (UAAID). This UAAID can be appended to both existing addresses (those with a UAID) or asserted addresses (those with an AAID).

Address Assert contains two API interfaces to interact with the assert database and Location Hub:

Address Assert Recognition Service Interface

Address Assert requires the use of the Address Assert Recognition Service. This service should be used instead of the standard Location Hub Address Recognition service as this service contains all operations currently available in the Location Hub Address Recognition service as well as operations for use specifically with the Address Assert Service.

If implementing Address Assert, please ensure to use the Address Assert Recognition Service for all service calls to Location Hub as it will query the assert database along with Location Hub on each request. For a complete list of operations available, please refer to the Address Assert Recognition Service page.

Address Assert Service Interface

The Address Assert Service is required to interact with the assert database only. It provides operations to add, update, delete and query asserted addresses and attributes.

For a complete list of operations available, please refer to the Address Assert Service page.