# GetCustomerProducts

**Description**

The database of the shop does not contain the customer's own articlenumbers but if this REST API function is implemented the shop can facilitate the use of the customer's own product numbers.&#x20;

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

## REST API:

**URL:** /Shoxl/v1/GetCustomerProducts\
**Method:** POST

### Changes in ShoxlRestApiSwagger\_v16&#x20;

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

**Request body:**

### GetCustomerProductsRequest{

| accountNumber  | <p>string<br>required</p>        | Account number of the customer that is logged in into the shop.                                          |
| -------------- | -------------------------------- | -------------------------------------------------------------------------------------------------------- |
| productNumbers | <p>\[string] </p><p>required</p> | List of product numbers as they exist in the shop database.                                              |
| context        | object                           | A generic object designed to hold key-value pairs for the purpose of providing customer-specific fields. |

}

#### Example:

```
{
  "accountNumber": "128",
  "productNumbers": [ "90001", "80001", "70001" ],
  "context": {
    "divisionCode": "string"
  }  
}
```

###

**Response body:**

### GetCustomerProductsResult{

| Parameter        | Type                            | Description                                                                |
| ---------------- | ------------------------------- | -------------------------------------------------------------------------- |
| errorCode        | <p>string<br>nullable: true</p> | An error code returned by the ERP system                                   |
| errorDescription | <p>string<br>nullable: true</p> | The error description related to the error code returned by the ERP system |
| customerProducts | \[CustomerProduct]              | List of CustomerProduct objects                                            |

}

### CustomerProduc&#x74;**{**

| Parameter        | Type                            | Description                                                      |
| ---------------- | ------------------------------- | ---------------------------------------------------------------- |
| productNumber    | <p>string<br>nullable: true</p> | Product number of the ERP system (that is also used in the shop) |
| ownProductNumber | <p>string<br>nullable: true</p> | The customer's  own productnumber                                |

}&#x20;

#### Example:

```
{
  "errorCode": "string",
  "errorDescription": "string",
  "customerProducts": [
    {
      "productNumber": "90001",
      "ownProductNumber": "4321"
    }.
    {
      "productNumber": "70001",
      "ownProductNumber": "123456789"
    }
  ],
}
```
