1

Sélectionnez votre région pour vérifier les prix dans votre devise, le taux de TVA et les frais de livraison.

Endpoint

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

Renvoie la définition complète du produit pour le symbole (SKU) spécifié : noms dans différentes langues, hiérarchie du catalogue, paramètres techniques, attributs de configuration, prix, écotaxe, accessoires et commentaires. L’endpoint est public – aucun en-tête Authorization ni jeton n’est requis.

Request

Headers
  • Accept string
    Possible values: application/json

    Type de réponse attendu.

    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

    Symbole du produit (SKU).

  • IndexSAP string Required

    Index SAP au format texte (avec zéros non significatifs).

  • Name array<object>

    Noms du produit dans différentes langues.

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

    Code de langue (deux lettres, par exemple PL, EN, DE).

  • Name[].Value string Required

    Nom du produit dans la langue donnée.

  • Hierarchy object

    Arborescence hiérarchique du catalogue dans lequel se trouve le produit (récursif Child -> Child -> ...).

  • Hierarchy.Child object

    Nœud hiérarchique subordonné (récursivement le même schéma : Child, Hierarchy_Id, Hierarchy_Symbol, Description).

  • Hierarchy.Child.Hierarchy_Id string

    ID du nœud dans la hiérarchie (renvoyé sous forme de texte, par exemple "07").

  • Hierarchy.Child.Hierarchy_Symbol string

    Symbole du nœud dans la hiérarchie (par exemple h1, h2, etc.).

  • Hierarchy.Child.Description array<object>

    Description du nœud dans différentes langues.

  • Parameters object

    Paramètres techniques de base du produit.

  • Parameters.Width number

    Largeur en mm (ou cm - selon le système source).

  • Parameters.Lenght number

    Longueur en mm (le champ dans l’API s’appelle "Lenght").

  • Parameters.Height number

    Hauteur en mm.

  • Parameters.Weight number

    Poids en kg.

  • Parameters.Volume_of_packages number

    Volume des colis (par exemple, m³).

  • Parameters.Number_of_packages integer

    Nombre de colis.

  • Parameters.AdditionalDimensions array<object>

    Dimensions supplémentaires (par exemple, plage de hauteur).

  • Parameters.AdditionalDimensions[].Width number

    Largeur supplémentaire.

  • Parameters.AdditionalDimensions[].Lenght number

    Longueur supplémentaire.

  • Parameters.AdditionalDimensions[].Height number

    Hauteur supplémentaire.

  • Parameters.AdditionalDimensions[].Dimension_Type string

    Type de dimension supplémentaire (par exemple, "ZW").

  • Parameters.AdditionalDimensions[].Dimension_Desc string

    Description de la dimension supplémentaire.

  • Attributes array<object>

    Liste des attributs de configuration du produit (par exemple, couleur du plateau, type de pieds).

  • Attributes[].AttributeId string

    Identifiant de l’attribut (renvoyé sous forme de texte, par exemple "1").

  • Attributes[].Symbol string

    Symbole de l’attribut (par exemple, B1, C1, etc.).

  • Attributes[].Name array<object>

    Noms de l’attribut dans différentes langues.

  • Attributes[].Values_groups array<object>

    Groupes de valeurs (options disponibles pour l’attribut).

  • Attributes[].Values_groups[].GroupID integer

    Identifiant du groupe de valeurs.

  • Attributes[].Values_groups[].Description string

    Description du groupe de valeurs (par exemple "Standard colours").

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

    Noms des groupes de valeurs dans différentes langues.

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

    Liste des valeurs spécifiques pouvant être sélectionnées (par exemple, couleurs, tissus).

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

    Code à 4 chiffres de la valeur au format texte (par exemple, "0172").

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

    Noms de la valeur donnée dans différentes langues.

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

    Informations supplémentaires (par exemple, description technique) dans différentes langues.

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

    Informations sur la gradation/l’ordre ; dans la pratique, tableau souvent vide [].

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

    Liste des suppléments pour une valeur donnée (structure comme Price : Price, Currency, Currency_symbol, PriceList_symbol, IsCommon).

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

    Supplément spécial (valeur numérique).

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

    Indicateur : valeur disponible uniquement pour les clients MDD (0 - non, 1 - oui).

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

    Description originale du groupe dans le système source.

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

    Identifiant original du groupe dans le système source.

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

    Jours supplémentaires nécessaires à la réalisation avec cette configuration.

  • Attributes[].CouplingWithAttribute string|null

    Lien vers un autre attribut (identifiant sous forme de chaîne ou vide s’il n’y en a pas).

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

    L’attribut est-il disponible dans les configurations standard (0 - non, 1 - oui).

    Default value: 0
  • Price array<object>

    Liste des prix du produit dans différents tarifs et devises.

  • Price[].Price number

    Prix numérique.

  • Price[].Currency string

    Code devise au format ISO 4217 (par exemple EUR, PLN).

  • Price[].Currency_symbol string

    Symbole devise (par exemple €, zł).

  • Price[].PriceList_symbol string

    Symbole liste de prix.

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

    Le prix est-il commun (0 - non, 1 - oui).

    Default value: 0
  • Ecotax number

    Valeur écotaxe (par exemple pourcentage ou montant, selon le système).

  • Comments string|null

    Commentaires textuels (si disponibles).

  • LinxComments array<object>

    Commentaires Linx dans différentes langues.

  • LinxComments[].LangSymbol string

    Code de langue du commentaire.

  • LinxComments[].Value string

    Contenu du commentaire dans la langue donnée.

  • AccessoriesGroups array<object>

    Groupes d’accessoires associés au produit.

  • AccessoriesGroups[].GroupID integer

    Identifiant du groupe d’accessoires.

  • AccessoriesGroups[].Description string

    Description du groupe d’accessoires.

  • AccessoriesGroups[].Accessories array<object>

    Liste des accessoires du groupe.

  • AccessoriesGroups[].Accessories[].Symbol string

    Symbole de l’accessoire.

  • AccessoriesGroups[].Accessories[].Quantity integer

    Quantité par défaut de l’accessoire.

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

    Définitions de l’accessoire (paramètres, valeurs des attributs).

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

    Numéro de définition de l’accessoire.

  • PriceGroup string

    Symbole du groupe de prix du produit (par exemple "10").

  • IgnoreSurcharges integer
    Possible values: 0 1

    Indicateur de suppression des suppléments (0 - non, 1 - oui).

    Default value: 0
  • Gradation integer

    Valeur de gradation au niveau du produit.

    Default value: 0
  • ExecutionLog array<object>

    Journal du temps d’exécution des différentes étapes côté API.

  • ExecutionLog[].desc string

    Description de l’étape dans le journal d’exécution.

  • ExecutionLog[].execution_time number

    Durée d’exécution de l’étape (par exemple en ms).

    Default value: 0
  • ExecutionFinishTime string

    Horodatage de la fin de la génération de la réponse (format datetime).

JSON
{
  "status": 500,
  "error": "server_error",
  "message": "Une erreur serveur s'est produite."
}

Implementation

Exemples d'appel de l’endpoint (GET anonyme, sans en-tête Authorization) pour https://external-api.mddlinx.com/externalapi/configurator/{symbol}.

PHP
<?php
declare(strict_types=1);

$symbol = 'MIT1RP'; // symbole du produit

$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);
  }
}