Returns multiple categories that are respecting the given search condition. Further information about defining a search condition can be found in the Search Example.

Request

POST https://gambio-shop.de/shop1/api.php/v2/categories/search

Request body

Read-only parameters such as a resource's ID field are to be omitted.

The request body takes a SearchCondition resource, containing the following writable properties:

{
    "search": [
        {
            "match": {
                "database_table.database_attribute": "some value"
            }
        },
        {
            "match": {
                "another_database_table.another_database_attribute": "some other value"
            }
        }
    ]
}
{
    "search": [
        "string"
    ]
}

Properties

Name Type Description Additional
search[] array of string

Contains the search condition. Further information can be found on the Search Example page.

Required

Authorization

In order to provide the authentication, you must insert the Basic Auth inside the HTTP header. The Basic Auth is an encrypted base64 string that holds the following content: admin@shop.de:12345 where the structure is as follows: username:password.

An example header would look as follows:

Authorization: Basic YWRtaW5Ac2hvcC5kZToxMjM0NQ==

This request requires the use of one of following authorisation methods: BASIC .

Response

The following HTTP status codes may be returned, optionally with a response resource.

Status code Description Resource
200 OK

Upon success, returns an array of categories

GXCategory

Database attributes and tables available for search

For an overview of how searching works with the Gambio GX3 API, please refer to the search example.

This endpoint provides the following list of database attributes and tables to search:

  • categories:
    • categories_id
    • categories_image
    • parent_id
    • categories_status
    • categories_template
    • group_permission_0
    • group_permission_1
    • group_permission_2
    • group_permission_3
    • listing_template
    • sort_order
    • products_sorting
    • products_sorting2
    • date_added
    • last_modified
    • categories_icon
    • categories_icon_w
    • categories_icon_h
    • group_ids
    • gm_show_attributes
    • gm_show_graduated_prices
    • gm_show_qty
    • gm_priority
    • gm_changefreq
    • gm_sitemap_entry
    • gm_show_qty_info
    • show_sub_categories
    • show_sub_categories_images
    • show_sub_categories_names
    • show_sub_products
    • view_mode_tiled
    • feature_mode
    • feature_display_mode
    • show_category_filter
  • categories_description:
    • categories_id
    • language_id
    • categories_name
    • categories_heading_title
    • categories_description
    • categories_meta_title
    • categories_meta_description
    • categories_meta_keywords
    • gm_alt_text
    • gm_url_keywords

Example Snippets

Here are some example implementations for this operation.

curl --request POST \ --url https://gambio-shop.de/shop1/api.php/v2/categories/search \ --header 'accept: application/json' \ --header 'authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json' \ --data '{"search":[""]}'
wget --quiet \ --method POST \ --header 'accept: application/json' \ --header 'content-type: application/json' \ --header 'authorization: Basic REPLACE_BASIC_AUTH' \ --body-data '{"search":[""]}' \ --output-document

echo '{"search":[""]}' | \ http POST https://gambio-shop.de/shop1/api.php/v2/categories/search \ accept:application/json \ authorization:'Basic REPLACE_BASIC_AUTH' \ content-type:application/json
HttpResponse response = Unirest.post("https://gambio-shop.de/shop1/api.php/v2/categories/search") .header("accept", "application/json") .header("content-type", "application/json") .header("authorization", "Basic REPLACE_BASIC_AUTH") .body("{\"search\":[\"\"]}") .asString();
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"search\":[\"\"]}"); Request request = new Request.Builder() .url("https://gambio-shop.de/shop1/api.php/v2/categories/search") .post(body) .addHeader("accept", "application/json") .addHeader("content-type", "application/json") .addHeader("authorization", "Basic REPLACE_BASIC_AUTH") .build();

Response response = client.newCall(request).execute();

var client = new RestClient("https://gambio-shop.de/shop1/api.php/v2/categories/search"); var request = new RestRequest(Method.POST); request.AddHeader("accept", "application/json"); request.AddHeader("content-type", "application/json"); request.AddHeader("authorization", "Basic REPLACE_BASIC_AUTH"); request.AddParameter("application/json", "{\"search\":[\"\"]}", ParameterType.RequestBody); IRestResponse response = client.Execute(request);
var http = require("https");

var options = { "method": "POST", "hostname": "gambio-shop.de", "port": null, "path": "/shop1/api.php/v2/categories/search", "headers": {

"accept": "application/json",
"content-type": "application/json",
"authorization": "Basic REPLACE_BASIC_AUTH"

} };

var req = http.request(options, function (res) { var chunks = [];

res.on("data", function (chunk) {

chunks.push(chunk);

});

res.on("end", function () {

var body = Buffer.concat(chunks);
console.log(body.toString());

}); });

req.write(JSON.stringify({search: ['']})); req.end();

var request = require("request");

var options = { method: 'POST', url: 'https://gambio-shop.de/shop1/api.php/v2/categories/search', headers: {

accept: 'application/json',
'content-type': 'application/json',
authorization: 'Basic REPLACE_BASIC_AUTH'

}, body: {search: ['']}, json: true };

request(options, function (error, response, body) { if (error) throw new Error(error);

console.log(body); });

var unirest = require("unirest");

var req = unirest("POST", "https://gambio-shop.de/shop1/api.php/v2/categories/search");

req.headers({ "accept": "application/json", "content-type": "application/json", "authorization": "Basic REPLACE_BASIC_AUTH" });

req.type("json"); req.send({ "search": [

"<ADD STRING VALUE>"

] });

req.end(function (res) { if (res.error) throw new Error(res.error);

console.log(res.body); });

var data = JSON.stringify({ "search": [

"<ADD STRING VALUE>"

] });

var xhr = new XMLHttpRequest(); xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () { if (this.readyState === this.DONE) {

console.log(this.responseText);

} });

xhr.open("POST", "https://gambio-shop.de/shop1/api.php/v2/categories/search"); xhr.setRequestHeader("accept", "application/json"); xhr.setRequestHeader("content-type", "application/json"); xhr.setRequestHeader("authorization", "Basic REPLACE_BASIC_AUTH");

xhr.send(data);

var settings = { "async": true, "crossDomain": true, "url": "https://gambio-shop.de/shop1/api.php/v2/categories/search", "method": "POST", "headers": {

"accept": "application/json",
"content-type": "application/json",
"authorization": "Basic REPLACE_BASIC_AUTH"

}, "processData": false, "data": "{\"search\":[\"\"]}" }

$.ajax(settings).done(function (response) { console.log(response); });

<?php

$curl = curl_init();

curl_setopt_array($curl, array( CURLOPT_URL => "https://gambio-shop.de/shop1/api.php/v2/categories/search", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "{\"search\":[\"\"]}", CURLOPT_HTTPHEADER => array(

"accept: application/json",
"authorization: Basic REPLACE_BASIC_AUTH",
"content-type: application/json"

), ));

$response = curl_exec($curl); $err = curl_error($curl);

curl_close($curl);

if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }

<?php

$request = new HttpRequest(); $request->setUrl('https://gambio-shop.de/shop1/api.php/v2/categories/search'); $request->setMethod(HTTP_METH_POST);

$request->setHeaders(array( 'accept' => 'application/json', 'content-type' => 'application/json', 'authorization' => 'Basic REPLACE_BASIC_AUTH' ));

$request->setBody('{"search":[""]}');

try { $response = $request->send();

echo $response->getBody(); } catch (HttpException $ex) { echo $ex; }

<?php

$client = new http\Client; $request = new http\Client\Request;

$body = new http\Message\Body; $body->append('{"search":[""]}');

$request->setRequestUrl('https://gambio-shop.de/shop1/api.php/v2/categories/search'); $request->setRequestMethod('POST'); $request->setBody($body);

$request->setHeaders(array( 'accept' => 'application/json', 'content-type' => 'application/json', 'authorization' => 'Basic REPLACE_BASIC_AUTH' ));

$client->enqueue($request)->send(); $response = $client->getResponse();

echo $response->getBody();

import http.client

conn = http.client.HTTPSConnection("gambio-shop.de")

payload = "{\"search\":[\"\"]}"

headers = {

'accept': "application/json",
'content-type': "application/json",
'authorization': "Basic REPLACE_BASIC_AUTH"
}

conn.request("POST", "/shop1/api.php/v2/categories/search", payload, headers)

res = conn.getresponse() data = res.read()

print(data.decode("utf-8"))

import requests

url = "https://gambio-shop.de/shop1/api.php/v2/categories/search"

payload = "{\"search\":[\"\"]}" headers = {

'accept': "application/json",
'content-type': "application/json",
'authorization': "Basic REPLACE_BASIC_AUTH"
}

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)

require 'uri' require 'net/http' require 'openssl'

url = URI("https://gambio-shop.de/shop1/api.php/v2/categories/search")

http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url) request["accept"] = 'application/json' request["content-type"] = 'application/json' request["authorization"] = 'Basic REPLACE_BASIC_AUTH' request.body = "{\"search\":[\"\"]}"

response = http.request(request) puts response.read_body

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); curl_easy_setopt(hnd, CURLOPT_URL, "https://gambio-shop.de/shop1/api.php/v2/categories/search");

struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "accept: application/json"); headers = curl_slist_append(headers, "content-type: application/json"); headers = curl_slist_append(headers, "authorization: Basic REPLACE_BASIC_AUTH"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"search\":[\"\"]}");

CURLcode ret = curl_easy_perform(hnd);

package main

import (

"fmt"
"strings"
"net/http"
"io/ioutil"

)

func main() {

url := "https://gambio-shop.de/shop1/api.php/v2/categories/search"

payload := strings.NewReader("{\"search\":[\"<ADD STRING VALUE>\"]}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("accept", "application/json")
req.Header.Add("content-type", "application/json")
req.Header.Add("authorization", "Basic REPLACE_BASIC_AUTH")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)

fmt.Println(res)
fmt.Println(string(body))

}

#import

NSDictionary *headers = @{ @"accept": @"application/json",

                       @"content-type": @"application/json",
                       @"authorization": @"Basic REPLACE_BASIC_AUTH" };

NSDictionary *parameters = @{ @"search": @[ @"" ] };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://gambio-shop.de/shop1/api.php/v2/categories/search"]

                                                   cachePolicy:NSURLRequestUseProtocolCachePolicy
                                               timeoutInterval:10.0];

[request setHTTPMethod:@"POST"]; [request setAllHTTPHeaderFields:headers]; [request setHTTPBody:postData];

NSURLSession *session = [NSURLSession sharedSession]; NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request

                                        completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                            if (error) {
                                                NSLog(@"%@", error);
                                            } else {
                                                NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                NSLog(@"%@", httpResponse);
                                            }
                                        }];

[dataTask resume];

import Foundation

let headers = [ "accept": "application/json", "content-type": "application/json", "authorization": "Basic REPLACE_BASIC_AUTH" ] let parameters = ["search": [""]] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://gambio-shop.de/shop1/api.php/v2/categories/search")! as URL,

                                    cachePolicy: .useProtocolCachePolicy,
                                timeoutInterval: 10.0)

request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data

let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) {

print(error)

} else {

let httpResponse = response as? HTTPURLResponse
print(httpResponse)

} })

dataTask.resume()

open Cohttp_lwt_unix open Cohttp open Lwt

let uri = Uri.of_string "https://gambio-shop.de/shop1/api.php/v2/categories/search" in let headers = Header.add_list (Header.init ()) [ ("accept", "application/json"); ("content-type", "application/json"); ("authorization", "Basic REPLACE_BASIC_AUTH"); ] in let body = Cohttp_lwt_body.of_string "{\"search\":[\"\"]}" in

Client.call ~headers ~body `POST uri

= fun (res, body_stream) -> (* Do stuff with the result *)