| POST | /calculatedistance | Calculate the distance between a list of coordinates |
|---|
export class ApiServiceRequest implements IServiceRequest, IHasApiKey
{
/** @description The API Key required for authentication */
// @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)
public ApiKey: string;
public constructor(init?: Partial<ApiServiceRequest>) { (Object as any).assign(this, init); }
}
export class ApiServiceResponse implements IServiceResponse
{
/** @description Information about the response. */
// @ApiMember(Description="Information about the response.", IsRequired=true)
public Description: string;
/** @description Heading or summary of the response. */
// @ApiMember(Description="Heading or summary of the response.", IsRequired=true)
public Heading: string;
/** @description Did the intended operation for this response complete successfully? */
// @ApiMember(DataType="boolean", Description="Did the intended operation for this response complete successfully?", IsRequired=true)
public WasSuccessful: boolean;
public constructor(init?: Partial<ApiServiceResponse>) { (Object as any).assign(this, init); }
}
export class CalculateDistanceResponse extends ApiServiceResponse
{
/** @description A list of the distances between each point, returned in order that the points were provided */
// @ApiMember(Description="A list of the distances between each point, returned in order that the points were provided")
public PointDistances: number[];
/** @description The total distance between all points */
// @ApiMember(Description="The total distance between all points")
public TotalDistance: number;
public constructor(init?: Partial<CalculateDistanceResponse>) { super(init); (Object as any).assign(this, init); }
}
export class Coordinate
{
/** @description The Latitude */
// @ApiMember(Description="The Latitude", IsRequired=true)
public Latitude: number;
/** @description The Longitude */
// @ApiMember(Description="The Longitude", IsRequired=true)
public Longitude: number;
public constructor(init?: Partial<Coordinate>) { (Object as any).assign(this, init); }
}
export class CalculateDistance extends ApiServiceRequest implements ILogRequest
{
/** @description Array of coordinates */
// @ApiMember(Description="Array of coordinates", IsRequired=true)
public Coordinates: Coordinate[];
public constructor(init?: Partial<CalculateDistance>) { super(init); (Object as any).assign(this, init); }
}
TypeScript CalculateDistance DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /calculatedistance HTTP/1.1
Host: 1fetch.api.client.prod.86degrees.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CalculateDistance xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WebService.ClientServiceModel">
<ApiKey xmlns="http://schemas.datacontract.org/2004/07/WebService.ClientServiceModel.Base">String</ApiKey>
<Coordinates>
<Coordinate>
<Latitude>0</Latitude>
<Longitude>0</Longitude>
</Coordinate>
</Coordinates>
</CalculateDistance>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<CalculateDistanceResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WebService.ClientServiceModel">
<Description xmlns="http://schemas.datacontract.org/2004/07/WebService.ClientServiceModel.Base">String</Description>
<Heading xmlns="http://schemas.datacontract.org/2004/07/WebService.ClientServiceModel.Base">String</Heading>
<WasSuccessful xmlns="http://schemas.datacontract.org/2004/07/WebService.ClientServiceModel.Base">false</WasSuccessful>
<PointDistances xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:decimal>0</d2p1:decimal>
</PointDistances>
<TotalDistance>0</TotalDistance>
</CalculateDistanceResponse>