Hallo zusammen, wir betreiben einen Onlineshop und verkaufen über diesen Artikel sowie über eine weitere Plattform Artikel. Zurzeit nutzen beide Plattformen die gleichen Lagerbestände. Was unter ggf. mal zu Überschneidungen führen könnte. Sowie Gambio als auch die andere Plattform bietet eine API Schnittstelle an. Könnte man über die API einen Bestandabgleich hinbekommen? Wir haben uns die Anleitung der API von Gambio durchgelesen und versuchen dieses nun zu integrieren (wir sind keine Programmierer). - Über den Link https://www.your-shop-domain.de/path-to-shop/api.php/v3 können wir auf die API v3 zugreifen. 2.) Sehen wir es richtig, das über die swagger.json beim Punkt servers die URL des Gambio Shops hinterlegt werden muss? "servers": [ { "url": "https://www.gambio-shop.de/shop1" } was muss anstelle bei shop1 eingetragen werden? 3.) Wir haben danach die swagger.json im Postman importiert und sehen nun die Gambio REST API v3. 4.) Wir haben einen bearerAuth Token im Gambio angelegt und im Postman hinterlegt. 5.) Wir können wir nun im Postman eine Abfrage definieren? Wir haben unter Authorization den Token hinterlegt. Aber wir bekommen immer 404 Not Found Wir sind nun einen Schritt weiter und bekommen auch die ersten Informationen von der Gambio Webseite ausgelesen. Nun testen wir uns mal vorsicht ran und wollen mal eine Information manipulieren.
Über eine GET Abfrage ({{baseUrl}}/api.php/v3/customers/:id) haben wir uns nun einen Datensatz anzeigen lassen. Dieses würden wir nun gerne über POST verändern. Wie geht man da nun vor wenn man z.B. die Emailadresse einfügen möchte? "data": { "id": 2, "customerGroup": 0, "isGuestAccount": false, "isFavorite": false, "personalInformation": { "gender": "f", "firstName": "Max", "lastName": "Mustermann", "dateOfBirth": "1000-01-01 00:00:00", "customerNumber": "" }, "contactInformation": { "email": "", "phoneNumber": "", "faxNumber": "" }, "businessInformation": { "companyName": "", "vatId": "", "isTradesperson": false, "isValidVatId": false }, "credit": 0 }, "_meta": { "links": { "memos": "https://www.firma.de/api.php/v3/customers/2/memos", "addon-values": "https://www.firma.de/api.php/v3/customers/2/addon-values" } } }
@semmelweis Schau mal in die Dokumentation hier musst du ein PUT senden, nicht POST. (Link nur für registrierte Nutzer sichtbar.) POST musst du nur senden, wenn du einen neuen Kunden anlegen willst.
Hallo @Till (Gambio) ich meinte natürlich PUT. Ich bekomme mit GET Informationen angezeigt und wollte nun testhalber mal was mit PUT überschreiben: Ich bekomme allerdings immer eine Fehlermeldung im Postman: Sollte man im Postman auf raw / JSON umstellen bzw. was ist der eleganteste und einfachste Weg?
Du musst die Daten als JSON wie im Ergebnis übergeben und nicht als Formulardaten. Du kannst einfach die GET Antwort als JSON kopieren und die Informationen ändern die du willst und dann als PUT senden. Das sollte problemlos funktionieren. Das sind im Postman ja schon fertige Beispiel drin.
Also ich habe mir die GET Daten aus dem Ergebnis rauskopiert und dann im Body auf raw / JSON gestellt und hineinkopiert. Dann habe ich versucht was anzupassen und bekomme immer den Fehler: { "error": "An unexpected error occurred.", "details": "" } 500 Internal Server Error
@semmelweis Im Forum ist es extrem schwierig rauszufinden was da schief läuft. Kannst du uns dazu ein Ticket aufmachen und deine Beispiele mit den RAW JSON uns zusenden? Dann schauen wir uns das direkt in deinem Shop an.
@Till (Gambio) für mich sieht es so aus als ob der Server die Anfragen blockiert. 1.) GET {{baseUrl}}/api.php/v3/customers/:id (2) Daten werden angezeigt 2.) Inhalt mittels copy paste kopiert 3.) PUT {{baseUrl}}/api.php/v3/customers/:id (2) Auf Body -> raw -> JSON umgestellt und den Inhalt eingefügt. "lastname" angepasst. und auf Send gelickt. Es läuft immer in in Status:500 Internal Server Error Muss man Berechtigungstechnisch noch was im Shop anpassen? Ich werde mal ein Ticket eröffnen. Sehr seltsam das ganze.
Wenn du die Meldung "An unexpected error occurred." bekommst solltest du mal deine Logdateien überprüfen. Da stehen weitere Informationen, die dir bei der Fehlerbehebung helfen werden.
Ich konnte den Fehler finden und ich bin nun schon um einiges weiter. Ich habe den API Zugriff auf die Gambio API und auch den Zugriff auf den ENDPUNKT von der weiteren Plattform von wo ich nun die Informationen ziehen und dem Gambio Shop / API zu Verfügung stellen möchte. Kann mir einer mal einen kleinen Denkanstoß geben, mit welchem Service ich nun die Daten von der Plattform ziehen könnte und an die Gambio Datenstruktur anpasse und dann an die Gambio API schicken kann? Wie schon erwähnt bin ich ein Anfänger was das Thema angeht, aber sehr wissbegirerig und eifrig und auch nicht auf den Kopf gefallen
Guten Abend, ich hätte nochmal eine Frage zur API. Wir sind nun schon sehr weit was den Zugriff angeht bzw. wir bekommen die gewünschten Informationen die wir benötigen ausgelesen und können diese schon an Gambio mittels API übergeben. Uns gelingt es aber nicht die Zusatzfelder anzusprechen. Ist dieses über API v2 überhaupt möglich oder gibt es nur Endpunkte für die Optionen wie Artikelnummer etc? Wir haben in den Zusatzfelder sowas stehen wie: Altersempfehlung Zielgruppe Sprache Verlag etc...
@semmelweis Schau mal in in die Dokumentation: (Link nur für registrierte Nutzer sichtbar.) (Link nur für registrierte Nutzer sichtbar.) (Link nur für registrierte Nutzer sichtbar.)
Prinzipiell mit so Automation Tools wie n8n.io / zapier.com / make.com oder einen eigenen Service aufsetzen (programmieren und einrichten) mit PHP / Python / ... Habt Ihr da mittlerweile schon eine automatisierte Lösung für Euren Fall? Wie wäre die?
Hallo Pepe, wir haben und benötigen keine automatisierte Lösung. Wir suchen einen Artikel für den wir die Eigenschaften, Bild, Preis etc. benötigen und rufen dieses mittels einer programmierten Java Anwendung vom Endpunkt ab und übergeben dieses dann an die API von Gambio. Das reicht für unsere Zwecke vollkommen aus.
Ich habe das Ganze in Form einer Claris FileMaker Lösung aufgebaut - wenn man mal weiss wie die API dort angesprochen werden kann ist das recht komfortabel. https://www.claris.com/filemaker/
Ich hatte das so verstanden, dass Ihr für (alle/manche ?) Artikel, die Ihr in Eurem Gambioshop und über eine weitere Plattform anbietet, einen einheitlichen Artikelbestand führen wollt, z.B. um Überverkäufe zu vermeiden. Den systeminternen Artikelbestand der jeweiligen Plattform möchtet Ihr über das API der jeweiligen Plattform (automatisiert) zusammenführen zu einem einheitlichen Artikelbestand für beide Systeme, welcher (bestenfalls) den tatsächlichen Lagerbestand repräsentiert. So dachte ich jedenfalls, dass es gemeint sei. Es scheint so als würdet Ihr nun etwas anderes umsetzen wollen, was ich aber nicht verstehe. Viel Erfolg bei Eurem Vorhaben.
Hallo zusammen, ich muss mich nun nochmal melden, da wir mit der API bzw. unserer Umsetzung nun an einer Stelle nicht weiterkommen. Das Programm was wir nun haben läuft super: Wir können super schnell Artikel mittels API in den Gambioshop übertragen. Wir können mit dem Tool für uns die relevanten Daten mittels API abrufen und bereitstellen. Wir scheitern aber immer an den Zusatzfeldern / Filtern von Gambio. Für die Kunden soll es eine Möglichkeit geben nach gewissen Kriterien (wie. z.B. Edition, Sprache etc.) zu filtern. Somit würden wir z.B. gerne bei dem Zusatzfeld die passende Edition mittels API mitgeben die wir über die drittplatform ja auch bereitgestellt bekommen. Vieleicht gibt es ja auch die Möglichkeit die Suche irgendwie umzubauen? Kann hier eventuell ein Gambio Entwickler uns einen Tipp geben? Hat sich erledigt. Hatte dieses hier irgendwie übersehen: @semmelweis Schau mal in in die Dokumentation: https://developers.gambio.de/docs/4...tional-fields/get-additional-fields-multiple/ https://developers.gambio.de/docs/4...ional-fields/create-product-additional-field/ https://developers.gambio.de/docs/4...ional-fields/update-product-additional-field/