Locations | Get Locations | Filter By Location IDs

API Guide: Filtering Locations by Location ID(s)

This document provides the details for making an API call to retrieve locations by filtering by location ID(s).

Get Locations by Location ID

This API call fetches location data. It can be filtered by using a single lid (location ID) or multiple location_id through the IN[] parameter.

Understanding Location ID Filtering

This functionality allows for the retrieval of specific locations based on their unique IDs. You can filter for a single location using lid or for multiple locations using IN[] with multiple lid values.

How to Use Location ID Filter

  • Single Location ID: To filter for a single location, include lid=integer in your API call, where integer is the location ID.
  • Multiple Location IDs: To filter for multiple locations, use IN=array(integer,integer, ...) for each location ID you wish to include in the filter. Insert location_id IN=array(lid,lid, ...) for each additional location ID.

Use Cases for Location ID Filtering

  • Specific Location Retrieval: Retrieve details for a specific location or a set of locations by their IDs.
  • Geographical Analysis: Analyze specific locations for planning, marketing, or logistical purposes.
  • Data Analysis: Analyze specific locations based on their IDs for demographic, environmental, or urban planning studies.

For detailed instructions on how to format your request and handle the API responses, please refer to the API documentation.

Call Examples in Different Languages

Here's an example of making a POST request to https://easycms.fi/public_api/get_locations with different programming languages:


curl -X POST 'https://easycms.fi/public_api/get_locations' \
-H 'Authorization1: TOKEN' \
-d 'username=USERNAME&password=PASSWORD&account=ACCOUNT_ID' \
-d 'IN[]=9' \
-d 'IN[]=13'

$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => "https://easycms.fi/public_api/get_locations",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POST => true,
  CURLOPT_POSTFIELDS => http_build_query(['username' => 'USERNAME', 'password' => 'PASSWORD', 'account' => 'ACCOUNT_ID', 'IN' => [9, 13]]),
  CURLOPT_HTTPHEADER => array("Authorization1: TOKEN"),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;

import requests
url = "https://easycms.fi/public_api/get_locations"
headers = {"Authorization1": "TOKEN"}
payload = {'username': 'USERNAME', 'password': 'PASSWORD', 'account': 'ACCOUNT_ID', 'IN': [9, 13]}
response = requests.post(url, headers=headers, data=payload)
print(response.text)

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://easycms.fi/public_api/get_locations"))
    .headers("Authorization1", "TOKEN")
    .POST(HttpRequest.BodyPublishers.ofString("username=USERNAME&password=PASSWORD&account=ACCOUNT_ID&IN[]=9&IN[]=13"))
    .build();
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());

const https = require('https');
const data = new URLSearchParams({ 
  username: 'USERNAME', 
  password: 'PASSWORD', 
  account: 'ACCOUNT_ID',
  'IN[]': [9, 13]
}).toString();
const options = {
  hostname: 'prolasku.fi',
  path: '/public_api/get_locations',
  method: 'POST',
  headers: {
    'Authorization1': 'TOKEN',
    'Content-Type': 'application/x-www-form-urlencoded',
    'Content-Length': data.length
  }
};
const req = https.request(options, (res) => {
  let data = '';
  res.on('data', (chunk) => { data += chunk; });
  res.on('end', () => { console.log(data); });
});
req.on('error', (e) => { console.error(e); });
req.write(data);
req.end();

import React, { useEffect, useState } from 'react';
function App() {
  const [productData, setProductData] = useState('');
  useEffect(() => {
    const fetchData = async () => {
      try {
        const response = await fetch('https://easycms.fi/public_api/get_locations', {
          method: 'POST',
          headers: {'Authorization1': 'TOKEN', 'Content-Type': 'application/x-www-form-urlencoded'},
          body: new URLSearchParams({username: 'USERNAME', password: 'PASSWORD', account: 'ACCOUNT_ID', 'IN[]': [9, 13]}).toString()
        });
        const data = await response.text();
        setProductData(data);
      } catch (error) {
        console.error(error);
      }
    };
    fetchData();
  }, []);
  return (
{productData}
); } export default App;

// Kotlin example requires using a third-party library like OkHttp for POST requests with a body
// Kotlin Example using OkHttp for POST request
import okhttp3.OkHttpClient
import okhttp3.FormBody
import okhttp3.Request

fun main() {
    val client = OkHttpClient()

    val formBody = FormBody.Builder()
        .add("username", "USERNAME")
        .add("password", "PASSWORD")
        .add("account", "ACCOUNT_ID")
        .add("IN[]", "9")
        .add("IN[]", "13")
        .build()

    val request = Request.Builder()
        .url("https://easycms.fi/public_api/get_locations")
        .post(formBody)
        .addHeader("Authorization1", "TOKEN")
        .build()

    client.newCall(request).execute().use { response ->
        if (!response.isSuccessful) throw IOException("Unexpected code $response")

        println(response.body?.string())
    }
}

using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
    static async Task Main()
    {
        var token = "TOKEN";
        var content = new FormUrlEncodedContent(new[]
        {
            new KeyValuePair("username", "USERNAME"),
            new KeyValuePair("password", "PASSWORD"),
            new KeyValuePair("account", "ACCOUNT_ID"),
            new KeyValuePair("IN[]", "9"),
            new KeyValuePair("IN[]", "13")
        });
        using (var httpClient = new HttpClient())
        {
            httpClient.DefaultRequestHeaders.Add("Authorization1", token);
            var response = await httpClient.PostAsync("https://easycms.fi/public_api/get_locations", content);
            if (response.IsSuccessStatusCode)
            {
                var responseData = await response.Content.ReadAsStringAsync();
                Console.WriteLine(responseData);
            }
            else
            {
                Console.WriteLine($"Error: {response.StatusCode}");
            }
        }
    }
}