Migration Guide von SOAP zu REST oder JSON

Wie Sie vermutlich bereits in den Integrationsdokumentationen gelesen haben, wird die SOAP/Webservice-API nicht mehr erweitert oder aktualisiert und entfällt mittelfristig. Sollten Sie bisher die SOAP-Schittstelle verwenden, können Sie diese noch weiterhin nutzen, wir empfehlen aber auch hier die Integrationsschnittstelle zu ändern, um von den Vorteilen der anderen Schnittstellen, wie eine schnellere Übertragung und somit Geschwindigkeit, zu profitieren.

Um den Umstieg auf eine neue Schnittstelle möglichst reibungslos und ohne größere Aufwände zu ermöglichen, haben wir Ihnen hier die bisherigen SOAP Methoden und deren Ersatz in der REST- und JSON-API aufgelistet. Aus der Swagger-Dokumentation für die REST-API oder den mitgelieferten JSON-Schema-Definitionen, können Sie einen entsprechenden Client generieren um die Methoden bequem aufrufen zu können.

 SOAP MethodeREST-API (http-method URL)JSON-API
Campaign.getProductCampaigns(...)GET ../rest/{apiversion}/campaign/{channel}/product../ProductCampaign.ff?do=getProductCampaigns&format=json&..
Campaign.getShoppingCartCampaigns(...)GET ../rest/{apiversion}/campaign/{channel}/shoppingcart../ProductCampaign.ff?do=getShoppingCartCampaigns&format=json&..
Campaign.getPageCampaigns(...)GET ../rest/{apiversion}/campaign/{channel}/page../ProductCampaign.ff?do=getPageCampaigns&format=json&..
ChannelManagement.createChannel(...)



Uns ist keine Verwendung dieser Methoden bekannt, so dass diese ersatzlos gestrichen worden sind. Sollten Sie jedoch eine oder mehrerer dieser Methoden verwenden, kontaktieren Sie bitte den Support um das weitere Vorgehen zu besprechen. Diese Aktionen sind weiterhin generell über die Oberfläche ausführbar.

ChannelManagement.applyLocaleDefaults(...)
ChannelManagement.applyInitTemplate(...)
ChannelManagement.deleteChannel(...)
ChannelManagement.getAllChannels(...)
Import.deleteRecord(...)DELETE ../rest/{apiversion}/records/{channel}?recordId=x

../Delete.ff

Import.deleteRecords(...)DELETE ../rest/{apiversion}/records/{channel}?recordId=x&recordId=yFür diese Methode gibt es in der JSON-API leider keinen Ersatz
Import.insertRecord(...)POST ../rest/{apiversion}/records/{channel}

../Insert.ff

Import.insertRecords(...)POST ../rest/{apiversion}/records/{channel}Für diese Methode gibt es in der JSON-API leider keinen Ersatz
Import.downloadProductExport(...)Uns ist keine Verwendung dieser Methode bekannt, so dass diese ersatzlos gestrichen worden ist. Sollten Sie diese Methode jedoch verwenden, kontaktieren Sie bitte den Support um das weitere Vorgehen zu besprechen.
Import.startImport(...)POST ../rest/{apiversion}/import/search?channel=de

../Import.ff?format=json&channel=A

Import.startImports(...)POST ../rest/{apiversion}/import/search?channel=de&channel=at

Für diese Methode gibt es in der JSON-API leider keinen Ersatz

Import.startSuggestImport(...)POST ../rest/{apiversion}/import/suggest?channel=de

../Import.ff?format=json&type=suggest&channel=A

Import.updateRecord(...)PUT ../rest/{apiversion}/records/{channel}

../Update.ff

Import.getErrors(...)

Fehlermeldungen, die beim Import auftreten, sind Teil der entsprechenden Rückgabe, so dass diese zu diesem Zeitpuntk abgefangen werden können. Zusätzlich ist es möglich Importfehler zyklisch per Mail zu bekommen oder über die Oberfläche einzusehen, daher gibt es für diese Methode keinen Ersatz. Sollten Sie diese Methode jedoch verwenden, kontaktieren Sie bitte den Support um das weitere Vorgehen zu besprechen.

ProductComparison.compareRecords(...)GET ../rest/{apiversion}/compareproducts/{channel}../Compare.ff?format=json&..
Recommender.importData(...)POST ../rest/{apiversion}/import/recommendation?channel=de../Recommender.ff?do=importData&format=json&..
Recommender.getRecommendation(...)GET ../rest/{apiversion}/recommendation/{channel}../Recommender.ff?do=getRecommendation&format=json&..
RefreshDatabases.refreshAllDatabases(...)POST ../rest/{apiversion}/refreshdatabases/all

../RefreshDatabases.ff?do=refreshAllDatabases&..

RefreshDatabases.refreshDatabase(...)POST ../rest/{apiversion}/refreshdatabases/search?channel=a../RefreshDatabases.ff?do=refreshDatabases&channel=A
RefreshDatabases.refreshDatabases(...)POST ../rest/{apiversion}/refreshdatabases/search?channel=a&channel=b../RefreshDatabases.ff?do=refreshDatabases&channel=A,B
RefreshDatabases.refreshDatabasesOnNextRequest(...)Uns ist keine Verwendung dieser Methode bekannt, so dass diese ersatzlos gestrichen worden ist. Sollten Sie diese Methode jedoch verwenden, kontaktieren Sie bitte den Support um das weitere Vorgehen zu besprechen. ../RefreshDatabases.ff?do=refreshDatabasesOnNextRequest&..
RefreshDatabases.refreshSuggestDatabase(...)POST ../rest/{apiversion}/refreshdatabases/suggest?channel=a../RefreshDatabases.ff?do=refreshSuggestDatabases&channel=A
RefreshDatabases.refreshSuggestDatabases(...)POST ../rest/{apiversion}/refreshdatabases/suggest?channel=a&channel=b../RefreshDatabases.ff?do=refreshSuggestDatabases&channel=A,B
RefreshDatabases.refreshRecommenderDatabase(...)POST ../rest/{apiversion}/refreshdatabases/recommendation?channel=a../RefreshDatabases.ff?do=refreshRecommenderDatabases&channel=A
RefreshDatabases.refreshRecommenderDatabases(...)POST ../rest/{apiversion}/refreshdatabases/recommendation?channel=a&channel=b../RefreshDatabases.ff?do=refreshRecommenderDatabases&channel=A,B
Search.getResult(...)GET ../rest/{apiversion}/search/{channel} oder POST ./rest/{apiversion}/search../Search.ff?format=json&..
Search.getSuggestions(...)GET ../rest/{apiversion}/suggest/{channel}

../Suggest.ff?format=json&..

SimilarProducts.getSimilarProducts(...)GET ../rest/{apiversion}/similarproducts/{channel}

../SimilarRecords.ff?format=json&..

TagCloud.getTagCloudEntries(...)GET ../rest/{apiversion}/tagcloud/{channel}

../TagCloud.ff?do=getTagCloud&format=json&..

Tracking.logInformation(...)POST ../rest/{apiversion}/track/{channel}/{[cart, checkout, click, feedback, log, login, recommendationClick]}../Tracking.ff?..
Tracking.logMultipleInformation(...)POST ../rest/{apiversion}/track/{channel}/{[cart, checkout, click, feedback, log, login, recommendationClick]}../Tracking.ff?..
UserManagement.createGroup(...)







Uns ist keine Verwendung dieser Methoden bekannt, so dass diese ersatzlos gestrichen worden sind. Sollten Sie jedoch eine oder mehrerer dieser Methoden verwenden, kontaktieren Sie bitte den Support um das weitere Vorgehen zu besprechen. Diese Aktionen sind weiterhin generell über die Oberfläche ausführbar.

UserManagement.deleteGroup(...)
UserManagement.deleteUser(...)
UserManagement.getAllUsers(...)
UserManagement.getAllGroups(...)
UserManagement.getAllRoles(...)
UserManagement.getGroup(...)
UserManagement.getUser(...)
UserManagement.isAdmin(...)
UserManagement.updateGroup(...)
UserManagement.updateUser(...)
UserManagement.createUser(...)