Einführung

Was ist eine API?

Der Begriff API ist die Abkürzung für Application Programming Interfaces, auf Deutsch Programmierschnittstelle für Anwendungen. Es handelt sich um eine Reihe von Definitionen und Protokollen, die zum Entwickeln und Integrieren von Software verwendet werden.

Wofür ist diese API gedacht?

Diese API erleichtert es uns, den Kunden von Natural Systems automatisiert Informationen bereitzustellen und Daten von ihnen zu erfassen.

Wir stellen Methoden bereit, um Katalogdaten, Bestand, Maßeinheiten, Preise und Adressen abzurufen.

Darüber hinaus bieten wir die Möglichkeit, Daten zu ändern, etwa Adressen, die Erfassung von Bestellungen oder Angebote.

Wie fange ich an?

Hier ist unsere Basis-URL

https://api.naturalsystems.es/api

Authentifizierung

Wir verwenden API-Keys, um Anfragen zu authentifizieren.

Sie können Ihre API-Keys in Ihrem Benutzerkonto im Bereich für Entwickler einsehen, bearbeiten und löschen.

Ihre API-Keys ermöglichen den Zugriff auf viele Ihrer sensiblen Informationen, bewahren Sie sie deshalb gut geschützt auf. Geben Sie sie nicht in öffentlichen Bereichen wie GitHub oder über unsichere Anfragen preis.

Die Authentifizierung der API erfolgt über den HTTP-Header Authorization per Bearer Token. Als Zugriffstoken dient das Token, das Sie beim Aufruf der Methode /login mit Ihrem API-Key erhalten.

Denken Sie daran: Alle Anfragen müssen über HTTPS erfolgen. Über HTTP schlagen sie fehl.

Brauchen Sie Hilfe mit Ihrem API-Key?

Erzeugen Sie einen API-Key in Ihrem Benutzerprofil

Der Authentifizierungs-Header sollte wie in diesem Beispiel aussehen:

"Authorization: 
    Bearer yJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"

Fehler

Wir verwenden die üblichen HTTP-Statuscodes, um den Erfolg oder das Scheitern einer API-Anfrage anzuzeigen.

Codes im Bereich 2xx zeigen an, dass der Aufruf korrekt funktioniert hat.

Codes im Bereich 4xx stehen für Fehler in den durchgeführten Aufrufen (fehlende Felder, falsche Angaben, nicht authentifizierter Benutzer usw.).

Codes im Bereich 5xx stehen für einen Fehler in der JSON-Syntax des Aufrufs oder, in sehr seltenen Fällen, für einen Verbindungsfehler mit den Servern von Natural Systems.

Falls Sie 5xx-Serverfehler erhalten, können Sie sich an it@naturalsystems.es wenden und den durchgeführten Aufruf sowie den gesendeten Inhalt mitschicken, damit wir das Problem prüfen und nach Möglichkeit eine Lösung finden können.

Übersicht der Fehlercodes

200 - OK. Alles funktioniert wie erwartet.

204 - OK. Alles hat korrekt funktioniert, der Aufruf darf jedoch keinen Inhalt zurückgeben.

400 - Fehler. Fehler bei der Verarbeitung des Aufrufs. Der konkrete Fehler wird als Antwort zurückgegeben.

401 - Nicht autorisiert. Vor der Verbindung wurde keine gültige Authentifizierung durchgeführt.

403 - Verboten. Der API-Key verfügt nicht über die Berechtigungen für diesen Aufruf.

500 - Serverfehler. Etwas ist schiefgelaufen: fehlerhaftes JSON oder Verbindungsfehler mit dem Server (selten)

Login

Führt eine Authentifizierungsanfrage durch: Der API-Key wird geprüft und bei Gültigkeit das Token zurückgegeben, das in allen übrigen Methoden zu verwenden ist.

Das erzeugte Token ist 24 Stunden gültig.

Endpoint:

POST /login

Methode zum Anmelden

Hier zeigen wir einen Beispielaufruf für die Anmeldung:

1var axios = require('axios');
2var data = JSON.stringify({"apiKey":"$2b$12$zni4xlVH0qqhHS0/QlJ9R.YHOLESSG8/XhzgoyatDnaBJrncNlVN"});
3 
4var config = {
5  method: 'post',
6  url: 'https://api.naturalsystems.es/api/login',
7  headers: { 
8    'Content-Type': 'application/json'
9  },
10  data : data
11};
12 
13axios(config)
14.then(function (response) {
15  console.log(JSON.stringify(response.data));
16})
17.catch(function (error) {
18  console.log(error);
19});
20

Get Kategorie

Gibt den vollständigen Kategoriebaum der Produkte in derselben Reihenfolge zurück wie auf der Website von Natural Systems.

Das Attribut father: null kennzeichnet die oberste Kategorie des Baums, alle übrigen enthalten die unmittelbar übergeordnete Kategorie.


Endpoint:

GET /producto/getCategoria

Korrekte Antwort beim Abruf der Kategorien

Nachfolgend zeigen wir ein Beispiel für eine korrekte Antwort:

[
    {
        "id": 1,
        "name": "",
        "father": null,
        "position": "1"
    },
    {
        "id": 2828,
        "name": "Sustratos",
        "father": 1,
        "position": "1"
    },
   {
        "id": 3770,
        "name": "Iluminación",
        "father": 1,
        "position": "9"
    }
]

Methode zum Abrufen der Kategorien von Natural Systems

Hier zeigen wir einen Beispielaufruf, um den Kategoriebaum abzurufen:

1var axios = require('axios');
2var data = JSON.stringify({"lang":1});
3 
4var config = {
5  method: 'get',
6  url: 'https://api.naturalsystems.es/api/producto/getCategoria',
7  headers: { 
8    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTUxOTQ0MzQsImV4cCI6MTYxNTI4MDgzNH0.4SCvWNwD-nzP033a1Rt95uoWlmQkOfpj0hAqB01yMwI', 
9    'Content-Type': 'application/json'
10  },
11  data : data
12};
13 
14axios(config)
15.then(function (response) {
16  console.log(JSON.stringify(response.data));
17})
18.catch(function (error) {
19  console.log(error);
20});
21

Get Bestand

Ruft den Bestand der verfügbaren Produkte ab.


Endpoint:

GET /producto/getStock

Korrekte Antwort beim Abruf des Produktbestands

Nachfolgend zeigen wir ein Beispiel für eine korrekte Antwort:

[
    {
        "itemCode": "ACCE0032",
        "stock": 99999
    },
    {
        "itemCode": "ACCE0033",
        "stock": 15
    },
    {
        "itemCode": "ACCE0034",
        "stock": 22
    },
    {
        "itemCode": "ACCE0036",
        "stock": 99999
    }
]

Methode zum Abrufen des Produktbestands

Beispielaufruf:

1var axios = require('axios');
2    
3var config = {
4  method: 'get',
5  url: 'https://api.naturalsystems.es/api/producto/getStock',
6  headers: { 
7    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMjIyNSIsImdyb3VwQ29kZSI6MTA2LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTQ5NTE4ODgsImV4cCI6MTYxNTAzODI4OH0.bWL_rLE4mmW9Aq2DmVl50LIKu7VisPgHeY5K_n9_GtI'
8  }
9};
10
11axios(config)
12.then(function (response) {
13  console.log(JSON.stringify(response.data));
14})
15.catch(function (error) {
16  console.log(error);
17});

Get Maßeinheiten

Gibt das Verkaufsformat jedes Produkts zurück (Karton, Palette, Stück), mit der Stückzahl pro Einheit, dem Gewicht in kg und den Maßen in cm.


Endpoint:

GET /producto/getUnidadMedida

Korrekte Antwort beim Abruf der Maßeinheiten

Nachfolgend zeigen wir ein Beispiel für eine korrekte Antwort:

[
    {
        "itemCode": "ABRA0004",
        "uomCode": "Unidad",
        "quantity": 1,
        "weight": 0.04,
        "width": 12,
        "height": 12,
        "length": 1,
        "volume": 144
    },
    {
        "itemCode": "ABRA0004",
        "uomCode": "Caja",
        "quantity": 50,
        "weight": 2,
        "width": 14,
        "height": 15,
        "length": 40,
        "volume": 8400
    },
    {
        "itemCode": "ABRA0004",
        "uomCode": "Palet",
        "quantity": 11200,
        "weight": 0,
        "width": 0,
        "height": 0,
        "length": 0,
        "volume": 0
    }
]

Methode zum Abrufen des Verkaufsformats des Produkts

Beispielaufruf:

1var axios = require('axios');
2var data = '';
3 
4var config = {
5  method: 'get',
6  url: 'https://api.naturalsystems.es/api/producto/getUnidadMedida',
7  headers: { 
8    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTUxOTQ0MzQsImV4cCI6MTYxNTI4MDgzNH0.4SCvWNwD-nzP033a1Rt95uoWlmQkOfpj0hAqB01yMwI'
9  },
10  data : data
11};
12 
13axios(config)
14.then(function (response) {
15  console.log(JSON.stringify(response.data));
16})
17.catch(function (error) {
18  console.log(error);
19});
20

Get Preis

Ruft die vollständige Preisliste des Kunden ab. Diese Preise enthalten bereits den gewährten Rabatt. Zusätzlich wird die unverbindliche Preisempfehlung des Produkts mitgeliefert.


Endpoint:

GET /producto/getPrecio

Korrekte Antwort beim Abruf des Produktpreises

Nachfolgend zeigen wir ein Beispiel für eine korrekte Antwort:

[
    {
        "itemCode": "ABRA0004",
        "price": 0.5,
        "pvp": 1.07
    },
    {
        "itemCode": "ABRA0005",
        "price": 0.54,
        "pvp": 1.16
    },
    {
        "itemCode": "ABRA0006",
        "price": 0.58,
        "pvp": 1.24
    }
]

Methode zum Abrufen des Produktpreises

Beispielaufruf:

1var axios = require('axios');
2 
3var config = {
4  method: 'get',
5  url: 'https://api.naturalsystems.es/api/producto/getPrecio',
6  headers: { 
7    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTUxOTQ0MzQsImV4cCI6MTYxNTI4MDgzNH0.4SCvWNwD-nzP033a1Rt95uoWlmQkOfpj0hAqB01yMwI'
8  }
9};
10 
11axios(config)
12.then(function (response) {
13  console.log(JSON.stringify(response.data));
14})
15.catch(function (error) {
16  console.log(error);
17});

Get Mengenrabatt

Gibt die Rabattstaffeln zurück, die für die Produkte je nach gekaufter Menge gelten. Zurückgegeben werden die Menge in Stück, der gewährte Rabatt, der Endpreis mit Rabatt und der Zeitraum, in dem die Aktion gültig ist.


Endpoint:

GET /producto/getDescuentoCantidad

Korrekte Antwort beim Abruf der Rabatte

Nachfolgend zeigen wir ein Beispiel für eine korrekte Antwort:

[
    {
        "itemCode": "ACFU0046",
        "discounts": [
            {
                "quantity": 600,
                "discount": 10,
                "specialPrice": 0.14,
                "fromDate": "2019-11-26T00:00:00.000Z",
                "toDate": "2021-03-09T10:10:11.873Z"
            },
            {
                "quantity": 3000,
                "discount": 20,
                "specialPrice": 0.12,
                "fromDate": "2019-11-26T00:00:00.000Z",
                "toDate": "2021-03-09T10:10:11.873Z"
            },
            {
                "quantity": 12000,
                "discount": 30,
                "specialPrice": 0.11,
                "fromDate": "2019-11-26T00:00:00.000Z",
                "toDate": "2021-03-09T10:10:11.873Z"
            },
            {
                "quantity": 60000,
                "discount": 25,
                "specialPrice": 0.11,
                "fromDate": "2019-11-26T00:00:00.000Z",
                "toDate": "2021-03-09T10:10:11.873Z"
            }
        ]
    }
]

Methode zum Abrufen der Mengenrabatte

Beispielaufruf:

1var axios = require('axios');
2 
3var config = {
4  method: 'get',
5  url: 'https://api.naturalsystems.es/api/producto/getDescuentoCantidad',
6  headers: { 
7    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTUxOTQ0MzQsImV4cCI6MTYxNTI4MDgzNH0.4SCvWNwD-nzP033a1Rt95uoWlmQkOfpj0hAqB01yMwI'
8  }
9};
10 
11axios(config)
12.then(function (response) {
13  console.log(JSON.stringify(response.data));
14})
15.catch(function (error) {
16  console.log(error);
17});

Get Katalog CSV

Gibt die vollständige Artikelliste zurück, aufbereitet für den Import im CSV-Format.


Endpoint:

GET /producto/getCsv

Antwort beim Abruf des Katalogs

Nachfolgend zeigen wir ein Beispiel für eine korrekte Antwort:

REFERENCE;PRODUCT;BRAND;TAX;STOCK;SHORT_DESCRIPTION;DESCRIPTION;IMAGES;CATEGORY_PATH;ID_CATEGORY_PATH;BASE_PRICE;PVP;WEIGHT;WIDTH;HEIGHT;DEPTH;ID_CATEGORY_DEFAULT;REFERENCE_PARENT;ATTR;ATTR2
ABRA0004;"Abrazadera Metálica Sin Fin";;21;99999;"";"";https://newapi.naturalsystems.es/p/ABRA0004/ABRA0004-00.png;Control de Clima > Conductos de ventilación;3772 > 3866;0.75;0.94;0.04;12;12;1;3866;;465
ABRA0005;"Abrazadera Metálica Sin Fin";;21;99999;"";"";https://newapi.naturalsystems.es/p/ABRA0005/ABRA0005-00.png;Control de Clima > Conductos de ventilación;3772 > 3866;0.8;1;0.01;14;14;1;3866;ABRA0004;466

Methode zum Abrufen des Katalogs im CSV-Format

Hier zeigen wir einen Beispielaufruf, um den Katalog abzurufen:

1var axios = require('axios');
2var data = JSON.stringify({"lang":1});
3 
4var config = {
5  method: 'get',
6  url: 'https://api.naturalsystems.es/api/producto/getCsv',
7  headers: { 
8    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTQyNTQzODMsImV4cCI6MTYxNDM0MDc4M30.kDXELgGovdtnpUri5MeaCKZQqT7ba_q_LY7VZ3eurWQ'
9  },
10  data : data
11};
12 
13axios(config)
14.then(function (response) {
15  console.log(JSON.stringify(response.data));
16})
17.catch(function (error) {
18  console.log(error);
19});

Get Katalog Prestashop

Gibt die vollständige Artikelliste zurück, aufbereitet für den Datenimport in Prestashop-Plattformen.


Endpoint:

GET /producto/getCsvPrestashop

Antwort beim Abruf des Katalogs

Nachfolgend zeigen wir ein Beispiel für eine korrekte Antwort:

REFERENCE;PRODUCT;BRAND;TAX;WEIGHT;STOCK;SHORT_DESCRIPTION;DESCRIPTION;IMAGES;CATEGORY_PATH;ID_CATEGORY_PATH;PRICE_CLIENTE;PVP;WIDTH;HEIGHT;DEPTH;ID_CATEGORY_DEFAULT;REFERENCE_PARENT;ATTR;ATTR2
ABRA0004;"Abrazadera Metálica Sin Fin";;21;0.04;99999;"";"";https://newapi.naturalsystems.es/p/ABRA0004/ABRA0004-00.png;Control de Clima > Conductos de ventilación;3772 > 3866;0.75;0.94;12;12;1;3866;;465
ABRA0005;"Abrazadera Metálica Sin Fin";;21;0.01;99999;"";"";https://newapi.naturalsystems.es/p/ABRA0005/ABRA0005-00.png;Control de Clima > Conductos de ventilación;3772 > 3866;0.8;1;14;14;1;3866;ABRA0004;466

Methode zum Abrufen des an Prestashop angepassten Katalogs

Hier zeigen wir einen Beispielaufruf, um den Katalog abzurufen:

1var axios = require('axios');
2var data = JSON.stringify({"lang":1});
3 
4var config = {
5  method: 'get',
6  url: 'https://api.naturalsystems.es/api/producto/getCsvPrestashop',
7  headers: { 
8    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTQyNTQzODMsImV4cCI6MTYxNDM0MDc4M30.kDXELgGovdtnpUri5MeaCKZQqT7ba_q_LY7VZ3eurWQ'
9  },
10  data : data
11};
12 
13axios(config)
14.then(function (response) {
15  console.log(JSON.stringify(response.data));
16})
17.catch(function (error) {
18  console.log(error);
19});

Get Katalog Woocommerce

Gibt die vollständige Artikelliste zurück, aufbereitet für den Datenimport in Woocommerce-Plattformen.


Endpoint:

GET /producto/getCsvWoocommerce

Antwort beim Abruf des Katalogs

Nachfolgend zeigen wir ein Beispiel für eine korrekte Antwort:

Tipo;SKU;Nombre;Publicado;"¿Está destacado?";"Visibilidad en el catálogo";"Descripción corta";Descripción;"Día en que empieza el precio rebajado";"Día en que termina el precio rebajado";"Estado del impuesto";"Clase de impuesto";"¿En inventario?";Inventario;"Cantidad de bajo inventario";"¿Permitir reservas de productos agotados?";"¿Vendido individualmente?";"Peso (kg)";"Longitud (cm)";"Anchura (cm)";"Altura (cm)";"¿Permitir valoraciones de clientes?";"Nota de compra";"Precio rebajado";"Precio normal";Categorías;Etiquetas;"Clase de envío";Imágenes;"Límite de descargas";"Días de caducidad de la descarga";Superior;"Productos agrupados";"Ventas dirigidas";"Ventas cruzadas";URL externa";"Texto del botón";Posición;meta:Brand;"Nombre del atributo 1";"Valor(es) del atributo 1";"Atributo visible 1";"Atributo global 1";"Nombre del atributo 2";"Valor(es) del atributo 2";"Atributo visible 2";"Atributo global 2";"Nombre del atributo 3";"Valor(es) del atributo 3";"Atributo visible 3";"Atributo global 3";"Nombre del atributo 4";"Valor(es) del atributo 4";"Atributo visible 4";"Atributo global 4";"Nombre del atributo 5";"Valor(es) del atributo 5";"Atributo visible 5"
simple;ABRA0004;"Abrazadera Metálica Sin Fin";1;0;visible;"";"";0;0;taxable;;1;99999;;0;0;0.04;1;12;12;1;;;0.75;Control de Clima > Conductos de ventilación;;;https://newapi.naturalsystems.es/p/ABRA0004/ABRA0004-00.png;;;;;;;;;;;100 95mm-105mm;465;1;
simple;ABRA0005;"Abrazadera Metálica Sin Fin";1;0;visible;"";"";0;0;taxable;;1;99999;;0;0;0.01;1;14;14;1;;;0.8;Control de Clima > Conductos de ventilación;;;https://newapi.naturalsystems.es/p/ABRA0005/ABRA0005-00.png;;;;;;;;;;;125 119mm-131mm;466;1;

Methode zum Abrufen des an Woocommerce angepassten Katalogs

Hier zeigen wir einen Beispielaufruf, um den Katalog abzurufen:

1var axios = require('axios');
2var data = JSON.stringify({"lang":1});
3 
4var config = {
5  method: 'get',
6  url: 'https://api.naturalsystems.es/api/producto/getCsvWoocommerce',
7  headers: { 
8    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTQyNTQzODMsImV4cCI6MTYxNDM0MDc4M30.kDXELgGovdtnpUri5MeaCKZQqT7ba_q_LY7VZ3eurWQ'
9  },
10  data : data
11};
12 
13axios(config)
14.then(function (response) {
15  console.log(JSON.stringify(response.data));
16})
17.catch(function (error) {
18  console.log(error);
19});

Get Kombinationen

Gibt die vollständige Liste der Artikelkombinationen zurück, aufbereitet für den Import im CSV-Format.


Endpoint:

GET /producto/getCsvCombinaciones

Antwort beim Abruf der Kombinationen

Nachfolgend zeigen wir ein Beispiel für eine korrekte Antwort:

ID_COMB;ITEMCODE
2707;ADNU0003
2707;ADNU0026
2707;ADNU0102
2707;ADNU0101
2708;ADNU0177
2708;ADNU0250

Methode zum Abrufen der Artikelkombinationen

Hier zeigen wir einen Beispielaufruf, um die Kombinationen abzurufen:

1var axios = require('axios');
2var data = JSON.stringify({"lang":1});
3 
4var config = {
5  method: 'get',
6  url: 'https://api.naturalsystems.es/api/producto/getCsvCombinaciones',
7  headers: { 
8    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTQyNTQzODMsImV4cCI6MTYxNDM0MDc4M30.kDXELgGovdtnpUri5MeaCKZQqT7ba_q_LY7VZ3eurWQ'
9  },
10  data : data
11};
12 
13axios(config)
14.then(function (response) {
15  console.log(JSON.stringify(response.data));
16})
17.catch(function (error) {
18  console.log(error);
19});

Get Attribute

Gibt die vollständige Liste der Artikelattribute zurück, aufbereitet für den Import im CSV-Format.


Endpoint:

GET /producto/getCsvAtributos

Antwort beim Abruf der Attribute

Nachfolgend zeigen wir ein Beispiel für eine korrekte Antwort:

ID_ATTRIBUTE_GROUP;NAME_ATTRIBUTE_GROUP;ID_ATTRIBUTE;NAME_ATTRIBUTE
4;Liquidos;44;30 ml
15;Macetas;1580;24.7x24.7x26.1cm (11L)
6;Extractores;1605;3250m3/h (2 Boca Entrada 250mm - 1 Boca Salida 315mm)

Methode zum Abrufen der Artikelattribute

Hier zeigen wir einen Beispielaufruf, um die Attribute abzurufen:

1var axios = require('axios');
2var data = JSON.stringify({"lang":1});
3 
4var config = {
5  method: 'get',
6  url: 'https://api.naturalsystems.es/api/producto/getCsvAtributos',
7  headers: { 
8    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTQyNTQzODMsImV4cCI6MTYxNDM0MDc4M30.kDXELgGovdtnpUri5MeaCKZQqT7ba_q_LY7VZ3eurWQ'
9  },
10  data : data
11};
12 
13axios(config)
14.then(function (response) {
15  console.log(JSON.stringify(response.data));
16})
17.catch(function (error) {
18  console.log(error);
19});

Create Neue Bestellung

Sendet eine neue Bestellung oder ein Angebot. Direktbestellungen und Dropshipping-Bestellungen sind möglich.


Endpoint:

POST /pedido/nuevoPedido

Beispielobjekt

{
    "isQuote": "Y",
    "isDropship": "Y",
    "shipInstructions": "C/ Test 123 Montilla 14550 Córdoba España",
    "shipAddress": "Tienda Córdoba",
    "billAddress": "Tienda Córdoba",
    "orderIntructions": "No enviar documentación",
    "remarks": "Comentarios del pedido",
    "items": [
        {
            "itemCode": "TONE0011",
            "quantity": 80
        },
        {
            "itemCode": "LUMI0017",
            "quantity": 5
        },
        {
            "itemCode": "SUST0110",
            "quantity": 2
        }
    ]
}

Erhaltene korrekte Antwort

Order successfully grabbed

Methode zum Anlegen einer neuen Bestellung

Beispielaufruf:

1var axios = require('axios');
2var data = JSON.stringify({"isQuote":"Y","isDropship":"Y","shipInstructions":"C/ Test 123 Montilla 14550 Córdoba España","shipAddress":"Tienda Córdoba","billAddress":"Tienda Córdoba","orderIntructions":"No enviar documentación","remarks":"Comentarios del pedido","items":[{"itemCode":"TONE0011","quantity":80},{"itemCode":"LUMI0017","quantity":5},{"itemCode":"SUST0110","quantity":2}]});
3 
4var config = {
5  method: 'post',
6  url: 'https://api.naturalsystems.es/api/pedido/nuevoPedido',
7  headers: { 
8    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTUxOTQ0MzQsImV4cCI6MTYxNTI4MDgzNH0.4SCvWNwD-nzP033a1Rt95uoWlmQkOfpj0hAqB01yMwI', 
9    'Content-Type': 'application/json'
10  },
11  data : data
12};
13 
14axios(config)
15.then(function (response) {
16  console.log(JSON.stringify(response.data));
17})
18.catch(function (error) {
19  console.log(error);
20});

Get Lieferadresse

Ruft die im Benutzerkonto hinterlegten Lieferadressen ab.


Endpoint:

GET /cuenta/getDireccionEnvio

Erhaltene korrekte Antwort

[
{
        "address": "MI dirección",
        "street": "Calle de test 123º",
        "city": "Montilla",
        "zipCode": "14550",
        "state": "Córdoba",
        "country": "Córdoba",
        "contactPerson": "Manuel Fernández López.",
        "phone": "+34 6xx xx xx xx",
        "schedule": "De 10 a 14",
        "remark": "Observaciones de transporte"
    }
]

Methode zum Abrufen der Lieferadresse(n)

Beispielaufruf:

1var axios = require('axios');
2 
3var config = {
4  method: 'get',
5  url: 'https://api.naturalsystems.es/api/cuenta/getDireccionEnvio',
6  headers: { 
7    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMjIyNSIsImdyb3VwQ29kZSI6MTI2LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTQyNTUxMDIsImV4cCI6MTYxNDM0MTUwMn0.2MiXr-C-JOtyvn__o09MXCLlpe7EiUr3ZFPfSEMmUa8'
8  }
9};
10 
11axios(config)
12.then(function (response) {
13  console.log(JSON.stringify(response.data));
14})
15.catch(function (error) {
16  console.log(error);
17});

Create Lieferadresse

Legt mit den Daten des Aufrufs eine neue Lieferadresse an.


Endpoint:

POST /cuenta/createDireccionEnvio

Beispielobjekt

1{
2    "name": "Tienda Córdoba 2",
3    "street": "C/ Calle 123",
4    "zipCode": "14550",
5    "city": "Montilla",
6    "state": "Córdoba",
7    "country": "ES",
8    "contactPerson": "Antonio Gutiérrez",
9    "phone": "+34 6xx xx xx xx",
10    "phoneShipping": "+34 6xx xx xx xx",
11    "shippingRemarks": "Observaciones de transporte"
12}

Erhaltene korrekte Antwort

Address 'Tienda córdoba 2' created successfully.

Methode zum Anlegen einer neuen Lieferadresse

Beispielaufruf:

1var axios = require('axios');
2var data = JSON.stringify({
3    "name": "Tienda Córdoba 2",
4    "street": "C/ Calle 123",
5    "zipCode": "14550",
6    "city": "Montilla",
7    "state": "Córdoba",
8    "country": "ES",
9    "contactPerson": "Antonio Gutiérrez",
10    "phone": "+34 6xx xx xx xx",
11    "phoneShipping": "+34 6xx xx xx xx",
12    "shippingRemarks": "Observaciones de transporte"
13});
14 
15var config = {
16  method: 'post',
17  url: 'https://api.naturalsystems.es/api/cuenta/updateDireccionEnvio',
18  headers: { 
19    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTQ5NDE5MDEsImV4cCI6MTYxNTAyODMwMX0.qesOvjyWZfQJF3TOYk4iHa4o0OYoqZElGXam_yyQWsk', 
20    'Content-Type': 'application/json'
21  },
22  data : data
23  };
24 
25axios(config)
26.then(function (response) {
27  console.log(JSON.stringify(response.data));
28})
29.catch(function (error) {
30  console.log(error);
31});
32

Update Lieferadresse

Aktualisiert die Daten einer bereits vorhandenen Lieferadresse. Pflicht sind nur das Feld „address“ und die zu aktualisierenden Felder.


Endpoint:

PATCH /cuenta/updateDireccionEnvio

Erhaltene korrekte Antwort

Address 'Tienda córdoba 2' updated successfully.

Methode zum Aktualisieren der Daten Ihrer Lieferadressen

Beispielaufruf:

1var axios = require('axios');
2var data = JSON.stringify({"address":"Test2022","country":"ES","zipCode":"","phone":"+34 6xx xx xx xx","phoneShipping":"+34 6xx xx xx xx xx "});
3 
4var config = {
5  method: 'patch',
6  url: 'https://api.naturalsystems.es/api/cuenta/updateDireccionEnvio',
7  headers: { 
8    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMjIyNSIsImdyb3VwQ29kZSI6MTA2LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTQ5NTE4ODgsImV4cCI6MTYxNTAzODI4OH0.bWL_rLE4mmW9Aq2DmVl50LIKu7VisPgHeY5K_n9_GtI', 
9    'Content-Type': 'application/json'
10  },
11  data : data
12};
13 
14axios(config)
15.then(function (response) {
16  console.log(JSON.stringify(response.data));
17})
18.catch(function (error) {
19  console.log(error);
20});

Delete Lieferadresse

Löscht die im Aufruf angegebene Lieferadresse. Die Adresse muss exakt übereinstimmen.


Endpoint:

DELETE /cuenta/deleteDireccionEnvio

Beispielobjekt

1{
2    "address": "Tienda Córdoba"
3}

Erhaltene korrekte Antwort

Address 'Tienda córdoba 2' deleted successfully.

Methode zum Löschen einer Lieferadresse

Beispielaufruf:

1var axios = require('axios');
2var data = JSON.stringify({  "address": "Tienda Córdoba" });
3 
4var config = {
5  method: 'delete',
6  url: 'https://api.naturalsystems.es/api/cuenta/deleteDireccionEnvio',
7  headers: { 
8    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTQ5NDE5MDEsImV4cCI6MTYxNTAyODMwMX0.qesOvjyWZfQJF3TOYk4iHa4o0OYoqZElGXam_yyQWsk', 
9    'Content-Type': 'application/json'
10  },
11  data : data
12};
13 
14axios(config)
15.then(function (response) {
16  console.log(JSON.stringify(response.data));
17})
18.catch(function (error) {
19  console.log(error);
20});

Get Rechnungsadresse

Ruft die im Benutzerkonto hinterlegten Rechnungsadressen ab.


Endpoint:

GET /cuenta/getDireccionFacturacion

Erhaltene korrekte Antwort

[
    {
        "address": "Dirección Córdoba",
        "street": "C/ Calle 123",
        "city": "Montilla",
        "zipCode": "14550",
        "state": "Córdoba",
        "country": "Córdoba"
    }
]

Methode zum Abrufen der Rechnungsadresse(n)

Beispielaufruf:

1var axios = require('axios');
2 
3var config = {
4  method: 'get',
5  url: 'https://api.naturalsystems.es/api/cuenta/getDireccionFacturacion',
6  headers: { 
7    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTQ5NDE5MDEsImV4cCI6MTYxNTAyODMwMX0.qesOvjyWZfQJF3TOYk4iHa4o0OYoqZElGXam_yyQWsk'
8  }
9};
10 
11axios(config)
12.then(function (response) {
13  console.log(JSON.stringify(response.data));
14})
15.catch(function (error) {
16  console.log(error);
17});

Sammlung der Methoden

Um die Nutzung all dieser Methoden zu erleichtern, haben wir eine Collection für Postman erstellt.

Sie müssen lediglich diese Datei importieren und den Methoden zur Authentifizierung und Anmeldung folgen. Danach verfügen Sie über alle Daten, die für Anfragen an unsere API nötig sind. Diese Software erlaubt es außerdem, den benötigten Code in zahlreichen Technologien zu exportieren.