1Fetch Client API

<back to all web services

CalculateDistance

The following routes are available for this service:
POST/calculatedistanceCalculate the distance between a list of coordinates
"use strict";
export class ApiServiceRequest {
    /** @param {{ApiKey?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description The API Key required for authentication */
    ApiKey;
}
export class ApiServiceResponse {
    /** @param {{Description?:string,Heading?:string,WasSuccessful?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Information about the response. */
    Description;
    /**
     * @type {string}
     * @description Heading or summary of the response. */
    Heading;
    /**
     * @type {boolean}
     * @description Did the intended operation for this response complete successfully? */
    WasSuccessful;
}
export class CalculateDistanceResponse extends ApiServiceResponse {
    /** @param {{PointDistances?:number[],TotalDistance?:number,Description?:string,Heading?:string,WasSuccessful?:boolean}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /**
     * @type {number[]}
     * @description A list of the distances between each point, returned in order that the points were provided */
    PointDistances;
    /**
     * @type {number}
     * @description The total distance between all points */
    TotalDistance;
}
export class Coordinate {
    /** @param {{Latitude?:number,Longitude?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {number}
     * @description The Latitude */
    Latitude;
    /**
     * @type {number}
     * @description The Longitude */
    Longitude;
}
export class CalculateDistance extends ApiServiceRequest {
    /** @param {{Coordinates?:Coordinate[],ApiKey?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /**
     * @type {Coordinate[]}
     * @description Array of coordinates */
    Coordinates;
}

JavaScript CalculateDistance DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + 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: api.1fetch.co.za 
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>