Aktualisieren von Produktpreisen und -verfügbarkeiten
Hinweis
Die Bestands-API ist nur für geschlossene Pilotteilnehmer verfügbar. Api und Dokumentation können geändert werden.
Wenn Sie lediglich die Preise und die Verfügbarkeit eines Produkts in Ihrem BMC-Speicher (Bing Merchant Center) aktualisieren müssen, sollten Sie die Ressource Bestand anstelle der Ressource Product verwenden. Bei der Ressource Product müssen Sie die vollständigen Details des Produkts angeben, aber mit der Ressource Bestand können Sie nur Den Preis und die Verfügbarkeit angeben.
Aktualisieren eines einzelnen Produkts
Um ein einzelnes Produkt zu aktualisieren, verwenden Sie die /bmc/{bmcMerchantId}/inventory/{storeCode}/products/{productUniqueId}
Vorlage in einer HTTP POST-Anforderung. Legen Sie {bmcMerchantId} auf Ihre Store-ID, {storeCode} auf online und {productUniqueId} auf die vollqualifizierte ID des Produkts fest.
Der Text der Anforderung ist ein Product-Objekt , das nur die folgenden Felder enthält:
- Preis
- availability
- salePrice
- salePriceEffectiveDate
Die price
Felder und availability
sind erforderlich. Der Aufruf schlägt fehl, wenn Sie nicht beide Felder angeben. Und salePrice
salePriceEffectiveDate
sind optional. Wenn Sie sie nicht angeben, werden der aktuelle Verkaufspreis und die Gültigen Datumswerte des Produkts aus dem Angebot entfernt.
Das folgende Beispiel zeigt eine POST-Anforderung.
POST https://content.api.bingads.microsoft.com/shopping/v9.1/bmc/1234/inventory/online/products/online:en:US:5678 HTTP/1.1
AuthenticationToken: EwAAA3hl...
DeveloperToken: 0417...
Content-Type: application/json
Host: content.api.bingads.microsoft.com
Content-Length: 73
{
"availability":"out of stock",
"price":{
"currency":"USD",
"value":1234.0
}
}
Wenn die Anforderung erfolgreich ist, wird status Code 200 und der URI des aktualisierten Produkts im Location-Header zurückgegeben.
HTTP/1.1 200 OK
Content-Type: application/json
Location: https://content.api.bingads.microsoft.com/shopping.svc/v9.1/bmc/1234/products/online:en:US:5678
WebRequestActivityId: e2c53946-e18c-4302-a40a-6d174429574a
Date: Fri, 09 Nov 2018 20:34:35 GMT
Content-Length: 46
{
"kind": "content#inventorySetResponse"
}
Und wenn die Antwort fehlschlägt, gibt die Anforderung status Code 400 zurück. Der Text enthält ein Fehlerantwortobjekt, das das Problem identifiziert.
HTTP/1.1 400 Bad Request
Content-Type: application/json
Location: https://content.api.bingads.microsoft.com/shopping.svc/v9.1/bmc/1234/products/online:en:US:5678
WebRequestActivityId: d3d31a3f-8993-428e-858c-730032e32a46
Date: Sat, 10 Nov 2018 14:35:14 GMT
Content-Length: 305
{
"error": {
"errors": [
{
"reason": "invalid",
"message": "Invalid value for: availability, stock is not a valid value",
"domain": "global"
}
],
"code": "400",
"message": "Invalid value for: availability, stock is not a valid value"
}
}
Beispielcode, der zeigt, wie die Ressource Bestand zum Aktualisieren eines einzelnen Produkts verwendet wird, finden Sie unter Aktualisieren von Preisen und Verfügbarkeit für ein einzelnes Produkt.
Aktualisieren mehrerer Produkte
Um mehrere Produkte zu aktualisieren, verwenden Sie die /bmc/{bmcMerchantId}/inventory/batch
Vorlage in einer HTTP POST-Anforderung. Legen Sie {bmcMerchantId} auf Ihre Store-ID fest.
Der Text der Anforderung ist ein Batch-Objekt , das maximal 400 zu aktualisierende Produkte enthalten kann. Jeder Eintrag im Batch enthält eine benutzerdefinierte Batch-ID, einen Geschäftscode, der auf online festgelegt ist, die vollqualifizierte ID des Produkts sowie die Preis- und Verfügbarkeitsfelder des Produkts, die aktualisiert werden sollen. Das Product-Objekt darf nur die folgenden Felder enthalten:
- Preis
- availability
- salePrice
- salePriceEffectiveDate
Die price
Felder und availability
sind erforderlich. Der Aufruf schlägt fehl, wenn Sie nicht beide Felder angeben. Und salePrice
salePriceEffectiveDate
sind optional. Wenn Sie sie nicht angeben, werden der aktuelle Verkaufspreis und die Gültigen Datumswerte des Produkts aus dem Angebot entfernt.
Das folgende Beispiel zeigt eine POST-Anforderung.
POST https://content.api.bingads.microsoft.com/shopping/v9.1/bmc/1234/inventory/batch HTTP/1.1
AuthenticationToken: EwAAA3hl...
DeveloperToken: 0417...
Content-Type: application/json
Host: content.api.bingads.microsoft.com
Content-Length: 194
{
"entries":[
{
"batchId":1,
"storeCode":"online",
"productId":"online:en:US:5678",
"inventory":{
"availability":"in stock",
"price":{
"currency":"USD",
"value":4567.0
}
}
},
{
"batchId":2,
"storeCode":"online",
"productId":"online:en:US:9012",
"inventory":{
"availability":"bad in stock",
"price":{
"currency":"USD",
"value":678.0
}
}
}
]
}
Da die Anforderung versucht, jedes Produkt im Batch zu aktualisieren, wird status Code 200 zurückgegeben. Um festzustellen, ob bei einem Update ein Fehler aufgetreten ist, müssen Sie alle Einträge im Batch durchlaufen. Ein Update ist fehlgeschlagen, wenn der Eintrag das errors
Feld enthält; andernfalls war es erfolgreich.
HTTP/1.1 200 OK
Content-Type: application/json
WebRequestActivityId: bf019ef5-fa76-4703-9132-7954b0323c81
Date: Fri, 09 Nov 2018 20:48:15 GMT
Content-Length: 172
{
"kind": "content#inventoryCustomBatchResponse",
"entries": [
{
"kind": "content#inventoryCustomBatchEntryResponse",
"batchId": "1"
},
{
"kind": "content#inventoryCustomBatchEntryResponse",
"batchId": "2",
"errors": {
"errors": [
{
"reason": "invalid",
"message": "Invalid value for: availability, bad in stock is not a valid value",
"domain": "global"
}
]
}
}
]
}
Beispielcode, der zeigt, wie die Ressource Bestand zum Aktualisieren eines Produktbatches verwendet wird, finden Sie unter Aktualisieren von Preisen und Verfügbarkeit für einen Batch von Produkten.