Nie czekaj! Skorzystaj z rat 0% i zaaranżuj swoje wnętrze od razu. Więcej informacji.
1

Wybierz swój region, aby sprawdzić ceny w swojej walucie, stawkę podatku VAT i koszty wysyłki.

Endpoint

GET https://external-api.mddlinx.com/externalapi/configurator/{symbol}

Zwraca kompletną definicję produktu dla podanego symbolu (SKU): nazwy w różnych językach, hierarchię katalogu, parametry techniczne, atrybuty konfiguracyjne, ceny, ecotax, akcesoria oraz komentarze. Endpoint jest publiczny – nie wymaga nagłówka Authorization ani tokenu.

Request

Headers
  • Accept string
    Possible values: application/json

    Oczekiwany typ odpowiedzi.

    Default value: application/json

Response

JSON
{
  "Sku": "MIT1RP",
  "IndexSAP": "000500000581900000",
  "Name": [
    { "LangSymbol": "EN", "Value": "Mito executive desk" },
    { "LangSymbol": "PL", "Value": "Biurko gabinetowe Mito" }
  ],
  "Hierarchy": {
    "Child": {
      "Hierarchy_Id": "07",
      "Hierarchy_Symbol": "h1",
      "Description": [
        { "LangSymbol": "EN", "Value": "MDD" },
        { "LangSymbol": "PL", "Value": "MDD" }
      ],
      "Child": {
        "Hierarchy_Id": "03",
        "Hierarchy_Symbol": "h2",
        "Description": [
          { "LangSymbol": "EN", "Value": "EXECUTIVE FURNITURE" },
          { "LangSymbol": "PL", "Value": "GABINETY" }
        ],
        "Child": {
          "Hierarchy_Id": "78",
          "Hierarchy_Symbol": "h3",
          "Description": [
            { "LangSymbol": "EN", "Value": "MITO" },
            { "LangSymbol": "PL", "Value": "MITO" }
          ],
          "Child": {
            "Hierarchy_Id": "99",
            "Hierarchy_Symbol": "h4",
            "Description": [
              { "LangSymbol": "EN", "Value": "MANAGERIAL DESK" },
              { "LangSymbol": "PL", "Value": "BIURKO MENEDŻERSKIE" }
            ],
            "Child": {
              "Hierarchy_Id": "86",
              "Hierarchy_Symbol": "h5",
              "Description": [
                { "LangSymbol": "EN", "Value": "MANAGERIAL DESK WITH STORAGE" },
                { "LangSymbol": "PL", "Value": "BIURKO Z SZAFKĄ MANAGERSKĄ" }
              ],
              "Child": null
            }
          }
        }
      }
    }
  },
  "Parameters": {
    "Width": 2080,
    "Lenght": 2190,
    "Height": 760,
    "Weight": 359.75,
    "Volume_of_packages": 1.295436,
    "Number_of_packages": 13,
    "AdditionalDimensions": [
      {
        "Width": 2080,
        "Lenght": 2190,
        "Height": 1300,
        "Dimension_Type": "ZW",
        "Dimension_Desc": "Zakres wysokości"
      }
    ]
  },
  "Attributes": [
    {
      "AttributeId": "1",
      "Symbol": "B1",
      "Name": [
        { "LangSymbol": "PL", "Value": "Kolor blatu" },
        { "LangSymbol": "EN", "Value": "Colour of the tabletop" }
      ],
      "Values_groups": [
        {
          "GroupID": 0,
          "Description": "Standard colours",
          "Name": [
            { "LangSymbol": "PL", "Value": "" }
          ],
          "Available_values": [
            {
              "Value": "0172",
              "Name": [
                { "LangSymbol": "PL", "Value": "Dąb bursztynowy" },
                { "LangSymbol": "EN", "Value": "Amber oak" }
              ],
              "AdditionalInfo": [
                { "LangSymbol": "PL", "Value": "" },
                { "LangSymbol": "EN", "Value": "" }
              ],
              "Gradation": [],
              "Surcharge": [],
              "SpecialSurcharge": 0,
              "MDDOnly": 0,
              "OriginalGroupDescription": "MFC / HPL",
              "OriginalGroupId": 500004,
              "DaysToComplete": 0
            }
          ]
        }
      ],
      "CouplingWithAttribute": "",
      "AvailableForStandardConfiguration": 1
    }
  ],
  "Price": [
    {
      "Price": 16500,
      "Currency": "PLN",
      "Currency_symbol": "zł",
      "PriceList_symbol": "Z1",
      "IsCommon": 1
    }
  ],
  "Ecotax": 0.0,
  "Comments": null,
  "LinxComments": [
    {
      "LangSymbol": "EN",
      "Value": "right-side managerial storage; leg + cabinet extension - white or black HPL high gloss"
    },
    {
      "LangSymbol": "PL",
      "Value": "szafka managerska po prawej stronie; noga + dostawka do szafki - biały lub czarny HPL połysk"
    }
  ],
  "AccessoriesGroups": [
    {
      "GroupID": 100016,
      "Description": "Podkładki do biurek",
      "Accessories": [
        {
          "Symbol": "S100",
          "Quantity": 0,
          "Definitions": [
            {
              "DefinitionNo": 1,
              "DefinitionParams": [],
              "DefinitionAttributeValues": []
            }
          ]
        }
      ],
      "Name": [
        { "LangSymbol": "EN", "Value": "Pads for desks" },
        { "LangSymbol": "PL", "Value": "Podkładki do biurek" }
      ]
    }
  ],
  "PriceGroup": "10",
  "IgnoreSurcharges": 0,
  "Gradation": 0,
  "ExecutionLog": [
    { "desc": "sku", "execution_time": 0 },
    { "desc": "parameters", "execution_time": 0 },
    { "desc": "attributes", "execution_time": 0 },
    { "desc": "price", "execution_time": 0 },
    { "desc": "accessories", "execution_time": 0 },
    { "desc": "comments", "execution_time": 0 },
    { "desc": "additional_dimensions", "execution_time": 0 },
    { "desc": "total_execution_time", "execution_time": 0 }
  ],
  "ExecutionFinishTime": "2025-12-01 11:10:22"
}
  • Sku string Required

    Symbol produktu (SKU).

  • IndexSAP string Required

    Index SAP w formacie tekstowym (z wiodącymi zerami).

  • Name array<object>

    Nazwy produktu w różnych językach.

  • Name[].LangSymbol string Required
    Possible values: PL EN DE ES FR IT

    Kod języka w formacie dwuliterowym (np. PL, EN).

  • Name[].Value string Required

    Nazwa produktu w danym języku.

  • Hierarchy object

    Drzewo hierarchii katalogu, w którym znajduje się produkt (rekurencyjne Child -> Child -> ...).

  • Hierarchy.Child object

    Podrzędny węzeł hierarchii (rekurencyjnie ten sam schemat: Child, Hierarchy_Id, Hierarchy_Symbol, Description).

  • Hierarchy.Child.Hierarchy_Id string

    Id węzła w hierarchii (zwracane jako tekst, np. "07").

  • Hierarchy.Child.Hierarchy_Symbol string

    Symbol węzła w hierarchii (np. h1, h2 itd.).

  • Hierarchy.Child.Description array<object>

    Opis węzła w różnych językach.

  • Parameters object

    Podstawowe parametry techniczne produktu.

  • Parameters.Width number

    Szerokość w mm (lub cm - zgodnie z systemem źródłowym).

  • Parameters.Lenght number

    Długość w mm (pole w API nazywa się "Lenght").

  • Parameters.Height number

    Wysokość w mm.

  • Parameters.Weight number

    Waga w kg.

  • Parameters.Volume_of_packages number

    Objętość paczek (np. m³).

  • Parameters.Number_of_packages integer

    Liczba paczek.

  • Parameters.AdditionalDimensions array<object>

    Dodatkowe wymiary (np. zakres wysokości).

  • Parameters.AdditionalDimensions[].Width number

    Dodatkowa szerokość.

  • Parameters.AdditionalDimensions[].Lenght number

    Dodatkowa długość.

  • Parameters.AdditionalDimensions[].Height number

    Dodatkowa wysokość.

  • Parameters.AdditionalDimensions[].Dimension_Type string

    Typ dodatkowego wymiaru (np. "ZW").

  • Parameters.AdditionalDimensions[].Dimension_Desc string

    Opis dodatkowego wymiaru.

  • Attributes array<object>

    Lista atrybutów konfiguracyjnych produktu (np. kolor blatu, typ nóg).

  • Attributes[].AttributeId string

    Identyfikator atrybutu (zwracany jako tekst, np. "1").

  • Attributes[].Symbol string

    Symbol atrybutu (np. B1, C1 itd.).

  • Attributes[].Name array<object>

    Nazwy atrybutu w różnych językach.

  • Attributes[].Values_groups array<object>

    Grupy wartości (dostępne opcje dla atrybutu).

  • Attributes[].Values_groups[].GroupID integer

    Identyfikator grupy wartości.

  • Attributes[].Values_groups[].Description string

    Opis grupy wartości (np. "Standard colours").

  • Attributes[].Values_groups[].Name array<object>

    Nazwy grupy wartości w różnych językach.

  • Attributes[].Values_groups[].Available_values array<object>

    Lista konkretnych wartości możliwych do wyboru (np. kolory, tkaniny).

  • Attributes[].Values_groups[].Available_values[].Value string

    4-cyfrowy kod wartości w formacie tekstowym (np. "0172").

  • Attributes[].Values_groups[].Available_values[].Name array<object>

    Nazwy danej wartości w różnych językach.

  • Attributes[].Values_groups[].Available_values[].AdditionalInfo array<object>

    Dodatkowe informacje (np. opis techniczny) w różnych językach.

  • Attributes[].Values_groups[].Available_values[].Gradation array

    Informacja o gradacji / kolejności; w praktyce często pusta tablica [].

  • Attributes[].Values_groups[].Available_values[].Surcharge array<object>

    Lista dopłat dla danej wartości (struktura jak Price: Price, Currency, Currency_symbol, PriceList_symbol, IsCommon).

  • Attributes[].Values_groups[].Available_values[].SpecialSurcharge number

    Specjalna dopłata (wartość liczbowa).

    Default value: 0
  • Attributes[].Values_groups[].Available_values[].MDDOnly integer
    Possible values: 0 1

    Flaga: wartość dostępna tylko dla klientów MDD (0 - nie, 1 - tak).

    Default value: 0
  • Attributes[].Values_groups[].Available_values[].OriginalGroupDescription string|null

    Oryginalny opis grupy w systemie źródłowym.

  • Attributes[].Values_groups[].Available_values[].OriginalGroupId integer|null

    Oryginalny identyfikator grupy w systemie źródłowym.

  • Attributes[].Values_groups[].Available_values[].DaysToComplete integer|null

    Dodatkowe dni potrzebne na realizację przy tej konfiguracji.

  • Attributes[].CouplingWithAttribute string|null

    Powiązanie z innym atrybutem (identyfikator jako string lub pusty, gdy brak).

  • Attributes[].AvailableForStandardConfiguration integer
    Possible values: 0 1

    Czy atrybut jest dostępny w standardowych konfiguracjach (0 - nie, 1 - tak).

    Default value: 0
  • Price array<object>

    Lista cen produktu w różnych cennikach i walutach.

  • Price[].Price number

    Cena liczbowa.

  • Price[].Currency string

    Kod waluty w formacie ISO 4217 (np. EUR, PLN).

  • Price[].Currency_symbol string

    Symbol waluty (np. €, zł).

  • Price[].PriceList_symbol string

    Symbol cennika.

  • Price[].IsCommon integer
    Possible values: 0 1

    Czy cena jest wspólna (0 - nie, 1 - tak).

    Default value: 0
  • Ecotax number

    Wartość ecotax (np. procent lub kwota, zgodnie z systemem).

  • Comments string|null

    Komentarze tekstowe (jeśli dostępne).

  • LinxComments array<object>

    Komentarze Linx w różnych językach.

  • LinxComments[].LangSymbol string

    Kod języka komentarza.

  • LinxComments[].Value string

    Treść komentarza w danym języku.

  • AccessoriesGroups array<object>

    Grupy akcesoriów powiązane z produktem.

  • AccessoriesGroups[].GroupID integer

    Identyfikator grupy akcesoriów.

  • AccessoriesGroups[].Description string

    Opis grupy akcesoriów.

  • AccessoriesGroups[].Accessories array<object>

    Lista akcesoriów w grupie.

  • AccessoriesGroups[].Accessories[].Symbol string

    Symbol akcesorium.

  • AccessoriesGroups[].Accessories[].Quantity integer

    Domyślna ilość akcesorium.

    Default value: 0
  • AccessoriesGroups[].Accessories[].Definitions array<object>

    Definicje akcesorium (parametry, wartości atrybutów).

  • AccessoriesGroups[].Accessories[].Definitions[].DefinitionNo integer

    Numer definicji akcesorium.

  • PriceGroup string

    Symbol grupy cenowej produktu (np. "10").

  • IgnoreSurcharges integer
    Possible values: 0 1

    Flaga pomijania dopłat (0 - nie, 1 - tak).

    Default value: 0
  • Gradation integer

    Wartość gradacji na poziomie produktu.

    Default value: 0
  • ExecutionLog array<object>

    Log czasu wykonania poszczególnych kroków po stronie API.

  • ExecutionLog[].desc string

    Opis kroku w logu wykonania.

  • ExecutionLog[].execution_time number

    Czas wykonania kroku (np. w ms).

    Default value: 0
  • ExecutionFinishTime string

    Znacznik czasu zakończenia generowania odpowiedzi (format datetime).

JSON
{
  "status": 500,
  "error": "server_error",
  "message": "Wystąpił błąd serwera."
}

Implementation

Przykłady wywołania endpointu (anonimowe GET, bez nagłówka Authorization) dla https://external-api.mddlinx.com/externalapi/configurator/{symbol}.

PHP
<?php
declare(strict_types=1);

$symbol = 'MIT1RP'; // symbol produktu

$endpoint = 'https://external-api.mddlinx.com/externalapi/configurator/' . urlencode($symbol);

$ch = curl_init($endpoint);
curl_setopt_array($ch, [
    CURLOPT_HTTPGET        => true,
    CURLOPT_HTTPHEADER     => [
        'Accept: application/json',
    ],
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 60,
]);

$body  = curl_exec($ch);
$errno = curl_errno($ch);
$error = curl_error($ch);
$http  = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($errno) {
    throw new RuntimeException($error);
}
if ($http < 200 || $http >= 300) {
    throw new RuntimeException('HTTP ' . $http . ': ' . $body);
}

$data = json_decode($body, true, 512, JSON_THROW_ON_ERROR);
print_r($data);
Laravel
<?php
use Illuminate\Support\Facades\Http;

$symbol = 'MIT1RP';

$endpoint = 'https://external-api.mddlinx.com/externalapi/configurator/' . urlencode($symbol);

$response = Http::acceptJson()
    ->timeout(60)
    ->get($endpoint);

if ($response->failed()) {
    throw new RuntimeException('HTTP ' . $response->status() . ': ' . $response->body());
}

$config = $response->json();
print_r($config);
JS
const symbol = 'MIT1RP';
const endpoint = `https://external-api.mddlinx.com/externalapi/configurator/${encodeURIComponent(symbol)}`;

(async () => {
  const res = await fetch(endpoint, {
    method: 'GET',
    headers: {
      'Accept': 'application/json'
    }
  });

  if (!res.ok) {
    throw new Error('HTTP ' + res.status + ': ' + (await res.text()));
  }

  const data = await res.json();
  console.log(data);
})();
Python
import requests
from urllib.parse import quote

symbol   = 'MIT1RP'
endpoint = 'https://external-api.mddlinx.com/externalapi/configurator/' + quote(symbol)

r = requests.get(
    endpoint,
    headers={
        'Accept': 'application/json',
    },
    timeout=60,
)
r.raise_for_status()

print(r.json())
C#
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;

class Program {
  static async Task Main() {
    var symbol   = "MIT1RP";
    var endpoint = "https://external-api.mddlinx.com/externalapi/configurator/" + Uri.EscapeDataString(symbol);

    using var http = new HttpClient();
    http.DefaultRequestHeaders.Accept.ParseAdd("application/json");

    var res  = await http.GetAsync(endpoint);
    var body = await res.Content.ReadAsStringAsync();

    if (!res.IsSuccessStatusCode)
      throw new Exception("HTTP " + (int)res.StatusCode + ": " + body);

    Console.WriteLine(body);
  }
}