Categories | Get Categories | Filter By category IDs

API Guide: Filtering Product Categories by Category ID(s)

This document provides the details for making an API call to retrieve product categories by filtering by category ID(s).

Get Categories by Category ID

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

Understanding Category ID Filtering

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

How to Use Category ID Filter

  • Single Category ID: To filter for a single category, include cid=integer in your API call, where integer is the category ID.
  • Multiple Category IDs: To filter for multiple categories, use IN=array(integer,integer, ...) for each category ID you wish to include in the filter. insert cids IN=array(cid,cid, ...) for each additional category ID.

Use Cases for Category ID Filtering

  • Specific Category Retrieval: Retrieve details for a specific category or a set of categories by their IDs.
  • Catalog Management: Manage and organize your product categories by filtering specific items.
  • Data Analysis: Analyze specific categories based on their IDs for inventory, sales, or marketing 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 https://easycms.fi/public_api/get_categories with different programming languages:


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

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

import requests
url = "https://easycms.fi/public_api/get_categories"
headers = {"Authorization1": "TOKEN"}
payload = {'username': 'USERNAME', 'password': 'PASSWORD', 'account': 'ACCOUNT_ID', 'IN': [117, 118]}
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_categories"))
    .headers("Authorization1", "TOKEN")
    .POST(HttpRequest.BodyPublishers.ofString("username=USERNAME&password=PASSWORD&account=ACCOUNT_ID&IN[]=117&IN[]=118"))
    .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[]': [117, 118]
}).toString();
const options = {
  hostname: 'prolasku.fi',
  path: '/public_api/get_categories',
  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_categories', {
          method: 'POST',
          headers: {'Authorization1': 'TOKEN', 'Content-Type': 'application/x-www-form-urlencoded'},
          body: new URLSearchParams({username: 'USERNAME', password: 'PASSWORD', account: 'ACCOUNT_ID', 'IN[]': [117, 118]}).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[]", "117")
        .add("IN[]", "118")
        .build()

    val request = Request.Builder()
        .url("https://easycms.fi/public_api/get_categories")
        .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[]", "117"),
            new KeyValuePair("IN[]", "118")
        });
        using (var httpClient = new HttpClient())
        {
            httpClient.DefaultRequestHeaders.Add("Authorization1", token);
            var response = await httpClient.PostAsync("https://easycms.fi/public_api/get_categories", content);
            if (response.IsSuccessStatusCode)
            {
                var responseData = await response.Content.ReadAsStringAsync();
                Console.WriteLine(responseData);
            }
            else
            {
                Console.WriteLine($"Error: {response.StatusCode}");
            }
        }
    }
}