MatchCustomerProducts

Description

The database of the shop does not contain the customer's own product numbers but if this REST API function is implemented the shop can facilitate the use of the customer's own product numbers in the shop's search box.

This function can be implemented if the ERP system supports the storage of the customer own product numbers for the products in the ERP.

The shop will pass on the terms found in search query to the MatchCustomerProducts endpoint. The endpoint checks in the ERP if the terms correspond with the own productnumbers of the current customer and and returns the matched productnumbers that are used in the shop. The shop will then complete the search query with this matched/translated productnumbers.

REST API:

URL: /Shoxl/v1/MatchCustomerProducts Method: POST

Changes in ShoxlRestApiSwagger_v16

  • A new field "context" is introduced in the request body. When configured this object contains key value pairs (e.g. divisionCode).

Request body:

MatchCustomerProductsRequest{

accountNumber

string required

Account number of the customer that is logged in into the shop.

searchTerm

string

required

searchterm that may (but does not have to) contain own articlenumber

maxResults

int required

the maximum number of matched customerproducts returned in the response

context

object

A generic object designed to hold key-value pairs for the purpose of providing customer-specific fields.

}

Example:

{
  "accountNumber": "128",
  "searchTerm": "4321",
  "context": {
    "divisionCode": "string"
  }
}

Response body:

MatchCustomerProductsResult{

Parameter
Type
Description

errorCode

string nullable: true

An error code returned by the ERP system

errorDescription

string nullable: true

The error description related to the error code returned by the ERP system

customerProducts

[CustomerProduct]

List of matched CustomerProducts. The number of matched customerproducts is limited by the given maxResults parameter in the request.

}

CustomerProduct{

Parameter
Type
Description

productNumber

string nullable: true

Product number of the ERP system (that is also used in the shop)

ownProductNumber

string nullable: true

The customer's own product number

}

Example:

{
  "errorCode": "string",
  "errorDescription": "string",
  "customerProducts": [
    {
      "productNumber": "90001",
      "ownProductNumber": "4321-12"
    }.
    {
      "productNumber": "70001",
      "ownProductNumber": "4321-55"
    }
  ],
}