Records
Operations for records
Required Roles: ApiPublicQueries
The channel
The id for which the detailpage should be returned.
Use this parameter to override the geo setting "exclude products not in range" for this request.
Filters for field values of returned similar articles, recommendations, and pushed products.
Use this parameter to determine the type of ID passed to the method. Use 'productNumber' if the given ID is from the field with 'productNumber' role. Use 'id' if it is from the field with 'masterId' role.
id
Possible values: If the value true is passed, then only the record IDs will be returned, streamlining the results. Additionally, if the Geo module is enabled, the IDs of all markets the product is mapped to will be also included. If you do not need the other information in the results, this will help you to improve performance.
false
The latitude coordinate of the current location.
The longitude coordinate of the current location.
Currently selected markets
The maximum number of variants to return for every record
5
Use this parameter to override the geo setting "maximum distance" for this request.
Use this parameter to specify the number of recommendations you would like. The default value from the configuration is used if the parameter is not specified.
0
Use this parameter to specify the number of similar articles you would like. The default value from the configuration is used if the parameter is not specified.
10
Use this parameter to pass the purchaser ID. This ID is only needed, if the 'Customer-Specific Info' module is active. Otherwise it will be ignored.
Specifies whether the list of all existing markets and their distance to the search location should be included in the response. By default, the GEO setting "showMarkets" is applied.
This parameter is used to pass an id for the user session. This is important for recognising the user, if you want to trigger personalised campaigns, as well as for FACT-Finder tracking.
Allows the activation/deactivation of the personalization of queries. true = the search result will be personalized if the personalization module is activated and all other requirements are met; false = the search result will not be personalized.
true
This parameter is used to pass a user id for personalization across sessions. Required for Loop54 integrations.
true
true
true
true
OK
Bad Request
Unauthorized
Forbidden
Not Found
Server Error
GET /fact-finder//rest/v5/detail/{channel}/{id} HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Accept: */*
{
"campaigns": [
{
"activeQuestions": [
{
"answers": [
"[Circular Reference]"
],
"id": "text",
"text": "text",
"visible": true
}
],
"ad": true,
"advisorTree": [
{
"answers": [
"[Circular Reference]"
],
"id": "text",
"text": "text",
"visible": true
}
],
"category": "text",
"excludeProductsNotInMarkets": true,
"excludeProductsNotInRange": true,
"feedbackTexts": [
{
"html": true,
"label": "product detail - below product",
"position": 1,
"teaser": true,
"text": "text"
}
],
"flavour": "ADVISOR",
"hits": [
{
"id": "text",
"masterValues": {
"ANY_ADDITIONAL_PROPERTY": {}
},
"variantValues": [
{
"ANY_ADDITIONAL_PROPERTY": {}
}
]
}
],
"id": "text",
"name": "text",
"target": {
"destination": "https://www.shop.de/about-us/contact.html",
"name": "text"
}
}
],
"fieldRoles": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"geo": {
"markets": [
{
"distance": 1,
"hasProducts": true,
"id": "text",
"location": {
"latitude": 1,
"longitude": 1
},
"searchParams": {
"activeAbTests": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"advisorStatus": {
"answerPath": "_0_0_0_1",
"id": "text"
},
"articleNumberSearch": "DETECT",
"customParameters": [
{
"cacheIrrelevant": true,
"name": "text",
"values": [
"text"
]
}
],
"exactSearchMode": "LEGACY",
"excludeProductsNotInRange": true,
"filters": [
{
"filterWarning": "NON_EXISTING_FIELD",
"name": "text",
"substring": true,
"values": [
{
"exclude": true,
"type": "or",
"value": "text"
}
]
}
],
"followSearch": "text",
"hitsPerPage": 1,
"location": {
"latitude": 1,
"longitude": 1
},
"marketIds": [
"text"
],
"maxCountVariants": 1,
"maxDistance": 1,
"page": 1,
"purchaserId": "text",
"query": "text",
"searchField": "text",
"showMarkets": true,
"showPermutedSearchParams": true,
"sortItems": [
{
"name": "text",
"order": "asc"
}
],
"splitDocumentsAt": 1
},
"selected": "TRUE"
}
],
"selectedMarkets": [
{
"distance": 1,
"hasProducts": true,
"id": "text",
"location": {
"latitude": 1,
"longitude": 1
},
"searchParams": {
"activeAbTests": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"advisorStatus": {
"answerPath": "_0_0_0_1",
"id": "text"
},
"articleNumberSearch": "DETECT",
"customParameters": [
{
"cacheIrrelevant": true,
"name": "text",
"values": [
"text"
]
}
],
"exactSearchMode": "LEGACY",
"excludeProductsNotInRange": true,
"filters": [
{
"filterWarning": "NON_EXISTING_FIELD",
"name": "text",
"substring": true,
"values": [
{
"exclude": true,
"type": "or",
"value": "text"
}
]
}
],
"followSearch": "text",
"hitsPerPage": 1,
"location": {
"latitude": 1,
"longitude": 1
},
"marketIds": [
"text"
],
"maxCountVariants": 1,
"maxDistance": 1,
"page": 1,
"purchaserId": "text",
"query": "text",
"searchField": "text",
"showMarkets": true,
"showPermutedSearchParams": true,
"sortItems": [
{
"name": "text",
"order": "asc"
}
],
"splitDocumentsAt": 1
},
"selected": "TRUE"
}
],
"showDistance": true,
"showMarkets": true
},
"recommendations": {
"hits": [
{
"id": "text",
"masterValues": {
"ANY_ADDITIONAL_PROPERTY": {}
},
"variantValues": [
{
"ANY_ADDITIONAL_PROPERTY": {}
}
]
}
],
"timedOut": true
},
"record": {
"id": "text",
"masterValues": {
"ANY_ADDITIONAL_PROPERTY": {}
},
"variantValues": [
{
"ANY_ADDITIONAL_PROPERTY": {}
}
]
},
"similarProducts": {
"attributes": [
{
"name": "text",
"value": "text"
}
],
"hits": [
{
"id": "text",
"masterValues": {
"ANY_ADDITIONAL_PROPERTY": {}
},
"variantValues": [
{
"ANY_ADDITIONAL_PROPERTY": {}
}
]
}
]
}
}
Required Roles: ApiPublicQueries
The channel
The market ids.
OK
Bad Request
Unauthorized
Forbidden
Server Error
GET /fact-finder//rest/v5/markets/{channel} HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Accept: */*
[
{
"marketId": "berlin",
"location": {
"latitude": 52.520008,
"longitude": 13.404954
}
}
]
Required Roles: ApiImport
The channel
false
The markets which should be updated
OK
Bad Request
Unauthorized
Forbidden
Server Error
POST /fact-finder//rest/v5/markets/{channel} HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 79
[
{
"marketId": "berlin",
"location": {
"latitude": 52.520008,
"longitude": 13.404954
}
}
]
[
{
"error": {
"description": "Unique value already exists: ArticleNumber=1234",
"name": "FieldConstraintException",
"stacktrace": "de.factfinder.worldmatch.index.FieldConstraintException: Unique value already exists: ArticleNumber=1234"
},
"record": {
"marketId": "berlin",
"location": {
"latitude": 52.520008,
"longitude": 13.404954
}
},
"success": true,
"warnings": [
{
"description": "Unique value already exists: ArticleNumber=1234",
"name": "FieldConstraintException",
"stacktrace": "de.factfinder.worldmatch.index.FieldConstraintException: Unique value already exists: ArticleNumber=1234"
}
]
}
]
Required Roles: ApiImport
The channel
The ids of the markets which should be deleted.
false
The ids of the markets which should be deleted.
OK
Bad Request
Unauthorized
Forbidden
Server Error
DELETE /fact-finder//rest/v5/markets/{channel} HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 22
{
"marketIds": [
"text"
]
}
[
{
"error": {
"description": "Unique value already exists: ArticleNumber=1234",
"name": "FieldConstraintException",
"stacktrace": "de.factfinder.worldmatch.index.FieldConstraintException: Unique value already exists: ArticleNumber=1234"
},
"recordId": "text",
"success": true,
"warnings": [
{
"description": "Unique value already exists: ArticleNumber=1234",
"name": "FieldConstraintException",
"stacktrace": "de.factfinder.worldmatch.index.FieldConstraintException: Unique value already exists: ArticleNumber=1234"
}
]
}
]
Required Roles: ApiPublicQueries
The channel
The product numbers of the records which should be returned.
Use this parameter to pass the purchaser ID. This ID is only needed, if the 'Customer-Specific Info' module is active. Otherwise it will be ignored.
false
OK
Bad Request
Unauthorized
Forbidden
Server Error
GET /fact-finder//rest/v5/records/{channel} HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Accept: */*
{
"fieldRoles": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"records": [
{
"MasterArticleNumber": "3d407d51e8ca255a429fab65961428cc",
"ArticleNumber": "123-4567",
"Title": "Osprey - Women's Tempest 30 - Touring backpack",
"IsMaster": true,
"Manufacturer": "Osprey",
"InsertDate": "2017-03-02T01:00:00+01:00",
"Image": "http://demoshop.fact-finder.de/demoshop-images/bergfreunde/sol_502-2806-0111_pic1_1.jpg",
"Price": 100.95,
"Colors": [
"red",
"grey"
],
"RatingCount": 0,
"Category": [
[
"Outdoor equipment",
"Backpacks",
"Mountaineering backpacks"
],
[
"Outdoor equipment",
"Backpacks",
"Daypacks"
]
],
"VAT": "20",
"MultiFilter": {
"Volume": [
30.5
],
"Recommended use": [
"Trail running",
"Trekking",
"Hillwalking"
],
"Features": [
"Ice-pick holder",
"Front access",
"Mesh back",
"Hydration compatible"
],
"Weight": [
860
]
},
"GtinList": [
"0-943396-04-1",
"0-85131-041-1"
],
"BooleanList": [
true,
false,
true,
true
]
}
]
}
Required Roles: ApiImport
The channel
false
The records which should be inserted
OK
Bad Request
Unauthorized
Forbidden
Server Error
POST /fact-finder//rest/v5/records/{channel} HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 779
[
{
"MasterArticleNumber": "3d407d51e8ca255a429fab65961428cc",
"ArticleNumber": "123-4567",
"Title": "Osprey - Women's Tempest 30 - Touring backpack",
"IsMaster": true,
"Manufacturer": "Osprey",
"InsertDate": "2017-03-02T01:00:00+01:00",
"Image": "http://demoshop.fact-finder.de/demoshop-images/bergfreunde/sol_502-2806-0111_pic1_1.jpg",
"Price": 100.95,
"Colors": [
"red",
"grey"
],
"RatingCount": 0,
"Category": [
[
"Outdoor equipment",
"Backpacks",
"Mountaineering backpacks"
],
[
"Outdoor equipment",
"Backpacks",
"Daypacks"
]
],
"VAT": "20",
"MultiFilter": {
"Volume": [
30.5
],
"Recommended use": [
"Trail running",
"Trekking",
"Hillwalking"
],
"Features": [
"Ice-pick holder",
"Front access",
"Mesh back",
"Hydration compatible"
],
"Weight": [
860
]
},
"GtinList": [
"0-943396-04-1",
"0-85131-041-1"
],
"BooleanList": [
true,
false,
true,
true
]
}
]
[
{
"error": {
"description": "Unique value already exists: ArticleNumber=1234",
"name": "FieldConstraintException",
"stacktrace": "de.factfinder.worldmatch.index.FieldConstraintException: Unique value already exists: ArticleNumber=1234"
},
"record": {
"MasterArticleNumber": "3d407d51e8ca255a429fab65961428cc",
"ArticleNumber": "123-4567",
"Title": "Osprey - Women's Tempest 30 - Touring backpack",
"IsMaster": true,
"Manufacturer": "Osprey",
"InsertDate": "2017-03-02T01:00:00+01:00",
"Image": "http://demoshop.fact-finder.de/demoshop-images/bergfreunde/sol_502-2806-0111_pic1_1.jpg",
"Price": 100.95,
"Colors": [
"red",
"grey"
],
"RatingCount": 0,
"Category": [
[
"Outdoor equipment",
"Backpacks",
"Mountaineering backpacks"
],
[
"Outdoor equipment",
"Backpacks",
"Daypacks"
]
],
"VAT": "20",
"MultiFilter": {
"Volume": [
30.5
],
"Recommended use": [
"Trail running",
"Trekking",
"Hillwalking"
],
"Features": [
"Ice-pick holder",
"Front access",
"Mesh back",
"Hydration compatible"
],
"Weight": [
860
]
},
"GtinList": [
"0-943396-04-1",
"0-85131-041-1"
],
"BooleanList": [
true,
false,
true,
true
]
},
"success": true,
"warnings": [
{
"description": "Unique value already exists: ArticleNumber=1234",
"name": "FieldConstraintException",
"stacktrace": "de.factfinder.worldmatch.index.FieldConstraintException: Unique value already exists: ArticleNumber=1234"
}
]
}
]
Required Roles: ApiImport
The channel
false
The records which should be updated
OK
Bad Request
Unauthorized
Forbidden
Server Error
PUT /fact-finder//rest/v5/records/{channel} HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 779
[
{
"MasterArticleNumber": "3d407d51e8ca255a429fab65961428cc",
"ArticleNumber": "123-4567",
"Title": "Osprey - Women's Tempest 30 - Touring backpack",
"IsMaster": true,
"Manufacturer": "Osprey",
"InsertDate": "2017-03-02T01:00:00+01:00",
"Image": "http://demoshop.fact-finder.de/demoshop-images/bergfreunde/sol_502-2806-0111_pic1_1.jpg",
"Price": 100.95,
"Colors": [
"red",
"grey"
],
"RatingCount": 0,
"Category": [
[
"Outdoor equipment",
"Backpacks",
"Mountaineering backpacks"
],
[
"Outdoor equipment",
"Backpacks",
"Daypacks"
]
],
"VAT": "20",
"MultiFilter": {
"Volume": [
30.5
],
"Recommended use": [
"Trail running",
"Trekking",
"Hillwalking"
],
"Features": [
"Ice-pick holder",
"Front access",
"Mesh back",
"Hydration compatible"
],
"Weight": [
860
]
},
"GtinList": [
"0-943396-04-1",
"0-85131-041-1"
],
"BooleanList": [
true,
false,
true,
true
]
}
]
[
{
"error": {
"description": "Unique value already exists: ArticleNumber=1234",
"name": "FieldConstraintException",
"stacktrace": "de.factfinder.worldmatch.index.FieldConstraintException: Unique value already exists: ArticleNumber=1234"
},
"record": {
"MasterArticleNumber": "3d407d51e8ca255a429fab65961428cc",
"ArticleNumber": "123-4567",
"Title": "Osprey - Women's Tempest 30 - Touring backpack",
"IsMaster": true,
"Manufacturer": "Osprey",
"InsertDate": "2017-03-02T01:00:00+01:00",
"Image": "http://demoshop.fact-finder.de/demoshop-images/bergfreunde/sol_502-2806-0111_pic1_1.jpg",
"Price": 100.95,
"Colors": [
"red",
"grey"
],
"RatingCount": 0,
"Category": [
[
"Outdoor equipment",
"Backpacks",
"Mountaineering backpacks"
],
[
"Outdoor equipment",
"Backpacks",
"Daypacks"
]
],
"VAT": "20",
"MultiFilter": {
"Volume": [
30.5
],
"Recommended use": [
"Trail running",
"Trekking",
"Hillwalking"
],
"Features": [
"Ice-pick holder",
"Front access",
"Mesh back",
"Hydration compatible"
],
"Weight": [
860
]
},
"GtinList": [
"0-943396-04-1",
"0-85131-041-1"
],
"BooleanList": [
true,
false,
true,
true
]
},
"success": true,
"warnings": [
{
"description": "Unique value already exists: ArticleNumber=1234",
"name": "FieldConstraintException",
"stacktrace": "de.factfinder.worldmatch.index.FieldConstraintException: Unique value already exists: ArticleNumber=1234"
}
]
}
]
Required Roles: ApiImport
The channel
The ids from the records which should be deleted.
Use this parameter to determine the type of ID passed to the method. Use 'productNumber' if the given ID is from the field with 'productNumber' role. Use 'id' if it is from the field with 'masterId' role.
productNumber
Possible values: false
The ids of the records which should be deleted.
OK
Bad Request
Unauthorized
Forbidden
Server Error
DELETE /fact-finder//rest/v5/records/{channel} HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 16
{
"ids": [
"text"
]
}
[
{
"error": {
"description": "Unique value already exists: ArticleNumber=1234",
"name": "FieldConstraintException",
"stacktrace": "de.factfinder.worldmatch.index.FieldConstraintException: Unique value already exists: ArticleNumber=1234"
},
"recordId": "text",
"success": true,
"warnings": [
{
"description": "Unique value already exists: ArticleNumber=1234",
"name": "FieldConstraintException",
"stacktrace": "de.factfinder.worldmatch.index.FieldConstraintException: Unique value already exists: ArticleNumber=1234"
}
]
}
]
Required Roles: ApiPublicQueries
The channel
Use this parameter to pass product ID(s) which should be compared.
If the value true is passed, then only the record IDs will be returned, streamlining the results. Additionally, if the Geo module is enabled, the IDs of all markets the product is mapped to will be also included. If you do not need the other information in the results, this will help you to improve performance.
false
Use this parameter to pass the purchaser ID. This ID is only needed, if the 'Customer-Specific Info' module is active. Otherwise it will be ignored.
OK
Bad Request
Unauthorized
Forbidden
Server Error
GET /fact-finder//rest/v5/records/{channel}/compare HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Accept: */*
{
"attributes": [
{
"different": true,
"name": "text",
"sourceField": "text"
}
],
"fieldRoles": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"records": [
{
"id": "text",
"values": {
"ANY_ADDITIONAL_PROPERTY": {}
}
}
]
}
Required Roles: ApiPublicQueries
The channel
The product numbers of the records for which customer prices should be returned.
Use this parameter to determine the type of ID passed to the method. Use 'productNumber' if the given ID is from the field with 'productNumber' role. Use 'id' if it is from the field with 'masterId' role.
productNumber
Possible values: OK
Bad Request
Unauthorized
Forbidden
Server Error
GET /fact-finder//rest/v5/records/{channel}/customerprices HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Accept: */*
[
{
"ArticleNumber": "123-4567",
"price": {
"1417": 44.14,
"1514": 44.22,
"4651": 42.12
},
"futurePrice": {
"1514": 44.11,
"4651": 42.17
}
}
]
Required Roles: ApiImport
The channel
false
The records which should be inserted
OK
Bad Request
Unauthorized
Forbidden
Server Error
POST /fact-finder//rest/v5/records/{channel}/customerprices HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 121
[
{
"ArticleNumber": "123-4567",
"price": {
"1417": 44.14,
"1514": 44.22,
"4651": 42.12
},
"futurePrice": {
"1514": 44.11,
"4651": 42.17
}
}
]
[
{
"error": {
"description": "Unique value already exists: ArticleNumber=1234",
"name": "FieldConstraintException",
"stacktrace": "de.factfinder.worldmatch.index.FieldConstraintException: Unique value already exists: ArticleNumber=1234"
},
"record": {
"ArticleNumber": "123-4567",
"price": {
"1417": 44.14,
"1514": 44.22,
"4651": 42.12
},
"futurePrice": {
"1514": 44.11,
"4651": 42.17
}
},
"success": true,
"warnings": [
{
"description": "Unique value already exists: ArticleNumber=1234",
"name": "FieldConstraintException",
"stacktrace": "de.factfinder.worldmatch.index.FieldConstraintException: Unique value already exists: ArticleNumber=1234"
}
]
}
]
Required Roles: ApiImport
The channel
The ids from the records which should be deleted.
Use this parameter to determine the type of ID passed to the method. Use 'productNumber' if the given ID is from the field with 'productNumber' role. Use 'id' if it is from the field with 'masterId' role.
productNumber
Possible values: false
The ids of the records which should be deleted.
OK
Bad Request
Unauthorized
Forbidden
Server Error
DELETE /fact-finder//rest/v5/records/{channel}/customerprices HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 16
{
"ids": [
"text"
]
}
[
{
"error": {
"description": "Unique value already exists: ArticleNumber=1234",
"name": "FieldConstraintException",
"stacktrace": "de.factfinder.worldmatch.index.FieldConstraintException: Unique value already exists: ArticleNumber=1234"
},
"recordId": "text",
"success": true,
"warnings": [
{
"description": "Unique value already exists: ArticleNumber=1234",
"name": "FieldConstraintException",
"stacktrace": "de.factfinder.worldmatch.index.FieldConstraintException: Unique value already exists: ArticleNumber=1234"
}
]
}
]
Required Roles: ApiPublicQueries
The channel
The record ids of the records which should be returned
Use this parameter to determine the type of ID passed to the method. Use 'productNumber' if the given ID is from the field with 'productNumber' role. Use 'id' if it is from the field with 'masterId' role.
id
Possible values: The maximum number of variants to return for every record
5
Use this parameter to pass the purchaser ID. This ID is only needed, if the 'Customer-Specific Info' module is active. Otherwise it will be ignored.
OK
Bad Request
Unauthorized
Forbidden
Server Error
GET /fact-finder//rest/v5/records/{channel}/full HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Accept: */*
{
"fieldRoles": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"records": [
{
"masterValues": {
"ANY_ADDITIONAL_PROPERTY": {}
},
"variantValues": [
{
"ANY_ADDITIONAL_PROPERTY": {}
}
]
}
]
}
Required Roles: ApiPublicQueries
The channel
The product numbers of the records for which geo data should be returned.
OK
Bad Request
Unauthorized
Forbidden
Server Error
GET /fact-finder//rest/v5/records/{channel}/geo HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Accept: */*
[
{
"ArticleNumber": "016-1545",
"marketId": "506223",
"geoBoost": 14,
"geoPrice": 300.95
}
]
Required Roles: ApiImport
The channel
false
The records which should be updated
OK
Bad Request
Unauthorized
Forbidden
Server Error
POST /fact-finder//rest/v5/records/{channel}/geo HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 82
[
{
"ArticleNumber": "016-1545",
"marketId": "506223",
"geoBoost": 14,
"geoPrice": 300.95
}
]
[
{
"error": {
"description": "Unique value already exists: ArticleNumber=1234",
"name": "FieldConstraintException",
"stacktrace": "de.factfinder.worldmatch.index.FieldConstraintException: Unique value already exists: ArticleNumber=1234"
},
"record": {
"ArticleNumber": "016-1545",
"marketId": "506223",
"geoBoost": 14,
"geoPrice": 300.95
},
"success": true,
"warnings": [
{
"description": "Unique value already exists: ArticleNumber=1234",
"name": "FieldConstraintException",
"stacktrace": "de.factfinder.worldmatch.index.FieldConstraintException: Unique value already exists: ArticleNumber=1234"
}
]
}
]
Required Roles: ApiImport
The channel
The ids from the records which should be deleted.
false
The ids of the records which should be deleted.
OK
Bad Request
Unauthorized
Forbidden
Server Error
DELETE /fact-finder//rest/v5/records/{channel}/geo HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 16
{
"ids": [
"text"
]
}
[
{
"error": {
"description": "Unique value already exists: ArticleNumber=1234",
"name": "FieldConstraintException",
"stacktrace": "de.factfinder.worldmatch.index.FieldConstraintException: Unique value already exists: ArticleNumber=1234"
},
"recordId": "text",
"success": true,
"warnings": [
{
"description": "Unique value already exists: ArticleNumber=1234",
"name": "FieldConstraintException",
"stacktrace": "de.factfinder.worldmatch.index.FieldConstraintException: Unique value already exists: ArticleNumber=1234"
}
]
}
]
Required Roles: ApiPublicQueries
The channel
The record ids of the records which should be returned
Use this parameter to determine the type of ID passed to the method. Use 'productNumber' if the given ID is from the field with 'productNumber' role. Use 'id' if it is from the field with 'masterId' role.
id
Possible values: Use this parameter to pass the purchaser ID. This ID is only needed, if the 'Customer-Specific Info' module is active. Otherwise it will be ignored.
OK
Bad Request
Unauthorized
Forbidden
Server Error
GET /fact-finder//rest/v5/records/{channel}/meta HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Accept: */*
{
"entries": [
{
"id": "text",
"state": "VISIBLE"
}
]
}
Required Roles: ApiPublicQueries
The channel
Use this parameter to determine the type of ID passed to the method. Use 'productNumber' if the given ID is from the field with 'productNumber' role. Use 'id' if it is from the field with 'masterId' role.
id
Possible values: Use this parameter to pass the purchaser ID. This ID is only needed, if the 'Customer-Specific Info' module is active. Otherwise it will be ignored.
The record ids of the records which should be returned.
OK
Bad Request
Unauthorized
Forbidden
Server Error
POST /fact-finder//rest/v5/records/{channel}/meta HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 16
{
"ids": [
"text"
]
}
{
"entries": [
{
"id": "text",
"state": "VISIBLE"
}
]
}
Required Roles: ApiPublicQueries
The channel
Use this parameter to override the geo setting "exclude products not in range" for this request.
Filters for field values of recommended records.
Use this parameter to pass product ID(s) for which you wish to obtain recommendations.
If the value true is passed, then only the record IDs will be returned, streamlining the results. Additionally, if the Geo module is enabled, the IDs of all markets the product is mapped to will be also included. If you do not need the other information in the results, this will help you to improve performance.
false
The latitude coordinate of the current location.
The longitude coordinate of the current location.
Currently selected markets
Use this parameter to override the geo setting "maximum distance" for this request.
Use this parameter to specify the number of recommendations you would like. The default value from the configuration is used if the parameter is not specified.
0
Use this parameter to pass the purchaser ID. This ID is only needed, if the 'Customer-Specific Info' module is active. Otherwise it will be ignored.
This parameter is used to pass an id for the user session. This is important for recognising the user, if you want to give him personalised recommendations, as well as for FACT-Finder tracking.
Allows the activation/deactivation of the personalization of queries. true = the search result will be personalized if the personalization module is activated and all other requirements are met; false = the search result will not be personalized.
true
This parameter is used to pass a user id for personalization across sessions. Required for Loop54 integrations.
OK
Bad Request
Unauthorized
Forbidden
Server Error
GET /fact-finder//rest/v5/records/{channel}/recommendation HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Accept: */*
{
"fieldRoles": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"geo": {
"markets": [
{
"distance": 1,
"hasProducts": true,
"id": "text",
"location": {
"latitude": 1,
"longitude": 1
},
"searchParams": {
"activeAbTests": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"advisorStatus": {
"answerPath": "_0_0_0_1",
"id": "text"
},
"articleNumberSearch": "DETECT",
"customParameters": [
{
"cacheIrrelevant": true,
"name": "text",
"values": [
"text"
]
}
],
"exactSearchMode": "LEGACY",
"excludeProductsNotInRange": true,
"filters": [
{
"filterWarning": "NON_EXISTING_FIELD",
"name": "text",
"substring": true,
"values": [
{
"exclude": true,
"type": "or",
"value": "text"
}
]
}
],
"followSearch": "text",
"hitsPerPage": 1,
"location": {
"latitude": 1,
"longitude": 1
},
"marketIds": [
"text"
],
"maxCountVariants": 1,
"maxDistance": 1,
"page": 1,
"purchaserId": "text",
"query": "text",
"searchField": "text",
"showMarkets": true,
"showPermutedSearchParams": true,
"sortItems": [
{
"name": "text",
"order": "asc"
}
],
"splitDocumentsAt": 1
},
"selected": "TRUE"
}
],
"selectedMarkets": [
{
"distance": 1,
"hasProducts": true,
"id": "text",
"location": {
"latitude": 1,
"longitude": 1
},
"searchParams": {
"activeAbTests": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"advisorStatus": {
"answerPath": "_0_0_0_1",
"id": "text"
},
"articleNumberSearch": "DETECT",
"customParameters": [
{
"cacheIrrelevant": true,
"name": "text",
"values": [
"text"
]
}
],
"exactSearchMode": "LEGACY",
"excludeProductsNotInRange": true,
"filters": [
{
"filterWarning": "NON_EXISTING_FIELD",
"name": "text",
"substring": true,
"values": [
{
"exclude": true,
"type": "or",
"value": "text"
}
]
}
],
"followSearch": "text",
"hitsPerPage": 1,
"location": {
"latitude": 1,
"longitude": 1
},
"marketIds": [
"text"
],
"maxCountVariants": 1,
"maxDistance": 1,
"page": 1,
"purchaserId": "text",
"query": "text",
"searchField": "text",
"showMarkets": true,
"showPermutedSearchParams": true,
"sortItems": [
{
"name": "text",
"order": "asc"
}
],
"splitDocumentsAt": 1
},
"selected": "TRUE"
}
],
"showDistance": true,
"showMarkets": true
},
"hits": [
{
"id": "text",
"masterValues": {
"ANY_ADDITIONAL_PROPERTY": {}
},
"variantValues": [
{
"ANY_ADDITIONAL_PROPERTY": {}
}
]
}
],
"timedOut": true
}
Required Roles: ApiPublicQueries
The channel
Use this parameter to override the geo setting "exclude products not in range" for this request.
Filters for field values of recommended records.
Use this parameter to pass the product ID for which you wish to obtain similar products.
Use this parameter to determine the type of ID passed to the method. Use 'productNumber' if the given ID is from the field with 'productNumber' role. Use 'id' if it is from the field with 'masterId' role.
If the value true is passed, then only the record IDs will be returned, streamlining the results. Additionally, if the Geo module is enabled, the IDs of all markets the product is mapped to will be also included. If you do not need the other information in the results, this will help you to improve performance.
false
The latitude coordinate of the current location.
The longitude coordinate of the current location.
Currently selected markets
Use this parameter to override the geo setting "maximum distance" for this request.
Use this parameter to specify the number of similar articles you would like. The default value from the configuration is used if the parameter is not specified.
10
Use this parameter to pass the purchaser ID. This ID is only needed, if the 'Customer-Specific Info' module is active. Otherwise it will be ignored.
This parameter is used to pass a user id for personalization across sessions. Required for Loop54 integrations.
OK
Bad Request
Unauthorized
Forbidden
Server Error
GET /fact-finder//rest/v5/records/{channel}/similar HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Accept: */*
{
"attributes": [
{
"name": "text",
"value": "text"
}
],
"fieldRoles": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"geo": {
"markets": [
{
"distance": 1,
"hasProducts": true,
"id": "text",
"location": {
"latitude": 1,
"longitude": 1
},
"searchParams": {
"activeAbTests": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"advisorStatus": {
"answerPath": "_0_0_0_1",
"id": "text"
},
"articleNumberSearch": "DETECT",
"customParameters": [
{
"cacheIrrelevant": true,
"name": "text",
"values": [
"text"
]
}
],
"exactSearchMode": "LEGACY",
"excludeProductsNotInRange": true,
"filters": [
{
"filterWarning": "NON_EXISTING_FIELD",
"name": "text",
"substring": true,
"values": [
{
"exclude": true,
"type": "or",
"value": "text"
}
]
}
],
"followSearch": "text",
"hitsPerPage": 1,
"location": {
"latitude": 1,
"longitude": 1
},
"marketIds": [
"text"
],
"maxCountVariants": 1,
"maxDistance": 1,
"page": 1,
"purchaserId": "text",
"query": "text",
"searchField": "text",
"showMarkets": true,
"showPermutedSearchParams": true,
"sortItems": [
{
"name": "text",
"order": "asc"
}
],
"splitDocumentsAt": 1
},
"selected": "TRUE"
}
],
"selectedMarkets": [
{
"distance": 1,
"hasProducts": true,
"id": "text",
"location": {
"latitude": 1,
"longitude": 1
},
"searchParams": {
"activeAbTests": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"advisorStatus": {
"answerPath": "_0_0_0_1",
"id": "text"
},
"articleNumberSearch": "DETECT",
"customParameters": [
{
"cacheIrrelevant": true,
"name": "text",
"values": [
"text"
]
}
],
"exactSearchMode": "LEGACY",
"excludeProductsNotInRange": true,
"filters": [
{
"filterWarning": "NON_EXISTING_FIELD",
"name": "text",
"substring": true,
"values": [
{
"exclude": true,
"type": "or",
"value": "text"
}
]
}
],
"followSearch": "text",
"hitsPerPage": 1,
"location": {
"latitude": 1,
"longitude": 1
},
"marketIds": [
"text"
],
"maxCountVariants": 1,
"maxDistance": 1,
"page": 1,
"purchaserId": "text",
"query": "text",
"searchField": "text",
"showMarkets": true,
"showPermutedSearchParams": true,
"sortItems": [
{
"name": "text",
"order": "asc"
}
],
"splitDocumentsAt": 1
},
"selected": "TRUE"
}
],
"showDistance": true,
"showMarkets": true
},
"hits": [
{
"id": "text",
"masterValues": {
"ANY_ADDITIONAL_PROPERTY": {}
},
"variantValues": [
{
"ANY_ADDITIONAL_PROPERTY": {}
}
]
}
]
}
Required Roles: ApiImport Update or insert records; Without variants: inserts records when they do not already exist, or replaces them if they do. With Variants: inserts a master document when it does not exists; inserts a variant and replaces the master values if the variant does not exist; replaces a variant and replaces the master values if the variant does already exist.
The channel
false
The records which should be upserted
OK
Bad Request
Unauthorized
Forbidden
Server Error
PUT /fact-finder//rest/v5/records/{channel}/upsert HTTP/1.1
Host: ng-demo.fact-finder.de
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 779
[
{
"MasterArticleNumber": "3d407d51e8ca255a429fab65961428cc",
"ArticleNumber": "123-4567",
"Title": "Osprey - Women's Tempest 30 - Touring backpack",
"IsMaster": true,
"Manufacturer": "Osprey",
"InsertDate": "2017-03-02T01:00:00+01:00",
"Image": "http://demoshop.fact-finder.de/demoshop-images/bergfreunde/sol_502-2806-0111_pic1_1.jpg",
"Price": 100.95,
"Colors": [
"red",
"grey"
],
"RatingCount": 0,
"Category": [
[
"Outdoor equipment",
"Backpacks",
"Mountaineering backpacks"
],
[
"Outdoor equipment",
"Backpacks",
"Daypacks"
]
],
"VAT": "20",
"MultiFilter": {
"Volume": [
30.5
],
"Recommended use": [
"Trail running",
"Trekking",
"Hillwalking"
],
"Features": [
"Ice-pick holder",
"Front access",
"Mesh back",
"Hydration compatible"
],
"Weight": [
860
]
},
"GtinList": [
"0-943396-04-1",
"0-85131-041-1"
],
"BooleanList": [
true,
false,
true,
true
]
}
]
[
{
"error": {
"description": "Unique value already exists: ArticleNumber=1234",
"name": "FieldConstraintException",
"stacktrace": "de.factfinder.worldmatch.index.FieldConstraintException: Unique value already exists: ArticleNumber=1234"
},
"record": {
"MasterArticleNumber": "3d407d51e8ca255a429fab65961428cc",
"ArticleNumber": "123-4567",
"Title": "Osprey - Women's Tempest 30 - Touring backpack",
"IsMaster": true,
"Manufacturer": "Osprey",
"InsertDate": "2017-03-02T01:00:00+01:00",
"Image": "http://demoshop.fact-finder.de/demoshop-images/bergfreunde/sol_502-2806-0111_pic1_1.jpg",
"Price": 100.95,
"Colors": [
"red",
"grey"
],
"RatingCount": 0,
"Category": [
[
"Outdoor equipment",
"Backpacks",
"Mountaineering backpacks"
],
[
"Outdoor equipment",
"Backpacks",
"Daypacks"
]
],
"VAT": "20",
"MultiFilter": {
"Volume": [
30.5
],
"Recommended use": [
"Trail running",
"Trekking",
"Hillwalking"
],
"Features": [
"Ice-pick holder",
"Front access",
"Mesh back",
"Hydration compatible"
],
"Weight": [
860
]
},
"GtinList": [
"0-943396-04-1",
"0-85131-041-1"
],
"BooleanList": [
true,
false,
true,
true
]
},
"success": true,
"warnings": [
{
"description": "Unique value already exists: ArticleNumber=1234",
"name": "FieldConstraintException",
"stacktrace": "de.factfinder.worldmatch.index.FieldConstraintException: Unique value already exists: ArticleNumber=1234"
}
]
}
]
Was this helpful?