Microsoft Dynamics 365 Integration Guide
This document depicts end to end installation and configuration of “D365 Loqate API PCF Control for Address Verification, Email Verification and Phone Verification”.
Resources
Please make sure that you have following solution files to configure Address, Email and Phone verification controls.
- Address Verification: LoqateAddress_managed,
- Email Verification: LoqateEmailVerification_managed,
- Phone Verification: CountryISO_1_0_0_0_managed, LoqatePhoneVerification, CounryName_ISO2_ISO3.csv
Instructions
Visit https://make.powerapps.com and click on solutions.
Address Verification Installation and Configration:
Now Import “CountryISO_1_0_0_0_managed” by clicking on import button on the ribbon area and upon that import, LoqateAddress_managed, LoqateEmailVerification_managed, LoqatePhoneVerification Solutions:
Click on the gear icon on the navigation and open Advanced Settings:
Now the Click on the arrow beside settings and select “Data Management”:
Click on Imports:
Then click on Import Data:
Upload “CountryName_ISO2_ISO3.csv” file here:
Click Next:
Select Default (Automatic Mapping) and Click ‘Next’:t
Select ‘CountryISODetails’ table:
Map Country Name filed to Name and ISO2 to ISO2 and ISO3 to ISO3:
Click Next:
Select Allow duplicated as No and click on ‘Submit’ button:
Click ‘Finish’:
Verify Success record count should be 248:
Now click on the arrow beside settings and open customizations by double clicking the link:
Next, click on customize the system link from the screen:
Click on the arrow to expand the entity list and select the entity for which Address, Email or Phone verification needs to be implemented:
Expand the ‘Entity’ and click on the ‘Form’:
Click and open the form needs to be customised:
Configuration of Controls:
Phone Verification:
Select and double click on Phone field to configure Phone Verification:
Click on “Add Control” to add the control:
A pop up with the label “Field Properties” should open, click on the controls tab and add the control as highlighted below:
After clicking the add button click on the radio buttons in front of “Loqate- Phone Verification” control and enter the following details:
API key: Click on the edit icon in front of the “country field” and enter the Loqate API Key (Mandatory)
Country: Click on the edit icon in front of the “country field” and enter full name of the country or ISO2 code or ISO3 code of the country
Or this can be bind to a field in dynamics as mentioned in the below snip, to configure this click on the radio button “Bind to a value on field” and select the appropriate field.
Note: This is an optional field this should be field if you want to validate phone number in National format.
Upon the configuration control should look like this:
Email Verification:
Select and double click on ‘Email’ field to configure Email Verification Control
Click on “Add control” to add the control
A pop up with the label “Field Properties” should open, click on the controls tab and add the control as highlighted in the snip below:
Address Verification:
Double click on the ‘Text Box’ (Address 1: Street1) field to configure the control:
Go to Controls tab and click on add control button:
Select ‘Loqate-Address Search’ to configure Address search control
There are two things needs to be configured “Control” and “Property”:
- Control: To configure the Control please select the radio buttons in front of the “Loqate- Address Search” control.
- Property: Property will act as an input and output parameter to the Loqate API, so there are two types of properties which needs to be configured i.e. Input Property and Output Property.
Input Property: Input property will act as input to request parameter. Here we have list of input properties and the sample accepted value.
Name |
Type |
Value in acceptable format (Example) |
Description |
Key* |
String |
AA11-AA11-AA11-AA11 |
The key used to authenticate with the service. |
IsMiddleware |
Boolean |
Yes (Enum) |
Whether the API is being called from a middleware implementation (and therefore the calling IP address should not be used for biasing). This will be auto populated |
Origin |
String |
52.182,-2.222 |
A starting location for the search. This can be the name or ISO 2- or 3-character code of a country, WGS84 coordinates (comma separated) or IP address to search from. |
Countries |
String |
GB,US,CA |
A comma separated list of ISO 2 or 3 character country codes to limit the search within. |
Limit |
Integer |
10 |
The maximum number of results to return. |
Language |
String |
en |
The preferred language for results. This should be a 2- or 4-character language code e.g. (en, fr, en-gb, en-us etc). |
Bias |
Boolean |
False |
When Bias is set to True and when the Origin value provided is WGS84 coordinates or an IP address, this allows the user to find addresses that are near to them with less entry. When Bias is set to False, information provided in the Origin field will be used to prefer address matches from the country that Origin field identifies. |
Filters |
String |
Locality:Nottingham&Filters=!Postcode:NG11 7EP |
You can include or exclude certain type of addresses or locations from the address matches presented back to end user. All Filters are currently operating on the basis of an exact match. Multiple Filters can be provided in the same request. Please refer the table “Filter Details” mentioned below for more details about filters |
Field1Format |
String |
{Latitude} |
This is additional field which provides the capability to request custom details like longitude, latitude etc. |
Field2Format |
String |
{Longitude} |
This is additional field which provides the capability to request custom details like longitude, latitude etc. |
Field3Format |
String |
|
This is additional field which provides the capability to request custom details like longitude, latitude etc. |
Field4Format |
String |
|
This is additional field which provides the capability to request custom details like longitude, latitude etc. |
Field5Format |
String |
|
This is additional field which provides the capability to request custom details like longitude, latitude etc. |
Field6Format |
String |
|
This is additional field which provides the capability to request custom details like longitude, latitude etc. |
Field7Format |
String |
|
This is additional field which provides the capability to request custom details like longitude, latitude etc. |
Field8Format |
String |
|
This is additional field which provides the capability to request custom details like longitude, latitude etc. |
Field9Format |
String |
|
This is additional field which provides the capability to request custom details like longitude, latitude etc. |
Field10Format |
String |
|
This is additional field which provides the capability to request custom details like longitude, latitude etc. |
Field11Format |
String |
|
This is additional field which provides the capability to request custom details like longitude, latitude etc. |
Field12Format |
String |
|
This is additional field which provides the capability to request custom details like longitude, latitude etc. |
Field13Format
|
String |
|
This is additional field which provides the capability to request custom details like longitude, latitude etc. |
Field14Format |
String |
|
This is additional field which provides the capability to request custom details like longitude, latitude etc. |
Field15Format |
String |
|
This is additional field which provides the capability to request custom details like longitude, latitude etc. |
Field16Format |
String |
|
This is additional field which provides the capability to request custom details like longitude, latitude etc. |
Field17Format |
String |
|
This is additional field which provides the capability to request custom details like longitude, latitude etc. |
Field18Format |
String |
|
This is additional field which provides the capability to request custom details like longitude, latitude etc. |
Field19Format |
String |
|
This is additional field which provides the capability to request custom details like longitude, latitude etc. |
Field20Format |
String |
|
This is additional field which provides the capability to request custom details like longitude, latitude etc. |
Filter Details: The following filters are supported
Filter |
Description |
OrganisationName |
Company Name |
Locality |
City |
Postcode |
Postal code / Postcode / Zip Code |
Thoroughfare |
Street |
Language |
specified in ISO 639-2/B format |
US Addresses Only: Attributes.CommercialResidential |
Address type (Commercial or Residential) |
To configure input property you will get two options i.e “Bind to a static value” or “Bind to a value on a field” by clicking edit symbol
Here are few examples which shows how you can configure different input properties:
From “Field1 Format” to “Field20 Format” we have custom input fields where can configure custom input like {Latitude}, {Longitude} etc:
Output Property: Output property is used to capture the response returned by the API, to configure the output property here you just need to select the field in which response needs to display in dynamics CE. Please find the response property details below:
Address* |
String |
Required field which will be auto populated with the field name for which you configure the control |
Address Line 1 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Address Line 1 |
Address Line 2 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Address Line 2 |
Address Line 3 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Address Line 3 |
Address Line 5 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Address Line 4 |
City |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Address Line 5 |
Province |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Province |
Post Code |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Post Code |
Country |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Country |
Domestic ID |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Domestic ID |
Address Language |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Address Language |
Address Language Alternatives |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Address Language Alternatives |
Department |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Department |
Company |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Company |
Sub Building |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Sub Building |
Building Number |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Building Number |
Building Name |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Building Name |
Secondary Street |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Secondary Street |
Street |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Street |
Block |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Block |
Neighbourhood |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Neighbourhood |
Street |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Street |
Admin Area Name |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Admin Area Name |
Admin Area Code |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Admin Area Code |
Province Name |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Province Name |
Province Code |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Province Code |
Country ISO 2 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Country ISO 2 |
Country ISO 3 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Country ISO 3 |
Country ISO Number |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Country ISO Number |
Sorting Number 1 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Sorting Number 1 |
Sorting Number 2 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Sorting Number 2 |
Barcode |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Barcode |
PO Box Number |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for PO Box Number |
Address Type |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Address Type |
Field1 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Field1Format |
Field2 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Field2Format |
Field3 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Field3Format |
Field4 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Field4Format |
Field5 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Field5Format |
Field6 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Field6Format |
Field7 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Field7Format |
Field8 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Field8Format |
Field9 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Field9Format |
Field10 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Field10Format |
Field11 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Field11Format |
Field12 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Field12Format |
Field13 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Field13Format |
Field14 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Field14Format |
Field15 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Field15Format |
Field16 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Field16Format |
Field17 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Field17Format |
Field18 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Field18Format |
Field19 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Field19Format |
Field20 |
String |
Select the field name from the dropdown list for which you want to display the API response in the dynamics for Field20Format |
To configure output property just double click on the property and select the field for which you want to display the response. Please find the examples below:
Note: If you don’t see your field name in the dropdown list, please make sure the field you are trying configure is string (single line of text)