Migration Guide from SOAP to REST or JSON

With FACT-Finder NG, the SOAP/Webservice-API is no longer an option.To facilitate the switch from SOAP, here is a list of all existing SOAP methods and there replacements for REST- and JSON-API. You can generate a client using the Swagger documentation for REST-API or the JSON-Schema-Definitions, to generate a client for calling these methods.

 SOAP MethodREST-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(...)



We have no record of these methods being used, so they can be deleted without replacement. If you are actually using any of them, please contact Support to coordinate further steps. These acions can, generally, be performed via the user interface.

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=ySadly, there is no JSON-API replacement for this method.
Import.insertRecord(...)POST ../rest/{apiversion}/records/{channel}

../Insert.ff

Import.insertRecords(...)POST ../rest/{apiversion}/records/{channel}Sadly, there is no JSON-API replacement for this method.
Import.downloadProductExport(...)We have no record of this method being used, so they can be deleted without replacement. If you are actually using it, please contact Support to coordinate further steps. These acions can, generally, be performed via the user interface.
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

Sadly, there is no JSON-API replacement for this method.

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(...)

Error messages during import are part of the respective return. Additionally, you can receive import errors per mail at set intervals or review them via the interface, so there is no replacement for this method. If you are actually using it, please contact Support to coordinate further steps. These acions can, generally, be performed via the user interface.

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&..
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(...)







We have no record of these methods being used, so they can be deleted without replacement. If you are actually using any of them, please contact Support to coordinate further steps. These acions can, generally, be performed via the user interface.

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