Shelves | Get Shelves | Filter By Shelf IDs

API Guide: Filtering Shelves by Shelf ID(s)

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

Get Shelves by Shelf ID

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

Understanding Shelf ID Filtering

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

How to Use Shelf ID Filter

  • Single Shelf ID: To filter for a single shelf, include sid=integer in your API call, where integer is the shelf ID.
  • Multiple Shelf IDs: To filter for multiple shelves, use IN=array(integer,integer, ...) for each shelf ID you wish to include in the filter. Insert shelf_id IN=array(sid,sid, ...) for each additional shelf ID.

Use Cases for Shelf ID Filtering

  • Specific Shelf Retrieval: Retrieve details for a specific shelf or a set of shelves by their IDs.
  • Inventory Management: Manage and organize your storage or display units by filtering specific shelves.
  • Data Analysis: Analyze specific shelves based on their IDs for inventory, usage, or spatial planning purposes.

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 get_shelves with different programming languages:


curl -X POST 'https://easycms.fi/public_api/get_shelves' \
-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_shelves",
  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_shelves"
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_shelves"))
    .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_shelves',
  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_shelves', {
          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_shelves")
        .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_shelves", content);
            if (response.IsSuccessStatusCode)
            {
                var responseData = await response.Content.ReadAsStringAsync();
                Console.WriteLine(responseData);
            }
            else
            {
                Console.WriteLine($"Error: {response.StatusCode}");
            }
        }
    }
}