If the username does not exist in the MyAlerts database you will need to call the AddLocation method to add the user.
AddLocation
Input Parameters
The AddLocation method needs the following parameters:
ClientId
This is the id for the client that was returned by the CreateSessionKey method.
SessionKey
This is the SessionKey for the client that was returned by the CreateSessionKey method.
Returned Parameters
The following parameters will be returned:
<CreateUserResult> <Error> <Code>string</Code> <Description>string</Description> </Error> <UserId>int</UserId> <Success>boolean</Success </CreateUserResult>
Error- Code / Description
An error code and description if the call to the web service is unsuccessful and the Success if False.
1001 – Invalid Session key provided
1005 – Email address already exists
1006 – Username already exists
1007 – Error creating user
1023 – Required fields incomplete
UserId
This is the UserId that has been generated for the supplied Username in the MyAlerts database and will only be returned if the Success is True.
Success
This will be either True or False. If False an error message will be provided in the Error result, if True the UserId will be provided.
Code Examples
C#
Add a web reference to the usermanager.asmx web service using the Visual Studio IDE.
// Explanation of webservice parameters // [ClientId] and [SessionKey] are returned from the GetSessionKey method (see above) // [TypeId] - This is always set to 1 // [Geography] - X,Y points - These can be derived from the AstunLocationLookup table and // take the form "POINT(502582.58412372, 159186.49997736)" // [UniqueId] - This corresponds with the UniqueId on the AstunLocationLookup table UserManager.LocationAddResult res = umws.AddLocation( [ClientId], "[SessionKey]", [UserId], [TypeId], "[Geography], [UniqueId]); // LocationId is useful for subsequent calls such as SetLocationValues and SetUserLayerGroup string loc = res.LocationId; if (res.Success) Response.Write("Success"); else Response.Write("Fail");
Python
import suds url = "http://[PATH TO WEBSERVICE]/usermanager.asmx?wsdl" client = suds.client.Client(url) result = client.service.AddLocation(, [ClientId], "[SessionKey]" , [UserId], [TypeId], [Geography], [UniqueId]) loc = result.LocationId if result.Success: print "Success" else: print "Fail"