πŸ–₯️Devices

This page provides a description of the available API routes for managing devices.

In the PORTOS ecosystem, each cash register, mobile cashier, BackOffice, or any other software application is represented by a device that stores its settings and preferences.

Device is represented by Device class.

API methods

Get devices

GET http://{server-address}/devices

Returns all devices that matches query parameters. Result is of type QueryResult<Device>.

Query Parameters

NameTypeDescription

name

string

Supports NData syntax.

$skip

int

Pagination property. Describing number of records to skip from beginning of result collection.

$take

int

Pagination property. Maximum count of items to be returned.

$sort

string[]

Comma separated list of property names. Please see NData syntax.

$count

bool

If set to true, response will not contain items collection. Use to get resource count, not the resources themselves.

isActive

bool

Supports NData syntax.

envName

string

Supports NData syntax.

Headers

NameTypeDescription

Authorization*

string

Authorization header with authorization token.

{
    "items":
    [
        {
            "name": "BackOffice",
            "isActive": true,
            "envName": "BackOffice",
            "description": "BackOffice",
            "roles":
            [
                "admin"
            ],
            "preferences":
            {},
            "settings":
            {},
            "_v": 1
        },
        {
            "name": "P01",
            "isActive": true,
            "envName": "CashRegister",
            "description": "Pokladnica 1",
            "roles":
            [
                "sale",
                "statsCurrent",
                "statsTicketsCurrent",
                "openDrawer",
                "negativeSale",
                "overviewSalesReport",
                "ticketSplit",
                "storno",
                "stats",
                "statsPlus",
                "cashTransfer",
                "allTickets",
                "ticketSetDiscount"
            ],
            "preferences":
            {},
            "settings":
            {
                "MaxQuantity": "50",
                "OpenedPrices": "false",
                "DefaultFiscalName": "eKasa",
                "DefaultOrderEndpointName": "USB",
                "DefaultStockName": "S01"
            },
            "_v": 10
        },
        {
            "name": "PDA1",
            "isActive": true,
            "envName": "PDA",
            "description": "Mobile cashier 1",
            "roles":
            [
                "sale",
                "statsCurrent",
                "statsTicketsCurrent",
                "openDrawer",
                "negativeSale",
                "overviewSalesReport",
                "ticketSplit",
                "storno",
                "stats",
                "statsPlus",
                "cashTransfer",
                "allTickets",
                "ticketSetDiscount",
                "admin"
            ],
            "preferences":
            {},
            "settings":
            {
                "DefaultFiscalName": "eKasa",
                "DefaultStockName": "S01"
            },
            "_v": 11
        },
        {
            "name": "Link",
            "isActive": true,
            "envName": "Tool",
            "description": "PORTOS Link",
            "roles":
            [
                "admin"
            ],
            "preferences":
            {},
            "settings":
            {},
            "_v": 1
        }
    ],
    "count": 4,
    "totalCount": 4
}

Get device by name

GET http://{server-address}/devices/{name}

Result is of type Device.

Path Parameters

NameTypeDescription

name*

string

Unique device name.

Headers

NameTypeDescription

Authorization*

string

Authorization header with authorization token.

{
    "name": "BackOffice",
    "isActive": true,
    "envName": "BackOffice",
    "description": "BackOffice",
    "roles":
    [
        "admin"
    ],
    "preferences":
    {},
    "settings":
    {},
    "_v": 1
}

Create device

POST http://{server-address}/devices

Creates new device. Result is of type Device.

Required rights

Authorized user must have DeviceCreate right assigned.

Headers

NameTypeDescription

Authorization*

string

Authorization header with authorization token.

Request Body

NameTypeDescription

(body)*

Device

Model to create.

{
    "name": "BackOffice",
    "isActive": true,
    "envName": "BackOffice",
    "description": "BackOffice",
    "roles":
    [
        "admin"
    ],
    "preferences":
    {},
    "settings":
    {},
    "_v": 1
}

Create or update device

PUT http://{server-address}/devices/{name}

Creates new or updates existing device. Result is of type Device.

Required rights

Authorized user must have assigned DeviceCreate or DeviceUpdate right.

Path Parameters

NameTypeDescription

name*

string

Unique device name.

Headers

NameTypeDescription

Authorization*

string

Authorization header with authorization token.

Request Body

NameTypeDescription

(body)*

Device

Model to create or update.

{
    "name": "BackOffice",
    "isActive": true,
    "envName": "BackOffice",
    "description": "BackOffice",
    "roles":
    [
        "admin"
    ],
    "preferences":
    {},
    "settings":
    {},
    "_v": 2
}

Delete device by name

DELETE http://{server-address}/devices/{name}

Required rights

Authorized user must have DeviceDelete right assigned.

Path Parameters

NameTypeDescription

name*

string

Unique device name.

Headers

NameTypeDescription

Authorization*

string

Authorization header with authorization token.

{
    "name": "BackOffice",
    "isActive": true,
    "envName": "BackOffice",
    "description": "BackOffice",
    "roles":
    [
        "admin"
    ],
    "preferences":
    {},
    "settings":
    {},
    "_v": 1
}

Last updated