Get Nearest Store List using SOAP
This SOAP service is used by our examples included in the download to get either Nearest Store List or Nearest Store List and Google Map.
The following is included for referance
SOAP Service URL:
SOAP API Common Parameters:
All SOAP API functions have the following common parameters:
Name | Description |
---|---|
LicenseID | Your License ID (Account Number). This is given to you when you open an account with us |
ListID | 1-10, allows you to have multiple data lists. |
Password | Password to your account |
ErrorDesc | Returns any errors if they occur, other wise “” if OK |
For Trail use set to 0. ListID=1 and 2 which are List 1 and 2 on the spreadsheet. When calling these lists the DataKey, LicenseID and Password are ignored. You will NOT be able to update the data in these lists.
API Functions
This service provides the following:
GetListRecordWithTemplate
GetListRecordWithTemplate(ByVal LicenseID As Long, _
ByVal ListID As Long, _
ByVal TemplateID As Long, _
ByVal Password As String, _
ByRef ErrorDesc As String, _
ByRef YourID As Long) As String
This function gets a list entry and merges it with a template DetailsTemplate field. Therefore can be use to show the Store details using the same data from the nearest list.
Returns:
Returns Nearest Store List.
GetNearestToPostCodeTemplate
GetNearestToPostCodeTemplate(LicenseID as long,_
TemplateID as integer,_
ListID as integer,_
Password as string,_
DataKey as string,_
ErrorDesc as string,_
MachineID as string,_
TargetPostcode as string,_
WithinKM as double,_
PageSize as integer,_
PageNumber as integer,_
ReturnedNumberOfRecords as integer,_
ExtraFlags as string,_
TypeFilter as string) as String
Returns nearest Stores to PostCode within WithinKM, else error in ErrorDesc
MachineID must be the Computer name of the machine calling the function if for internal use. Should be left blank if for External Use.
PageSize and PageNumber allow pages of results to be displayed. Demo of example 1
TemplateID is the template you have uploaded to merge with to show results
ListID is the list of stores you have uploaded (1-10 or 99 for example data)
ReturnedNumberOfRecords is the number of records returned
ExtraFlags allows us to add extra functionality in the future, each value will be separated by comma. if it contain "XML" then the results of GetNearestToPostCodeTemplate.aspx will have a header content ="XML".
Extra Flags
ExtraFlags allows extra functionality, as listed below:
if contains | Description |
---|---|
XML | the results of GetNearestToPostCodeTemplate.aspx will have a header content ="XML". |
Each value should be separated by comma
Type Filter
TypeFilter will optionally filter out records from the nearest list. Leave blank or "ABC" will include all entries with type A,B or C.
This returns a sorted list of nearest stores, with paging functionality
Template Example:
HTML_TO_Display=GetNearestToPostCodeTemplate(0,1,99,"DEMO",_
ErrorDesc,"PE132XQ",50,10,1,NumberOfRecords,_
"")
Gives the stores closest to postcode "PE132XQ", with the first 10 results (page1) Demo of example 1
HTML_TO_Display=GetNearestToPostCodeTemplate(0,1,99,"DEMO",_
ErrorDesc,"PE132XQ",50,10,2,NumberOfRecords,_
"")
Gives the stores closest to postcode "PE132XQ", with the first 11-20 results (page2)
Calling this function uses 1 PostZon lookup credit if used on the Web
GetNearestToPostCodeXML
GetNearestToPostCodeXML(LicenseID as long,_
ListID as integer,_
Password as string,_
DataKey as string,_
ErrorDesc as string,_
MachineID as string,_
TargetPostcode as string,_
WithinKM as double,_
PageSize as integer,_
PageNumber as integer,_
ReturnedNumberOfRecords as integer,_
ExtraFlags as string,_
TypeFilter as string) as String
Returns nearest Stores to nearest TargetPostCode within WithinKM, else error in ErrorDesc
MachineID must be the Computer name of the machine calling the function if for internal use. Should be left blank if for External Use.
PageSize and PageNumber allow pages of results to be displayed. Demo of example 1
ListID is the list of stores you have uploaded (1-10 or 99 for example data)
ReturnedNumberOfRecords is the number of records returned
ExtraFlags allows us to add extra functionality in the future, each value will be seperated by comma.
TypeFilter will optionally filter out records from the nearest list. Leave blank or "ABC" will include all entries with type A,B or C. Demo of example 5
The functionality of this is the same as GetNearestToPostCodeTemplate but returns XML.
Calling this function uses 1 PostZon lookup credit if used on the Web
Returns |
<?xml version="1.0" encoding="utf-8" standalone="yes" ?> <!DOCTYPE list [ <!ELEMENT recordcount (#PCDATA)> <!ELEMENT errordesc (#PCDATA)> <!ELEMENT record (yourid,yourdata1,yourdata2,yourdata3,yourdata4, yourdata5,yourdata6,yourdata7,yourdata8,type,postcode,longitude, latitude,dateadded,rank,rankchar,km,mile )> <!ELEMENT yourid (#PCDATA)> <!ELEMENT yourdata1 (#PCDATA)> <!ELEMENT yourdata2 (#PCDATA)> <!ELEMENT yourdata3 (#PCDATA)> <!ELEMENT yourdata4 (#PCDATA)> <!ELEMENT yourdata5 (#PCDATA)> <!ELEMENT yourdata6 (#PCDATA)> <!ELEMENT yourdata7 (#PCDATA)> <!ELEMENT yourdata8 (#PCDATA)> <!ELEMENT type (#PCDATA)> <!ELEMENT postcode (#PCDATA)> <!ELEMENT longitude (#PCDATA)> <!ELEMENT latitude (#PCDATA)> <!ELEMENT dateadded (#PCDATA)> <!ELEMENT rank (#PCDATA)> <!ELEMENT rankchar (#PCDATA)> <!ELEMENT km (#PCDATA)> <!ELEMENT mile (#PCDATA)> ]> <list> <recordcount>2</recordcount> <errordesc></errordesc> <record> <yourid>285</yourid> <yourdata1>Wisbech Cambridgeshire</yourdata1> <yourdata2>Turn right at the roundabout</yourdata2> <yourdata3>3235-2312494</yourdata3> <yourdata4></yourdata4> <yourdata5></yourdata5> <yourdata6></yourdata6> <yourdata7></yourdata7> <yourdata8></yourdata8> <type></type> <postcode>PE132QL</postcode> <longitude>0.161667</longitude> <latitude>52.659888</latitude> <dateadded>20070828</dateadded> <rank>1</rank> <rankchar>A</rankchar> <km>0</km> <mile>0.0</mile> </record> <record> <yourid>286</yourid> <yourdata1>Wisbech Cambridgeshire</yourdata1> <yourdata2>Turn left at the roundabout</yourdata2> <yourdata3>3235-2312495</yourdata3> <yourdata4></yourdata4> <yourdata5></yourdata5> <yourdata6></yourdata6> <yourdata7></yourdata7> <yourdata8></yourdata8> <type></type> <postcode>PE132XQ</postcode> <longitude>0.155272</longitude> <latitude>52.650114</latitude> <dateadded>20070828</dateadded> <rank>2</rank> <rankchar>B</rankchar> <km>1.2</km> <mile>0.7</mile> </record> </list> |
GetNearestToPostCodeTemplateAndMap
GetNearestToPostCodeTemplateAndMap(LicenseID as Long,_
TemplateID as integer,_
ListID as integer,_
Password as string,_
DataKey as string,_
ErrorDesc as string,_
MachineID as string,_
TargetPostcode as string,_
WithinKM as double,_
PageSize as integer,_
PageNumber as integer,_
MaximumPinNumber as integer,_
ReturnedNumberOfRecords as long,_
TypeFilter as string,_
YourGoogleMapKey as string,_
ZoomLevel as integer,_
ShowControls as boolean,_
ShowOverViewWindow as boolean,_
ShowTypeControls as boolean,_
ExtraFlags as string,_
ByRef GoogleMapCode as string) as String
Returns nearest Stores to nearest to TargetPostCode within WithinKM, else error in ErrorDesc
MachineID must be the Computer name of the machine calling the function if for internal use. Should be left blank if for External Use.
TemplateID is the template you have uploaded to merge with to show results. Set to -1 if only a map is required.
ListID is the list of stores you have uploaded (1-10 or 99 for example data)
PageSize and PageNumber allow pages of results to be displayed. If just want a map then set PageSize =0
Demo of example 1
MaximumPinNumber is the maximum number of pins to put on map. Therefore the Map can contain more results than the list.
TypeFilter will optionally filter out records from the nearest list. Leave blank or "ABC" will include all entries with type A,B or C. Demo of example 5
YourGoogleMapKey should be your Google map key, which is given to you by Google
ZoomLevel Google zoom level (8 or 9 is a good value)
- 11=5km per inch
- 10=10km per inch
- 9=20km per inch
- 8=40km per inch
- 7=50km per 3/4 inch
- 6=100km per 3/4 inch
ShowControls shows zoom and pan controls
ShowOverViewWindow shows a small overview of map in corner of map
ShowTypeControls allows the use to switch between map and satellite picture
ReturnedNumberOfRecords is the number of records returned
ExtraFlags allows extra functionality, as listed below:
if contains | Description |
---|---|
AreaCode=S | then gets all in list with AreaCode is "S", this will be sorted by Postcode. nopins should be 10000, and Paging is not available WithinKm is ignored also see example 5 |
SORTBYYOURDATA6 | When using AreaCode, Sort results by YourData6 instead of PostCode |
Each value should be separated by comma
GoogleMapCode returns code for displaying result in Google map. This should be included in your page header.
Example code returned:
<script src="http://maps.google.com/maps?file=api&v=2&key=abcdefg"
type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
Javascript to give map for nearest store found...
//]]>
</script>
Code to display map on your page is:
<body onload="load()" onunload="GUnload()">
<div id="map" style="width: 500px; height: 300px"></div>
</body>
Simple Map Example, no pins:
Nearest_List_HTML_TO_Display=GetNearestToPostCodeTemplateAndMap(0,1,99,"DEMO",_
ErrorDesc,"PE132XQ",50,10,1,NumberOfRecords,_
"","GoogleMapKey",16,true,true,true,"","","","",_
"","","","",GoogleMapCode)
Simple Map Example, with pins, with details:
Nearest_List_HTML_TO_Display=GetNearestToPostCodeTemplateAndMap(0,1,99,"DEMO",_
ErrorDesc,"PE132XQ",50,10,1,NumberOfRecords,_
"","GoogleMapKey",16,true,true,true,_
"www.mysite.com/pins","www.mysite.com/pins/target.png",_
"_yourdata6_",_
"<b>Store: _yourdata1_<b><br>_yourdata3_<br><a href”_yourdata2_”>Click here for more information</a>",_
"","","","",GoogleMapCode)