Wir haben für ein anstehendes Projekt eine Libary in GO entwickelt, welche es anderen Entwicklern leichter machen soll, mit der idealo API zu interagieren.
Für ein Projekt, welches wir zusammen mit idealo aktuell noch entwickeln, benötigten wir eine Möglichkeit auf die gesamten Endpunkte der PWS2.0 und MOA2.0 zuzugreifen. Deshalb haben wir gedacht, wir machen mal wieder ein kleines Open Source Projekt und nutzen dieses ebenfalls um das Projekt Hacktoberfest etwas zu unterstützen.
Die Library finden Sie, wie eigentlich immer, auf unserem GitHub Profil.
Damit Sie direkt mit dieser Library starten können, geben wir Ihnen hier eine kleine Einweisung.
PWS2.0 Access Token
Damit Sie Zugriff auf die weiteren Funktionen haben, benötigen Sie einen Access Token. Dieser hat aktuell eine TTL von 3600 Sekunden.
// Define request
r := goidealo.Request{
ClientId: "",
ClientPassword: "",
}
// Get access token
accessToken, err := goidealo.PwsAccessToken(r)
if err != nil {
fmt.Println(err)
} else {
fmt.Println(accessToken)
}
Wenn Sie nun einen aktuellen Access Token besitzen, können wir nun einmal ein neues Angebot erstellen.
Angebot erstellen
Wenn Sie ein neues Angebot erstellen wollen, dann können Sie dies über die folgende Funktion machen.
// Define request
r := goidealo.Request{
AccessToken: "",
}
// Set body
body := goidealo.OfferBody{
Sku: "21-Lloyd-27-600-12-Hagen-UK6.5-Gr.40",
Title: "Lloyd Men Hagen 27-600-12 Herren Schuhe Derby Schnürer Wildleder Dunkelbraun",
Price: "89.95",
Url: "http://www.shoes4friends.de",
PaymentCosts: &goidealo.OfferBodyPaymentCosts{
PAYPAL: "2.63",
},
DeliveryCosts: &goidealo.OfferBodyDeliveryCosts{
DHL: "0.69",
},
BasePrice: "",
PackagingUnit: 5,
VoucherCode: "",
BranchId: "lloyd",
Brand: "Lloyd",
Oens: nil,
CategoryPath: nil,
Description: "Lloyd Men Hagen 27-600-12 Herren Schuhe Derby Schnürer Wildleder Dunkelbraun",
ImageUrls: nil,
Eans: nil,
Hans: nil,
Pzns: nil,
Kbas: nil,
MerchantName: "",
MerchantId: "",
DeliveryComment: "",
Delivery: "1-3 Werktage",
MaxOrderProcessingTime: 1,
FreeReturnDays: 30,
Checkout: true,
CheckoutLimitPerPeriod: 13,
QuantityPerOrder: 2,
MinimumPrice: "",
FulfillmentType: "",
TwoManHandlingFee: "",
DisposalFee: "",
Eec: "",
EnergyLabels: nil,
Deposit: "",
Size: "",
Colour: "",
Gender: "",
Material: "",
Replica: false,
Used: false,
Download: false,
DynamicProductAttributes: nil,
}
// Add images
body.ImageUrls = append(body.ImageUrls, "https://www.marken-schuhmarkt.de/21-Lloyd-Herren-Schuhe-Derby-Halbschuhe-Wildleder-Hagen-27-600-12-braun-001.jpg")
// Add eans
body.Eans = append(body.Eans, "4032055134146")
// Update the timestamp
offer, err := goidealo.CreateOffer(325081, body, r)
if err != nil {
fmt.Println(err)
} else {
fmt.Println(offer)
}
Nachdem wir dieses Angebot nun erstellt haben, wollen wir die dazugehörigen Daten nun einmal auslesen.
Angebot auslesen
Damit Sie ein Angebot auslesen können, haben wir folgende Funktion in der Library ergänzt.
// Define request
r := goidealo.Request{
AccessToken: "",
}
// Get offer by sku
offer, err := goidealo.Offer(325081, "21-Lloyd-27-600-12-Hagen-UK6.5-Gr.40", r)
if err != nil {
fmt.Println(err)
} else {
fmt.Println(offer)
}
Nun haben Sie einen groben Überblick über den Funktionsumfang. Wenn Sie mehr Informationen benöttigen, oder sich die gesamte Dokumentation der Library ansehen wollen, dann schauen Sie auf unserem GitHub Profil vorbei.
P.S.: Wir stellen die Libraries kostenlos für alle Entwickler zur verfügung. Damit wir dies in Zukunft noch besser und detaillierter machen können, würden wir uns über ein Sponsoring sehr freuen.
Klicken Sie auf den unteren Button, um den Inhalt von github.com zu laden.