Laden / Hochladen von Daten über API Elbuz
Die API bietet Zugriff auf Informationen, die in der Datenbank des Elbuz-Jumper-Softwareprodukts gespeichert sind. Elemente können abgerufen, hinzugefügt, aktualisiert und gelöscht werden.
Austauschformat, Authentifizierung
- Für die Interaktion wird das JSON-Format verwendet.
- Anfragen verwenden die POST-HTTP-Methode.
- Zur Authentifizierung werden ein Benutzername und ein Passwort verwendet, um ein Token zu erhalten.
Grundinformation
Zugriffsbeschränkung
- API-Zugriff mit Angabe von IP-Adressen, von denen aus der Zugriff möglich ist.
- Nur-Lese-Modus (blockiert den Zugriff auf Änderungsdaten).
- Nach der Anzahl der Anfragen - nicht mehr als 30 Verbindungen innerhalb von 60 Sekunden.
Paginierung - Paginierung
Die Ausgabe der angeforderten Daten erfolgt paginiert. Die maximale Anzahl der Einträge hängt vom Elementtyp ab, der Standardwert ist 100 Einträge pro Seite. Mit dem Parameter „page“ wird die Seitennummer angegeben.
Beim Antworten werden „Meta“-Informationen generiert, zum Beispiel:
[meta] => Array ( [item_scope] => Kategorie [Gesamt_Zeile] => 474 [page_total] => 5 [Seite_nächste] => 2 [Seite_aktuell] => 1 [request_time] => 00:00:00 )
Metainformationen zur Beschreibung:
- item_scope – der Typ des angeforderten Elements
- total_row - Gesamtzahl der Elemente
- page_total - Gesamtzahl der Seiten
- page_next - nächste Seitennummer
- page_current - aktuelle Seite
- request_time - Zeit, die benötigt wird, um Informationen zu erhalten
Auswahl von Elementen
Je nach Elementtyp stehen unterschiedliche Parameter zur Verfügung, die die Datenauswahl einschränken, beispielsweise können Sie Produkte nur einer bestimmten Kategorie erhalten, dazu müssen Sie den Parameter category_id übergeben, in dem Sie die Kategorie-ID angeben.
Einschränkung der Ausgabefelder
Das System ermöglicht es Ihnen, die Arbeitsgeschwindigkeit für den Informationsaustausch zu erhöhen und nur die Daten zu erhalten, die Sie benötigen. Beispielsweise kann eine Produktkarte 150 Felder enthalten, während Sie nur 10 davon benötigen. Sie können den Satz von Feldern angeben, den Sie beim Anfordern von Daten benötigen, wodurch die übertragene Datenmenge erheblich reduziert und die Antwort- und Reaktionsgeschwindigkeit erhöht wird Zeit für die Weiterverarbeitung dieser Informationen auf Ihrer Website. Dazu wird der Parameter limit_field verwendet, in dem Sie die benötigten Felder durch Kommas getrennt auflisten müssen.
Beschreibung der Arbeit mit der API
Startadresse des API-Dienstes: https://Ihre_Domänenadresse/admin/index.php?route=
Der Routenparameter nimmt einen Pfad, auf dessen Grundlage das System versteht, welche Operation auszuführen ist.
Für den Routenparameter stehen folgende Werte zur Verfügung:
- api/login - Ein Token erhalten, um loszulegen
- api/scope/describe – Beschreibung von Elementfeldern
- api/scope/get - Elemente abrufen
- api/scope/add - Hinzufügen von Elementen
- api/scope/update - Elemente aktualisieren
- api/scope/delete - Elemente löschen
Der Routenparameter kann mit dem Elementtyp ergänzt werden, auf dem die Operation ausgeführt wird.
Je nach Operationstyp stehen folgende Werte zur Verfügung:
- Kategorie - Produktkategorien
- Produkt – Basiskatalogprodukte
- product_price - Produkte aus Preislisten
- Attribut - Produktattribute
- attribute_block - Attributblöcke
- Sprache - Sprachen
- Artikel - Artikel
- Hersteller - Hersteller
- stock_status - Bestandsstatus
- Lager - Lager
- Geschäft - Geschäfte
- Unternehmen - Unternehmen
- Auftragnehmer - Auftragnehmer
- Contractor_group - Gruppen von Auftragnehmern
- Währung - Währungen
- Dokument - Dokumente
- document_type - Arten von Dokumenten
- document_status - Dokumentstatus
- document_payment_status - Zahlungsstatus
- document_delivery_status - Lieferstatus
Ein Beispiel für einen Link zum Abrufen einer Liste von Produktkategorien: https://ihre_domain_adresse/admin/index.php?route=api/scope/get/category
Außerdem kann der Elementtyp im Bereichsparameter über eine POST-Anforderung übergeben werden, dann ist es nicht erforderlich, den Typ im Link anzugeben.
Erstellen eines API-Benutzers, Abrufen eines Tokens
Der Datenaustausch via API erfolgt mittels Login und Passwort (Token). Um einen neuen API-Benutzer zu erstellen, gehen Sie zum Subsystem „Einstellungen“.
Wählen Sie dann „Access API Jumper“
Klicken Sie auf die Schaltfläche +, um einen neuen Benutzer zu erstellen
Um mit der Arbeit mit der API zu beginnen, müssen Sie ein Token erhalten. Dazu müssen Sie eine POST-Anfrage mit einem Login und einem Passwort senden und dabei route=api/login angeben.
Vollständige Adresse:
https://Ihre_Domänenadresse/admin/index.php?route=api/login
Erforderliche POST-Parameter:
- Benutzername - Ihr Benutzername
- Schlüssel - Passwort
Als Antwort erhalten Sie einen Token, der im Feld api_token angegeben wird, dieser Token muss für weitere Anfragen an die API verwendet werden.
Eine Beispielimplementierung in PHP (die Funktion send_data_to_jumper_api() ist ein Wrapper für CURL)
Artikel abrufen
Um eine Liste der Elemente zu erhalten, senden Sie eine POST-Anfrage mit route=api/scope/get.
Vollständige Adresse:
https://Ihre_Domänenadresse/admin/index.php?route=api/scope/get
Erforderliche POST-Parameter:
- api_token - das zuvor erhaltene Token
- Bereich ist die ID des Elements, von dem Sie Daten abrufen möchten. Der Elementcode kann im Link angegeben werden, in diesem Fall ist dieser Parameter optional.
Liste der verfügbaren Elementcodes:- Kategorie - Produktkategorien
- Produkt – Basiskatalogprodukte
- product_price - Produkte aus Preislisten
- Attribut - Produktattribute
- attribute_block - Attributblöcke
- Sprache - Sprachen
- Artikel - Artikel
- Hersteller - Hersteller
- stock_status - Bestandsstatus
- Lager - Lager
- Geschäft - Geschäfte
- Unternehmen - Unternehmen
- Auftragnehmer - Auftragnehmer
- Contractor_group - Gruppen von Auftragnehmern
- Währung - Währungen
- Dokument - Dokumente
- document_type - Arten von Dokumenten
- document_status - Dokumentstatus
- document_payment_status - Zahlungsstatus
- document_delivery_status - Lieferstatus
Optionale Parameter:
- page - die Seitennummer zum Abrufen der nächsten Liste von Datensätzen
- limit_field – Liste von Feldern, um die Ausgabe zu begrenzen
- extend - Abrufen erweiterter Daten. Wenn Sie beispielsweise eine Produktkarte erhalten, können Sie die Informationen erweitern und zusätzliche Daten erhalten, wie zum Beispiel:
- Attribut – Produktattribute
- Bild - Produktfoto
- Kategorie - Liste der Kategorien, in denen sich das Produkt befindet
- extend_limit_field_attribute – Liste von Feldern, um die Ausgabe von erweiterten Informationen zu Attributen einzuschränken
- extend_limit_field_image – eine Liste von Feldern zum Einschränken der Ausgabe von erweiterten Informationen über das Foto
- extend_limit_field_category – Liste von Feldern, um die Ausgabe von erweiterten Kategorieinformationen einzuschränken
PHP-Implementierungsbeispiel
Elemente hinzufügen
Um ein neues Element hinzuzufügen, senden Sie eine POST-Anforderung mit route=api/scope/add.
Vollständige Adresse:
https://ihre_domänenadresse/admin/index.php?route=api/scope/add
Erforderliche POST-Parameter:
- api_token - das zuvor erhaltene Token
- Bereich ist die ID des hinzuzufügenden Elements. Der Elementcode kann im Link angegeben werden, in diesem Fall ist dieser Parameter optional.
Liste der verfügbaren Elementcodes:- Kategorie - Produktkategorien
- Produkt – Basiskatalogprodukte
- product_price - Produkte aus Preislisten
- Attribut - Produktattribute
- attribute_block - Attributblöcke
- Artikel - Artikel
- Hersteller - Hersteller
- Dokument - Dokumente
- name - der Name des Elements (je nach Art des Elements können unterschiedliche Felder übergeben werden)
PHP-Implementierungsbeispiel
Artikel aktualisieren
Um ein Element zu aktualisieren, senden Sie eine POST-Anforderung mit route=api/scope/update.
Vollständige Adresse:
https://Ihre_Domänenadresse/admin/index.php?route=api/scope/update
Erforderliche POST-Parameter:
- api_token - das zuvor erhaltene Token
- Bereich ist die ID des zu aktualisierenden Elements. Der Elementcode kann im Link angegeben werden, in diesem Fall ist dieser Parameter optional.
Liste der verfügbaren Elementcodes:- Kategorie - Produktkategorien
- Produkt – Basiskatalogprodukte
- Währung - Währungshühner
- Auftragnehmer - Auftragnehmer
- name - der Name des Elements (je nach Art des Elements können unterschiedliche Felder übergeben werden)
PHP-Implementierungsbeispiel
Elemente entfernen
Um ein Element zu löschen, senden Sie eine POST-Anfrage mit route=api/scope/delete.
Vollständige Adresse:
https://Ihre_Domänenadresse/admin/index.php?route=api/scope/delete
Erforderliche POST-Parameter:
- api_token - das zuvor erhaltene Token
- Bereich ist die ID des zu entfernenden Elements. Der Elementcode kann im Link angegeben werden, in diesem Fall ist dieser Parameter optional.
Liste der verfügbaren Elementcodes:- Kategorie - Produktkategorien
- Produkt – Basiskatalogprodukte
- Attribut - Produktattribute
- attribute_block - Attributblöcke
- Auftragnehmer - Auftragnehmer
- Artikel - Artikel
- Hersteller - Hersteller
- Dokument - Dokumente
- Element-ID (je nach Elementtyp wird ein anderer Feldname verwendet)
PHP-Implementierungsbeispiel
Beschreibung der Elementfelder
Um die Beschreibung der Elementfelder zu erhalten, senden Sie eine POST-Anfrage mit route=api/scope/describe.
Vollständige Adresse:
https://Ihre_Domänenadresse/admin/index.php?route=api/scope/describe
Erforderliche POST-Parameter:
- api_token - das zuvor erhaltene Token
- Bereich ist die ID des Elements, durch das Informationen abgerufen werden sollen. Der Elementcode kann im Link angegeben werden, in diesem Fall ist dieser Parameter optional.
Liste der verfügbaren Elementcodes:- Produkt – Basiskatalogprodukte
- product_price - Produkte aus Preislisten
- Hersteller - Hersteller
- Auftragnehmer - Auftragnehmer
- Dokument - Dokumente
- Benutzer - Benutzer (Mitarbeiter)
- Unternehmen - Unternehmen
PHP-Implementierungsbeispiel
Erweitertes API-Beispiel, PHP-Sprache
Ausführliche Beispiele für die Arbeit mit der API unter Verwendung der PHP-Sprache sind unter diesem Link verfügbar.
Sie können verschiedene Betriebsmodi testen, dazu müssen Sie die gewünschte Variable aktivieren, um den Codeblock zu aktivieren, der für die erforderliche Operation und das Element verantwortlich ist.