# MOVED - QR-Code + POS API
###### tags: `QR-code, POS, API`
### QR-Code example: [A-z]\d{3}

---
API EndPoints
-
QR-Code read with reader & manual input - single API EndPoint for all requests
```
GET gateway/pos/{$qrCode} -> [response]
```
---
POS -> BACKEND
-
```json
{
"code": "5432",
"companyId": "def82112-3726-45b4-b3cb-b4b12f86d69c",
"locationId": "def82112-3726-45b4-b3cb-b4b12f86d69c",
"posId": "def82112-3726-45b4-b3cb-b4b12f86d69c",
"receiptNumber": 1234
}
```
BACKEND -> POS
-
```json
{
"customerId": "6666",
// POS will check if products are not shown on order and show a compulsoryError as a popUp
"discountList": [
{
"posDiscountId": "afe998ca-293b-4521-9803-0e9aaa7f6deb",
"discountId": "7777",
"compulsoryError": "Lisää kuitille muffinssi, cake tai original jonka asiakas saa ilmaiseksi"
},
// multiple products possible
{
"posDiscountId": "afe998ca-293b-4521-9803-0e9aaa7f6deb",
"discountId": "8888"
}
],
// Products will be added automagically to the order
"productList": [
{
"posProductId": "def82112-3726-45b4-b3cb-b4b12f86d69c",
"productId": "1111",
"qty": 1,
"price": 0
}
],
// Payment option to use cashback/bonuspoints (in cents)
"paymentList": [
{
"posTenderId": "def82112-3726-45b4-b3cb-b4b12f86d69c",
"paymentId": "9999",
"amount": 1200,
// if bonuspoints are not enough allow payment with cash/card
"allowOverTendering": true,
"allowUnderTendering": true
}
],
// Option to give customers certain discount options auto
"priceLevel": "def82112-3726-45b4-b3cb-b4b12f86d69c",
// Extratext on receipt
"addToReceipt": "Tämä teksti lisätään\nasiakkaan kuitin loppuun.",
// Extra popup if needed
"posMessage": "Tarkista asiakkaan henkilöllisyys!",
// If some error with OTP code and need to give explanation
"errorText": "Asiakkaan on tunnistauduttava ennen kuin alennuskoodeja voi käyttää"
}
```