Falls ihr es selbst angehen wollt, hier ein kleiner Leitfaden.
Das haben wir so im Einsatz und damit schon mehrere hundert SKUs auf einmal wieder aktiv geschaltet.
1. Zugang: eigener API-Zugang bei OTTO (Client-ID und Secret). Den Token holt man über POST /v1/token mit grant_type=client_credentials und scope=products. Ohne scope kommt trotzdem ein Token zurück, der aber nichts darf. Das hat uns eine Stunde gekostet.
2. Betroffene SKUs finden: GET /v5/products/active-status bei OTTO liefert alle SKUs mit active true/false, 100 je Seite, weiter über die Links in der Antwort.
Auch ein Weg, aber den bin ich nicht gegangen:
Auf JTL-Seite gibt es ab Wawi 2.1 den Aufruf GET /v2/marketplace/offers, der alle Marktplatz-Angebote mit Kanal und Status liefert (Status 4 = eingestellt, noch als beta markiert). Was dort für OTTO auf 4 steht und bei OTTO false ist, muss wieder an. Mit einer älteren Wawi bleibt nur die Liste unter Plattformen > Weitere Verkaufskanäle > Laufende Angebote, gefiltert auf OTTO und "Eingestellt", die sich aber nicht exportieren lässt.
3. Aktivieren: POST /v5/products/active-status mit {"status":[{"sku":"...","active":true}]}, bis 500 SKUs je Aufruf.
4. Nachlesen: Die Antwort enthält nur einen Link auf den Vorgang (/v5/products/update-tasks/...). Den abfragen, bis state "done" ist. Es gibt nur "pending" und "done", also ein eigenes Zeitlimit setzen. Danach succeeded und failed prüfen und den Status nachlesen, für eine einzelne SKU über GET /v5/products/{sku}/active-status. Der Filter ?sku= auf der Liste nimmt nur eine SKU, mehrere liefern still eine leere Liste.
Täglich per Aufgabenplanung laufen lassen, dann bleibt nichts mehr hängen. Wenn ihr dabei hängen bleibt, meldet euch gern.