TCS - API specification (2.0.9)

Download OpenAPI specification:Download

TCS - Total Control Store - RESTFull web services

device

Services related to manage device entity

create device

create new device to set device vendor Id (mandatory in PUSH notification protocol) or other statistical relevant params

Authorizations:
apiKeyAuth
header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with device entity data

type
required
string
Enum: "smartphone" "tablet" "desktop"

connected device type

os
required
string
Enum: "android" "ios" "windows" "linux" "macos"

device os macro category beetween android/ios

os_version
required
string

device os version number

language
string
Default: "en"

two characters string languages identifier (eg. it, en, ...)

enable_notification
boolean
Default: true

flag to enable or disable push notification

notification_token
string

unique firebase notification token genarated form Google/Apple

vendor_id
required
string

unique vendor device token genarated form Google/Apple

app_version
string

client application version

Responses

Request samples

Content type
application/json
{
  • "type": "smartphone",
  • "os": "android",
  • "os_version": 23,
  • "language": "it",
  • "enable_notification": true,
  • "notification_token": "dWPEVGJjGNA:APA91bEzLWfVOzbS6btIqDe70Yb7hL...",
  • "vendor_id": "dWPEVGJjGNA:APA91bEzLWfVOzbS6btIqDe70Yb7hL...",
  • "app_version": "1.0.0"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "Device",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "type": "smartphone",
  • "os": "android",
  • "os_version": 23,
  • "language": "it",
  • "enable_notification": true,
  • "notification_token": "dWPEVGJjGNA:APA91bEzLWfVOzbS6btIqDe70Yb7hL...",
  • "vendor_id": "dWPEVGJjGNA:APA91bEzLWfVOzbS6btIqDe70Yb7hL...",
  • "app_version": "1.0.0",
  • "token": {
    }
}

get device

get specific device by id checking if request contains valid token or there's not logged user to device

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "Device",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "type": "smartphone",
  • "os": "android",
  • "os_version": 23,
  • "language": "it",
  • "enable_notification": true,
  • "notification_token": "dWPEVGJjGNA:APA91bEzLWfVOzbS6btIqDe70Yb7hL...",
  • "vendor_id": "dWPEVGJjGNA:APA91bEzLWfVOzbS6btIqDe70Yb7hL...",
  • "app_version": "1.0.0",
  • "token": {
    }
}

update device

update device data to refresh device vendor Id (mandatory in PUSH notification protocol) or other statistical relevant params

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with device entity data

type
required
string
Enum: "smartphone" "tablet" "desktop"

connected device type

os
required
string
Enum: "android" "ios" "windows" "linux" "macos"

device os macro category beetween android/ios

os_version
required
string

device os version number

language
string
Default: "en"

two characters string languages identifier (eg. it, en, ...)

enable_notification
boolean
Default: true

flag to enable or disable push notification

notification_token
string

unique firebase notification token genarated form Google/Apple

vendor_id
required
string

unique vendor device token genarated form Google/Apple

app_version
string

client application version

Responses

Request samples

Content type
application/json
{
  • "type": "smartphone",
  • "os": "android",
  • "os_version": 23,
  • "language": "it",
  • "enable_notification": true,
  • "notification_token": "dWPEVGJjGNA:APA91bEzLWfVOzbS6btIqDe70Yb7hL...",
  • "vendor_id": "dWPEVGJjGNA:APA91bEzLWfVOzbS6btIqDe70Yb7hL...",
  • "app_version": "1.0.0"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "Device",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "type": "smartphone",
  • "os": "android",
  • "os_version": 23,
  • "language": "it",
  • "enable_notification": true,
  • "notification_token": "dWPEVGJjGNA:APA91bEzLWfVOzbS6btIqDe70Yb7hL...",
  • "vendor_id": "dWPEVGJjGNA:APA91bEzLWfVOzbS6btIqDe70Yb7hL...",
  • "app_version": "1.0.0",
  • "token": {
    }
}

delete device

remove definitively device, tipically if the app will be uninstall or if APN/GCM push notification service return an error

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{
  • "code": 3211,
  • "message": "Bad Request"
}

device / log

get device logs

Returns the full list of DeviceLog entities.

Authorizations:
(apiKeyAuthbearerAuth)
query Parameters
q
string
Example: q=test filter string

Urlencode search string to filter list of entities.

sort
Array of strings[^\D(.*):(ASC|DESC)$]
Example: sort=field1:ASC|field2:DESC

Pipe delimited list with attributes to sort

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
[
  • {
    }
]

create device log

if device log has been enabled on the server, it stores the new DeviceLog entity, otherwise it responds with an error message with status 400 (Bad Request). The entity sent in body must contain at least one of the fields between message and attachment_path. If the entity contains an attachment, use a "multipart/form-data" content-type header otherwise a "application/json" content-type header

Authorizations:
apiKeyAuth(apiKeyAuthbearerAuth)
header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema:
required

A JSON object with DeviceLog entity data

type
required
string
Enum: "INFO" "WARN" "ERROR"

log type definition, INFO = generic logged information, WARN = something could be a problem or not, ERROR = an important problem/error to solve

app_version
string

client application version in use

message
string

log message to store

attachment
required
object <binary>

file attached to device log

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "type": "INFO",
  • "api_version": "1.0.0",
  • "app_version": "1.0.0",
  • "username": "your@email.com",
  • "message": "string",
  • "attachment_name": "string",
  • "attachment_url": "string"
}

identity

Services related to manage user identity (username / pa)

authenticate and login

check username / password couple and if valid log in user and return success response otherwise return one of this error:

  • 400 Device already in use

  • 403 Invalid username or password

  • 404 Invalid device

  • 412 expired - Account expired

  • 412 locked - Please wait, admin has not yet enabled your account

  • 412 enabled - Account not yet confirmed

Authorizations:
apiKeyAuth
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with username and password

username
required
string

valid username (email or phone number)

password
required
string or null

valid password

Responses

Request samples

Content type
application/json
{
  • "username": "username@email.it",
  • "password": "myPassword1234!",
  • "new_password": null
}

Response samples

Content type
application/json
{
  • "signature": "valid-jwt-signature",
  • "refresh": "one-time-refresh-token"
}

logout

disconnect user identified by the signature in the header

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{
  • "code": 3211,
  • "message": "Bad Request"
}

password recovery / update

if JSON in the request body contains only the username a new password will be generated otherwise by sending username, password and new_password, after a credentials check, the user's identity will be updated

Authorizations:
apiKeyAuth
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with valid username

username
required
string

valid username (email or phone number)

Responses

Request samples

Content type
application/json
{
  • "username": "username@email.it",
  • "password": null,
  • "new_password": null
}

Response samples

Content type
application/json
{
  • "code": 3211,
  • "message": "Bad Request"
}

refresh token

Get new JWT token via refresh token or an error response like this:

  • 400 Invalid refresh token

  • 404 Invalid device

  • 410 Expired refresh token

Authorizations:
apiKeyAuth
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with valid refresh token

token
string

valid refresh token

Responses

Request samples

Content type
application/json
{
  • "token": "v4l1d-4lph4num3r1c-r3fr3sh-t0k3n"
}

Response samples

Content type
application/json
{
  • "signature": "valid-jwt-signature",
  • "refresh": "one-time-refresh-token"
}

identity / confirmation

confirm user account

confirms user account with confirmation code received by email or send new confirmation code if required with a valid email address related to a disabled identity

Authorizations:
apiKeyAuth
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with confirmation code

code
string

account confirmation code (null if email field evalued)

email
string <email>

account email to check if new confirmation code has been requested (null if code field evalued)

Responses

Request samples

Content type
application/json
{
  • "code": "string",
  • "email": "your@email.com"
}

Response samples

Content type
application/json
{
  • "code": 3211,
  • "message": "Bad Request"
}

user

Services related to manage user entity

get users

Returns the full list of user entities.

Authorizations:
(apiKeyAuthbearerAuth)
query Parameters
q
string
Example: q=test filter string

Urlencode search string to filter list of entities.

sort
Array of strings[^\D(.*):(ASC|DESC)$]
Example: sort=field1:ASC|field2:DESC

Pipe delimited list with attributes to sort

object (LHSNumberPayload)

LHS Brackets filter on num_checks field

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Range
required
string
Example: {unit}={from}-{to}

Tell the server if you want a paged resource

Responses

Response samples

Content type
application/json
[]

create user

create user entity with data sent in request body

Authorizations:
apiKeyAuth
header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with user entity data

role_id
integer

ID of the user role (1=SUPERADMIN, 2=ADMIN, 3=MEMBER, 4=GUEST).

avatar_media_id
integer

ID of the user avatar related to media object prevently uploaded.

first_name
string
last_name
string
email
required
string <email>
phone_country
string
phone_number
string
password
string <password>
privacy
required
boolean
terms
required
boolean
invitation
boolean

the value is TRUE if user was created via admin invitation witch implies automatic enabling and a different email notification

locked
boolean

the value is TRUE if admin ban this account, you can only set this flag to unlock banned user, use DELETE /user/:id to lock it

Responses

Request samples

Content type
application/json
{
  • "role_id": 4,
  • "avatar_media_id": 50,
  • "first_name": "John",
  • "last_name": "Smith",
  • "email": "your@email.com",
  • "phone_country": "+39",
  • "phone_number": "3285564324",
  • "password": "qwerTy1234!",
  • "privacy": true,
  • "terms": true,
  • "invitation": true,
  • "locked": false
}

Response samples

Content type
application/json
{}

get user

get specific user by id

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{}

update user

update user data with new ones sent in request body

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with user entity data

role_id
integer

ID of the user role (1=SUPERADMIN, 2=ADMIN, 3=MEMBER, 4=GUEST).

avatar_media_id
integer

ID of the user avatar related to media object prevently uploaded.

first_name
string
last_name
string
email
required
string <email>
phone_country
string
phone_number
string
password
string <password>
privacy
required
boolean
terms
required
boolean
invitation
boolean

the value is TRUE if user was created via admin invitation witch implies automatic enabling and a different email notification

locked
boolean

the value is TRUE if admin ban this account, you can only set this flag to unlock banned user, use DELETE /user/:id to lock it

Responses

Request samples

Content type
application/json
{
  • "role_id": 4,
  • "avatar_media_id": 50,
  • "first_name": "John",
  • "last_name": "Smith",
  • "email": "your@email.com",
  • "phone_country": "+39",
  • "phone_number": "3285564324",
  • "password": "qwerTy1234!",
  • "privacy": true,
  • "terms": true,
  • "invitation": true,
  • "locked": false
}

Response samples

Content type
application/json
{}

ban user

ban user locking the account

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{
  • "code": 3211,
  • "message": "Bad Request"
}

user / media

get list of user media

Returns the full or paged list of user media entities.

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

query Parameters
q
string
Example: q=test filter string

Urlencode search string to filter list of entities.

sort
Array of strings[^\D(.*):(ASC|DESC)$]
Example: sort=field1:ASC|field2:DESC

Pipe delimited list with attributes to sort

mode
string
Default: "AND"
Enum: "AND" "OR"
Example: mode=OR

Filter mode operator

object (LHSNumberPayload)

LHS Brackets filter on media.id field

object (LHSStringPayload)

LHS Brackets filter on media.title field

object (LHSStringPayload)

LHS Brackets filter on media.title field

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Range
string
Example: {unit}={from}-{to}

Tell the server if you want a paged resource

Responses

Response samples

Content type
application/json
[]

upload user media

Upload new user media and relate it with user selected by user ID.

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: multipart/form-data

Upload resource content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: multipart/form-data
required

Multipart from request with a single binary attribute reserve to media uploading and a cover flag

weight
number <integer>

The weight define the priority between listed media

title
string

The media file original title.

description
string or null

The media file alternative description.

mime_type
string

The media mime-type, sending different value from default uploaded media mime_type force the server to try a type conversion.

media
required
object <binary>

Responses

Response samples

Content type
application/json
{}

get user media by id

get specific media metadata by id

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{}

update user media

Update user media info.

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: multipart/form-data

Upload resource content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with Media entity data

weight
number <integer>

The weight define the priority between listed media

title
string

The media file original title.

description
string or null

The media file alternative description.

mime_type
string

The media mime-type, sending different value from default uploaded media mime_type force the server to try a type conversion.

Responses

Request samples

Content type
application/json
{
  • "weight": 10,
  • "title": "string",
  • "description": "string",
  • "mime_type": "string"
}

Response samples

Content type
application/json
{}

delete user media

delete specific media by id

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{
  • "code": 3211,
  • "message": "Bad Request"
}

pos

get points of sale

Returns the full list of Pos entities.

Authorizations:
(apiKeyAuthbearerAuth)
query Parameters
q
string
Example: q=test filter string

Urlencode search string to filter list of entities.

sort
Array of strings[^\D(.*):(ASC|DESC)$]
Example: sort=field1:ASC|field2:DESC

Pipe delimited list with attributes to sort

object (LHSStringPayload)

LHS Brackets filter on code field

object (LHSStringPayload)

LHS Brackets filter on company_name field

object (LHSStringPayload)

LHS Brackets filter on sign field

object (LHSStringPayload)

LHS Brackets filter on group field

object (LHSStringPayload)

LHS Brackets filter on type field

object (LHSStringPayload)

LHS Brackets filter on address field

object (LHSStringPayload)

LHS Brackets filter on cap field

object (LHSStringPayload)

LHS Brackets filter on city field

object (LHSStringPayload)

LHS Brackets filter on province field

object (LHSStringPayload)

LHS Brackets filter on state field

object (LHSNumberPayload)

LHS Brackets filter on avg_score field

object (LHSNumberPayload)

LHS Brackets filter on num_checks field

object (LHSDatetimePayload)

LHS Brackets filter on last_survey_at field

object

LHS Brackets filter useful to limit, if defined, the range of date valid to estimate num_checks field value

object (LHSStringPayload)

LHS Brackets filter on user[firstname] field

object (LHSStringPayload)

LHS Brackets filter on user[firstname] field

object (LHSStringPayload)

LHS Brackets filter on user[email] field

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Range
required
string
Example: {unit}={from}-{to}

Tell the server if you want a paged resource

Responses

Response samples

Content type
application/json
[
  • {
    }
]

create point of sale

create Pos entity with data sent in request body

Authorizations:
(apiKeyAuthbearerAuth)
header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with Pos entity data

user_id
number or null <int64> >= 1

The store manager user_id.

code
required
string
sign
string or null
group
string or null
type
string or null
city
string or null
province
string or null
state
string or null
cap
string or null
address
string or null
address_number
string or null
email
string or null <email>
phone
string or null
company_name
string or null
owner_name
string or null
owner_phone
string or null
owner_email
string or null <email>
manager_name
string or null
manager_phone
string or null
open_at
string or null

The opening date of the point of sale in ISO 8601 format.

shopping_center
boolean
uncovered_parking
boolean
covered_parking
boolean
mq_sales_area
number <integer>
mq_store
number <integer>
num_checkouts
number <integer>
num_scales
number <integer>
num_employees
number <integer>
location_value
number <integer>

Score between 1 and 3 which defines the value of the point of sale

professional_level
number <integer>

Score between 1 and 5 which defines the professional level of the point of sale

dep_bakery
boolean
dep_canned
boolean
dep_cleaning
boolean
dep_dls
boolean
dep_fish
boolean
dep_fruit
boolean
dep_frozen
boolean
dep_frozen_bulk
boolean
dep_gastronomy
boolean
dep_meat
boolean
dep_no_food
boolean
dep_news
boolean
dep_restaurant_area
boolean
dep_wine
boolean
ml_stand_sa_fo
number <integer>
ml_stand_back
number <integer>
ml_stand_pastry
number <integer>
ml_stand_hot
number <integer>
ml_stand_bakery_served
number <integer>
ml_stand_bakery_self
number <integer>
ml_stand_fresh_tubs
number <integer>
ml_stand_meat_served
number <integer>
ml_stand_meat_wall
number <integer>
ml_stand_meat_takeaway
number <integer>
ml_stand_meat_promo
number <integer>
ml_stand_fruit_wall
number <integer>
mq_stand_fruit_square
number <integer>
mt_stand_fruit_promo
number <integer>
ml_stand_dls
number <integer>
mt_stand_dls_developed
number <integer>
mt_stand_dls_promo
number <integer>
cells_fresh
boolean
cells_meat
boolean
cells_fruit
boolean
cells_free
boolean
mt_stand_frozen_wall
number <integer>
num_stand_frozen_tubs
number <integer>
num_stand_frozen_bulk_tubs
number <integer>
mt_stand_fish_wall
number <integer>
num_stand_fish_tubs
number <integer>
mt_shelf
number <integer>
mt_shelf_133
number <integer>
mt_shelf_125
number <integer>
mt_shelf_120
number <integer>
mt_shelf_100
number <integer>
mt_shelf_75
number <integer>
mt_shelf_60
number <integer>
mt_shelf_50
number <integer>

Responses

Request samples

Content type
application/json
{
  • "user_id": 1,
  • "code": "5542",
  • "sign": "DECO' MAXISTORE",
  • "group": "ROSSI",
  • "type": "PRIMARI",
  • "city": "Napoli",
  • "province": "Napoli",
  • "state": "Campania",
  • "cap": "00100",
  • "address": "VIA CAVOUR",
  • "address_number": "5",
  • "email": "your@email.com",
  • "phone": "3285564324",
  • "company_name": "NEW MARKET SRL",
  • "owner_name": "John Smith",
  • "owner_phone": "3285564324",
  • "owner_email": "your@email.com",
  • "manager_name": "John",
  • "manager_phone": "John Smith",
  • "open_at": "string",
  • "shopping_center": true,
  • "uncovered_parking": true,
  • "covered_parking": true,
  • "mq_sales_area": 0,
  • "mq_store": 0,
  • "num_checkouts": 0,
  • "num_scales": 0,
  • "num_employees": 0,
  • "location_value": 0,
  • "professional_level": 0,
  • "dep_bakery": true,
  • "dep_canned": true,
  • "dep_cleaning": true,
  • "dep_dls": true,
  • "dep_fish": true,
  • "dep_fruit": true,
  • "dep_frozen": true,
  • "dep_frozen_bulk": true,
  • "dep_gastronomy": true,
  • "dep_meat": true,
  • "dep_no_food": true,
  • "dep_news": true,
  • "dep_restaurant_area": true,
  • "dep_wine": true,
  • "ml_stand_sa_fo": 0,
  • "ml_stand_back": 0,
  • "ml_stand_pastry": 0,
  • "ml_stand_hot": 0,
  • "ml_stand_bakery_served": 0,
  • "ml_stand_bakery_self": 0,
  • "ml_stand_fresh_tubs": 0,
  • "ml_stand_meat_served": 0,
  • "ml_stand_meat_wall": 0,
  • "ml_stand_meat_takeaway": 0,
  • "ml_stand_meat_promo": 0,
  • "ml_stand_fruit_wall": 0,
  • "mq_stand_fruit_square": 0,
  • "mt_stand_fruit_promo": 0,
  • "ml_stand_dls": 0,
  • "mt_stand_dls_developed": 0,
  • "mt_stand_dls_promo": 0,
  • "cells_fresh": true,
  • "cells_meat": true,
  • "cells_fruit": true,
  • "cells_free": true,
  • "mt_stand_frozen_wall": 0,
  • "num_stand_frozen_tubs": 0,
  • "num_stand_frozen_bulk_tubs": 0,
  • "mt_stand_fish_wall": 0,
  • "num_stand_fish_tubs": 0,
  • "mt_shelf": 0,
  • "mt_shelf_133": 0,
  • "mt_shelf_125": 0,
  • "mt_shelf_120": 0,
  • "mt_shelf_100": 0,
  • "mt_shelf_75": 0,
  • "mt_shelf_60": 0,
  • "mt_shelf_50": 0
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user": {},
  • "code": "5542",
  • "sign": "DECO' MAXISTORE",
  • "group": "ROSSI",
  • "type": "PRIMARI",
  • "city": "Napoli",
  • "province": "Napoli",
  • "state": "Campania",
  • "cap": "00100",
  • "address": "VIA CAVOUR",
  • "address_number": "5",
  • "email": "your@email.com",
  • "phone": "3285564324",
  • "company_name": "NEW MARKET SRL",
  • "owner_name": "John Smith",
  • "owner_phone": "3285564324",
  • "owner_email": "your@email.com",
  • "manager_name": "John",
  • "manager_phone": "John Smith",
  • "open_at": "string",
  • "shopping_center": true,
  • "uncovered_parking": true,
  • "covered_parking": true,
  • "mq_sales_area": 0,
  • "mq_store": 0,
  • "num_checkouts": 0,
  • "num_scales": 0,
  • "num_employees": 0,
  • "location_value": 0,
  • "professional_level": 0,
  • "dep_bakery": true,
  • "dep_canned": true,
  • "dep_cleaning": true,
  • "dep_dls": true,
  • "dep_fish": true,
  • "dep_fruit": true,
  • "dep_frozen": true,
  • "dep_frozen_bulk": true,
  • "dep_gastronomy": true,
  • "dep_meat": true,
  • "dep_no_food": true,
  • "dep_news": true,
  • "dep_restaurant_area": true,
  • "dep_wine": true,
  • "ml_stand_sa_fo": 0,
  • "ml_stand_back": 0,
  • "ml_stand_pastry": 0,
  • "ml_stand_hot": 0,
  • "ml_stand_bakery_served": 0,
  • "ml_stand_bakery_self": 0,
  • "ml_stand_fresh_tubs": 0,
  • "ml_stand_meat_served": 0,
  • "ml_stand_meat_wall": 0,
  • "ml_stand_meat_takeaway": 0,
  • "ml_stand_meat_promo": 0,
  • "ml_stand_fruit_wall": 0,
  • "mq_stand_fruit_square": 0,
  • "mt_stand_fruit_promo": 0,
  • "ml_stand_dls": 0,
  • "mt_stand_dls_developed": 0,
  • "mt_stand_dls_promo": 0,
  • "cells_fresh": true,
  • "cells_meat": true,
  • "cells_fruit": true,
  • "cells_free": true,
  • "mt_stand_frozen_wall": 0,
  • "num_stand_frozen_tubs": 0,
  • "num_stand_frozen_bulk_tubs": 0,
  • "mt_stand_fish_wall": 0,
  • "num_stand_fish_tubs": 0,
  • "mt_shelf": 0,
  • "mt_shelf_133": 0,
  • "mt_shelf_125": 0,
  • "mt_shelf_120": 0,
  • "mt_shelf_100": 0,
  • "mt_shelf_75": 0,
  • "mt_shelf_60": 0,
  • "mt_shelf_50": 0,
  • "areas": [
    ],
  • "num_survey": 0,
  • "num_checks": 0,
  • "avg_score": 0.1,
  • "tot_score": 0,
  • "last_survey_at": "2019-08-24T14:15:22Z"
}

get point of sale

get specific Pos by id

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user": {},
  • "code": "5542",
  • "sign": "DECO' MAXISTORE",
  • "group": "ROSSI",
  • "type": "PRIMARI",
  • "city": "Napoli",
  • "province": "Napoli",
  • "state": "Campania",
  • "cap": "00100",
  • "address": "VIA CAVOUR",
  • "address_number": "5",
  • "email": "your@email.com",
  • "phone": "3285564324",
  • "company_name": "NEW MARKET SRL",
  • "owner_name": "John Smith",
  • "owner_phone": "3285564324",
  • "owner_email": "your@email.com",
  • "manager_name": "John",
  • "manager_phone": "John Smith",
  • "open_at": "string",
  • "shopping_center": true,
  • "uncovered_parking": true,
  • "covered_parking": true,
  • "mq_sales_area": 0,
  • "mq_store": 0,
  • "num_checkouts": 0,
  • "num_scales": 0,
  • "num_employees": 0,
  • "location_value": 0,
  • "professional_level": 0,
  • "dep_bakery": true,
  • "dep_canned": true,
  • "dep_cleaning": true,
  • "dep_dls": true,
  • "dep_fish": true,
  • "dep_fruit": true,
  • "dep_frozen": true,
  • "dep_frozen_bulk": true,
  • "dep_gastronomy": true,
  • "dep_meat": true,
  • "dep_no_food": true,
  • "dep_news": true,
  • "dep_restaurant_area": true,
  • "dep_wine": true,
  • "ml_stand_sa_fo": 0,
  • "ml_stand_back": 0,
  • "ml_stand_pastry": 0,
  • "ml_stand_hot": 0,
  • "ml_stand_bakery_served": 0,
  • "ml_stand_bakery_self": 0,
  • "ml_stand_fresh_tubs": 0,
  • "ml_stand_meat_served": 0,
  • "ml_stand_meat_wall": 0,
  • "ml_stand_meat_takeaway": 0,
  • "ml_stand_meat_promo": 0,
  • "ml_stand_fruit_wall": 0,
  • "mq_stand_fruit_square": 0,
  • "mt_stand_fruit_promo": 0,
  • "ml_stand_dls": 0,
  • "mt_stand_dls_developed": 0,
  • "mt_stand_dls_promo": 0,
  • "cells_fresh": true,
  • "cells_meat": true,
  • "cells_fruit": true,
  • "cells_free": true,
  • "mt_stand_frozen_wall": 0,
  • "num_stand_frozen_tubs": 0,
  • "num_stand_frozen_bulk_tubs": 0,
  • "mt_stand_fish_wall": 0,
  • "num_stand_fish_tubs": 0,
  • "mt_shelf": 0,
  • "mt_shelf_133": 0,
  • "mt_shelf_125": 0,
  • "mt_shelf_120": 0,
  • "mt_shelf_100": 0,
  • "mt_shelf_75": 0,
  • "mt_shelf_60": 0,
  • "mt_shelf_50": 0,
  • "areas": [
    ],
  • "num_survey": 0,
  • "num_checks": 0,
  • "avg_score": 0.1,
  • "tot_score": 0,
  • "last_survey_at": "2019-08-24T14:15:22Z"
}

update point of sale

update Pos data with new ones sent in request body

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with Pos entity data

user_id
number or null <int64> >= 1

The store manager user_id.

code
required
string
sign
string or null
group
string or null
type
string or null
city
string or null
province
string or null
state
string or null
cap
string or null
address
string or null
address_number
string or null
email
string or null <email>
phone
string or null
company_name
string or null
owner_name
string or null
owner_phone
string or null
owner_email
string or null <email>
manager_name
string or null
manager_phone
string or null
open_at
string or null

The opening date of the point of sale in ISO 8601 format.

shopping_center
boolean
uncovered_parking
boolean
covered_parking
boolean
mq_sales_area
number <integer>
mq_store
number <integer>
num_checkouts
number <integer>
num_scales
number <integer>
num_employees
number <integer>
location_value
number <integer>

Score between 1 and 3 which defines the value of the point of sale

professional_level
number <integer>

Score between 1 and 5 which defines the professional level of the point of sale

dep_bakery
boolean
dep_canned
boolean
dep_cleaning
boolean
dep_dls
boolean
dep_fish
boolean
dep_fruit
boolean
dep_frozen
boolean
dep_frozen_bulk
boolean
dep_gastronomy
boolean
dep_meat
boolean
dep_no_food
boolean
dep_news
boolean
dep_restaurant_area
boolean
dep_wine
boolean
ml_stand_sa_fo
number <integer>
ml_stand_back
number <integer>
ml_stand_pastry
number <integer>
ml_stand_hot
number <integer>
ml_stand_bakery_served
number <integer>
ml_stand_bakery_self
number <integer>
ml_stand_fresh_tubs
number <integer>
ml_stand_meat_served
number <integer>
ml_stand_meat_wall
number <integer>
ml_stand_meat_takeaway
number <integer>
ml_stand_meat_promo
number <integer>
ml_stand_fruit_wall
number <integer>
mq_stand_fruit_square
number <integer>
mt_stand_fruit_promo
number <integer>
ml_stand_dls
number <integer>
mt_stand_dls_developed
number <integer>
mt_stand_dls_promo
number <integer>
cells_fresh
boolean
cells_meat
boolean
cells_fruit
boolean
cells_free
boolean
mt_stand_frozen_wall
number <integer>
num_stand_frozen_tubs
number <integer>
num_stand_frozen_bulk_tubs
number <integer>
mt_stand_fish_wall
number <integer>
num_stand_fish_tubs
number <integer>
mt_shelf
number <integer>
mt_shelf_133
number <integer>
mt_shelf_125
number <integer>
mt_shelf_120
number <integer>
mt_shelf_100
number <integer>
mt_shelf_75
number <integer>
mt_shelf_60
number <integer>
mt_shelf_50
number <integer>

Responses

Request samples

Content type
application/json
{
  • "user_id": 1,
  • "code": "5542",
  • "sign": "DECO' MAXISTORE",
  • "group": "ROSSI",
  • "type": "PRIMARI",
  • "city": "Napoli",
  • "province": "Napoli",
  • "state": "Campania",
  • "cap": "00100",
  • "address": "VIA CAVOUR",
  • "address_number": "5",
  • "email": "your@email.com",
  • "phone": "3285564324",
  • "company_name": "NEW MARKET SRL",
  • "owner_name": "John Smith",
  • "owner_phone": "3285564324",
  • "owner_email": "your@email.com",
  • "manager_name": "John",
  • "manager_phone": "John Smith",
  • "open_at": "string",
  • "shopping_center": true,
  • "uncovered_parking": true,
  • "covered_parking": true,
  • "mq_sales_area": 0,
  • "mq_store": 0,
  • "num_checkouts": 0,
  • "num_scales": 0,
  • "num_employees": 0,
  • "location_value": 0,
  • "professional_level": 0,
  • "dep_bakery": true,
  • "dep_canned": true,
  • "dep_cleaning": true,
  • "dep_dls": true,
  • "dep_fish": true,
  • "dep_fruit": true,
  • "dep_frozen": true,
  • "dep_frozen_bulk": true,
  • "dep_gastronomy": true,
  • "dep_meat": true,
  • "dep_no_food": true,
  • "dep_news": true,
  • "dep_restaurant_area": true,
  • "dep_wine": true,
  • "ml_stand_sa_fo": 0,
  • "ml_stand_back": 0,
  • "ml_stand_pastry": 0,
  • "ml_stand_hot": 0,
  • "ml_stand_bakery_served": 0,
  • "ml_stand_bakery_self": 0,
  • "ml_stand_fresh_tubs": 0,
  • "ml_stand_meat_served": 0,
  • "ml_stand_meat_wall": 0,
  • "ml_stand_meat_takeaway": 0,
  • "ml_stand_meat_promo": 0,
  • "ml_stand_fruit_wall": 0,
  • "mq_stand_fruit_square": 0,
  • "mt_stand_fruit_promo": 0,
  • "ml_stand_dls": 0,
  • "mt_stand_dls_developed": 0,
  • "mt_stand_dls_promo": 0,
  • "cells_fresh": true,
  • "cells_meat": true,
  • "cells_fruit": true,
  • "cells_free": true,
  • "mt_stand_frozen_wall": 0,
  • "num_stand_frozen_tubs": 0,
  • "num_stand_frozen_bulk_tubs": 0,
  • "mt_stand_fish_wall": 0,
  • "num_stand_fish_tubs": 0,
  • "mt_shelf": 0,
  • "mt_shelf_133": 0,
  • "mt_shelf_125": 0,
  • "mt_shelf_120": 0,
  • "mt_shelf_100": 0,
  • "mt_shelf_75": 0,
  • "mt_shelf_60": 0,
  • "mt_shelf_50": 0
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user": {},
  • "code": "5542",
  • "sign": "DECO' MAXISTORE",
  • "group": "ROSSI",
  • "type": "PRIMARI",
  • "city": "Napoli",
  • "province": "Napoli",
  • "state": "Campania",
  • "cap": "00100",
  • "address": "VIA CAVOUR",
  • "address_number": "5",
  • "email": "your@email.com",
  • "phone": "3285564324",
  • "company_name": "NEW MARKET SRL",
  • "owner_name": "John Smith",
  • "owner_phone": "3285564324",
  • "owner_email": "your@email.com",
  • "manager_name": "John",
  • "manager_phone": "John Smith",
  • "open_at": "string",
  • "shopping_center": true,
  • "uncovered_parking": true,
  • "covered_parking": true,
  • "mq_sales_area": 0,
  • "mq_store": 0,
  • "num_checkouts": 0,
  • "num_scales": 0,
  • "num_employees": 0,
  • "location_value": 0,
  • "professional_level": 0,
  • "dep_bakery": true,
  • "dep_canned": true,
  • "dep_cleaning": true,
  • "dep_dls": true,
  • "dep_fish": true,
  • "dep_fruit": true,
  • "dep_frozen": true,
  • "dep_frozen_bulk": true,
  • "dep_gastronomy": true,
  • "dep_meat": true,
  • "dep_no_food": true,
  • "dep_news": true,
  • "dep_restaurant_area": true,
  • "dep_wine": true,
  • "ml_stand_sa_fo": 0,
  • "ml_stand_back": 0,
  • "ml_stand_pastry": 0,
  • "ml_stand_hot": 0,
  • "ml_stand_bakery_served": 0,
  • "ml_stand_bakery_self": 0,
  • "ml_stand_fresh_tubs": 0,
  • "ml_stand_meat_served": 0,
  • "ml_stand_meat_wall": 0,
  • "ml_stand_meat_takeaway": 0,
  • "ml_stand_meat_promo": 0,
  • "ml_stand_fruit_wall": 0,
  • "mq_stand_fruit_square": 0,
  • "mt_stand_fruit_promo": 0,
  • "ml_stand_dls": 0,
  • "mt_stand_dls_developed": 0,
  • "mt_stand_dls_promo": 0,
  • "cells_fresh": true,
  • "cells_meat": true,
  • "cells_fruit": true,
  • "cells_free": true,
  • "mt_stand_frozen_wall": 0,
  • "num_stand_frozen_tubs": 0,
  • "num_stand_frozen_bulk_tubs": 0,
  • "mt_stand_fish_wall": 0,
  • "num_stand_fish_tubs": 0,
  • "mt_shelf": 0,
  • "mt_shelf_133": 0,
  • "mt_shelf_125": 0,
  • "mt_shelf_120": 0,
  • "mt_shelf_100": 0,
  • "mt_shelf_75": 0,
  • "mt_shelf_60": 0,
  • "mt_shelf_50": 0,
  • "areas": [
    ],
  • "num_survey": 0,
  • "num_checks": 0,
  • "avg_score": 0.1,
  • "tot_score": 0,
  • "last_survey_at": "2019-08-24T14:15:22Z"
}

remove point of sale

remove definitively Pos entity by id

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{
  • "code": 3211,
  • "message": "Bad Request"
}

area

get areas

Returns the full list of Area entities.

Authorizations:
(apiKeyAuthbearerAuth)
query Parameters
q
string
Example: q=test filter string

Urlencode search string to filter list of entities.

sort
Array of strings[^\D(.*):(ASC|DESC)$]
Example: sort=field1:ASC|field2:DESC

Pipe delimited list with attributes to sort

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
[
  • {
    }
]

create area

create Area entity with data sent in request body

Authorizations:
(apiKeyAuthbearerAuth)
header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with Area entity data

name
required
string
color
string

Responses

Request samples

Content type
application/json
{
  • "name": "Tenuta",
  • "color": "#b80000"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "Tenuta",
  • "color": "#b80000",
  • "templates": [
    ]
}

get area

get specific Area by id

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "Tenuta",
  • "color": "#b80000",
  • "templates": [
    ]
}

update area

update Area data with new ones sent in request body

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with Area entity data

name
required
string
color
string

Responses

Request samples

Content type
application/json
{
  • "name": "Tenuta",
  • "color": "#b80000"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "Tenuta",
  • "color": "#b80000",
  • "templates": [
    ]
}

remove area

remove definitively Area entity by id

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{
  • "code": 3211,
  • "message": "Bad Request"
}

area / template

get templates

Returns the full list of Template entities.

Authorizations:
(apiKeyAuthbearerAuth)
query Parameters
q
string
Example: q=test filter string

Urlencode search string to filter list of entities.

sort
Array of strings[^\D(.*):(ASC|DESC)$]
Example: sort=field1:ASC|field2:DESC

Pipe delimited list with attributes to sort

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
[
  • {
    }
]

create template

create Template entity with data sent in request body

Authorizations:
(apiKeyAuthbearerAuth)
header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with Template entity data

name
required
string
area_id
integer

The related Area resource ID.

Responses

Request samples

Content type
application/json
{
  • "name": "Tenuta Interna",
  • "area_id": 1
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "Tenuta Interna",
  • "area_id": 1,
  • "max_score": 20
}

get template

get specific Template by id

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "Tenuta Interna",
  • "area_id": 1,
  • "max_score": 20
}

update template

update Template data with new ones sent in request body

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with Template entity data

name
required
string
area_id
integer

The related Area resource ID.

Responses

Request samples

Content type
application/json
{
  • "name": "Tenuta Interna",
  • "area_id": 1
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "Tenuta Interna",
  • "area_id": 1,
  • "max_score": 20
}

remove template

remove definitively Template entity by id

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{
  • "code": 3211,
  • "message": "Bad Request"
}

template / question

get questions

Returns the full list of Question entities.

Authorizations:
(apiKeyAuthbearerAuth)
query Parameters
q
string
Example: q=test filter string

Urlencode search string to filter list of entities.

sort
Array of strings[^\D(.*):(ASC|DESC)$]
Example: sort=field1:ASC|field2:DESC

Pipe delimited list with attributes to sort

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
[
  • {
    }
]

create question

create Question entity with data sent in request body

Authorizations:
(apiKeyAuthbearerAuth)
header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with Question entity data

weight
required
number <integer>

The weight define the priority between listed question

body
required
string

Responses

Request samples

Content type
application/json
{
  • "weight": 10,
  • "body": "Il volantino è presente e disponibile alla clientela?"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "weight": 10,
  • "body": "Il volantino è presente e disponibile alla clientela?"
}

get question

get specific Question by id

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "weight": 10,
  • "body": "Il volantino è presente e disponibile alla clientela?"
}

update question

update Question data with new ones sent in request body

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with Question entity data

weight
required
number <integer>

The weight define the priority between listed question

body
required
string

Responses

Request samples

Content type
application/json
{
  • "weight": 10,
  • "body": "Il volantino è presente e disponibile alla clientela?"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "weight": 10,
  • "body": "Il volantino è presente e disponibile alla clientela?"
}

remove question

remove definitively Question entity by id

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{
  • "code": 3211,
  • "message": "Bad Request"
}

pos / template / survey

get surveys

Returns the full list of Survey entities.

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

query Parameters
q
string
Example: q=test filter string

Urlencode search string to filter list of entities.

sort
Array of strings[^\D(.*):(ASC|DESC)$]
Example: sort=field1:ASC|field2:DESC

Pipe delimited list with attributes to sort

object (LHSDatetimePayload)

LHS Brackets filter on created_at field

object (LHSDatetimePayload)

LHS Brackets filter on updated_at field

object (LHSDatetimePayload)

LHS Brackets filter on closed_at field

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Range
required
string
Example: {unit}={from}-{to}

Tell the server if you want a paged resource

Responses

Response samples

Content type
application/json
[
  • {
    }
]

create survey

create Survey entity with data sent in request body. Surveys related to the same Pos and Template entity cannot be created before 24 hours after the latter has closed otherwise a "400 - Bad Request" exception will be triggered.

Authorizations:
(apiKeyAuthbearerAuth)
header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with Survey entity data

name
required
string
closed_at
string or null <date-time>

The survey closed date in ISO 8601 format.

Responses

Request samples

Content type
application/json
{
  • "name": "Tenuta Interna (12/2023)",
  • "closed_at": null
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "Tenuta Interna (12/2023)",
  • "pos_id": 1,
  • "score": 12,
  • "avg_score": 2.5,
  • "closed_at": "2019-08-24T14:15:22Z",
  • "template": {
    },
  • "user": {}
}

get survey

get specific Survey by id

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "Tenuta Interna (12/2023)",
  • "pos_id": 1,
  • "score": 12,
  • "avg_score": 2.5,
  • "closed_at": "2019-08-24T14:15:22Z",
  • "template": {
    },
  • "user": {}
}

update survey

update Survey data with new ones sent in request body

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with Survey entity data

name
required
string
closed_at
string or null <date-time>

The survey closed date in ISO 8601 format.

Responses

Request samples

Content type
application/json
{
  • "name": "Tenuta Interna (12/2023)",
  • "closed_at": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "Tenuta Interna (12/2023)",
  • "pos_id": 1,
  • "score": 12,
  • "avg_score": 2.5,
  • "closed_at": "2019-08-24T14:15:22Z",
  • "template": {
    },
  • "user": {}
}

remove survey

remove definitively Survey entity by id

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{
  • "code": 3211,
  • "message": "Bad Request"
}

survey

get all surveys

Returns the full list of all Survey entities.

Authorizations:
(apiKeyAuthbearerAuth)
query Parameters
q
string
Example: q=test filter string

Urlencode search string to filter list of entities.

sort
Array of strings[^\D(.*):(ASC|DESC)$]
Example: sort=field1:ASC|field2:DESC

Pipe delimited list with attributes to sort

object (LHSDatetimePayload)

LHS Brackets filter on created_at field

object (LHSDatetimePayload)

LHS Brackets filter on updated_at field

object (LHSDatetimePayload)

LHS Brackets filter on closed_at field

object (LHSNumberPayload)

LHS Brackets filter on point of sale id sarvey related field

object (LHSNumberPayload)

LHS Brackets filter on area id point of sale related field

object (LHSNumberPayload)

LHS Brackets filter on area id point of sale related field

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Range
required
string
Example: {unit}={from}-{to}

Tell the server if you want a paged resource

Responses

Response samples

Content type
application/json
[
  • {
    }
]

survey / response

get responses

Returns the full list of Response entities.

Authorizations:
(apiKeyAuthbearerAuth)
query Parameters
q
string
Example: q=test filter string

Urlencode search string to filter list of entities.

sort
Array of strings[^\D(.*):(ASC|DESC)$]
Example: sort=field1:ASC|field2:DESC

Pipe delimited list with attributes to sort

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
[
  • {
    }
]

create response

create Response entity with data sent in request body

Authorizations:
(apiKeyAuthbearerAuth)
header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with Response entity data

question_id
required
number <int64> >= 1

The related question resource id.

score
required
number [ 0 .. 4 ]

The response score ranges from 0 to 3 where: 0 = NOT ACCESSIBLE, 1 = NOT ADEQUATE, 2 = ADEQUATE and 3 = GOOD. The NOT ACCESSIBLE score (0) will be ignored when calculating the average survey score

note
string or null

Responses

Request samples

Content type
application/json
{
  • "question_id": 1,
  • "score": 2,
  • "note": "Una nota di testo libero"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "question": {
    },
  • "score": 2,
  • "note": "Una nota di testo libero"
}

get response

get specific Response by id

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "question": {
    },
  • "score": 2,
  • "note": "Una nota di testo libero"
}

update response

update Response data with new ones sent in request body

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with Response entity data

question_id
required
number <int64> >= 1

The related question resource id.

score
required
number [ 0 .. 4 ]

The response score ranges from 0 to 3 where: 0 = NOT ACCESSIBLE, 1 = NOT ADEQUATE, 2 = ADEQUATE and 3 = GOOD. The NOT ACCESSIBLE score (0) will be ignored when calculating the average survey score

note
string or null

Responses

Request samples

Content type
application/json
{
  • "question_id": 1,
  • "score": 2,
  • "note": "Una nota di testo libero"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "question": {
    },
  • "score": 2,
  • "note": "Una nota di testo libero"
}

remove response

remove definitively Response entity by id

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{
  • "code": 3211,
  • "message": "Bad Request"
}

survey / response / media

get list of response media

Returns the full or paged list of response media entities.

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

query Parameters
q
string
Example: q=test filter string

Urlencode search string to filter list of entities.

sort
Array of strings[^\D(.*):(ASC|DESC)$]
Example: sort=field1:ASC|field2:DESC

Pipe delimited list with attributes to sort

mode
string
Default: "AND"
Enum: "AND" "OR"
Example: mode=OR

Filter mode operator

object (LHSNumberPayload)

LHS Brackets filter on weight field

object (LHSStringPayload)

LHS Brackets filter on title field

object (LHSStringPayload)

LHS Brackets filter on description field

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Range
string
Example: {unit}={from}-{to}

Tell the server if you want a paged resource

Responses

Response samples

Content type
application/json
[]

upload response media

Upload new response media and relate it with response selected by response ID.

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: multipart/form-data

Upload resource content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: multipart/form-data
required

Multipart from request with a single binary attribute reserve to media uploading and a cover flag

weight
number <integer>

The weight define the priority between listed media

title
string

The media file original title.

description
string or null

The media file alternative description.

mime_type
string

The media mime-type, sending different value from default uploaded media mime_type force the server to try a type conversion.

media
required
object <binary>

Responses

Response samples

Content type
application/json
{}

get response media by id

get specific media metadata by id

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{}

update response media

Update response media info.

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Content-Type
required
string
Example: multipart/form-data

Upload resource content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Request Body schema: application/json
required

A JSON object with Media entity data

weight
number <integer>

The weight define the priority between listed media

title
string

The media file original title.

description
string or null

The media file alternative description.

mime_type
string

The media mime-type, sending different value from default uploaded media mime_type force the server to try a type conversion.

Responses

Request samples

Content type
application/json
{
  • "weight": 10,
  • "title": "string",
  • "description": "string",
  • "mime_type": "string"
}

Response samples

Content type
application/json
{}

delete response media

delete specific media by id

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

header Parameters
Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{
  • "code": 3211,
  • "message": "Bad Request"
}

analytics

get user analytics

Returns the users aggregated analytics data point group by {group} options.

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
group
string
Enum: "week" "month" "year"

the requested analytics group by mode

query Parameters
q
string
Example: q=test filter string

Urlencode search string to filter list of entities.

sort
Array of strings[^\D(.*):(ASC|DESC)$]
Example: sort=field1:ASC|field2:DESC

Pipe delimited list with attributes to sort

object (LHSDatetimePayload)

LHS Brackets filter on closed_at survey field

object (LHSNumberPayload)

LHS Brackets filter on user id survey related field

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Range
required
string
Example: {unit}={from}-{to}

Tell the server if you want a paged resource

Responses

Response samples

Content type
application/json
[]

get pos analytics

Returns the point of sales aggregated analytics data point of specific {type} group by {group} options.

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
type
string
Enum: "avg_score" "tot_score"

the requested analytics type

group
string
Enum: "day" "month" "year"

the requested analytics group by mode

query Parameters
q
string
Example: q=test filter string

Urlencode search string to filter list of entities.

sort
Array of strings[^\D(.*):(ASC|DESC)$]
Example: sort=field1:ASC|field2:DESC

Pipe delimited list with attributes to sort

object (LHSDatetimePayload)

LHS Brackets filter on closed_at survey field

object (LHSNumberPayload)

LHS Brackets filter on point of sale id sarvey related field

object (LHSNumberPayload)

LHS Brackets filter on area id point of sale related field

object (LHSNumberPayload)

LHS Brackets filter on area id point of sale related field

object (LHSStringPayload)

LHS Brackets filter on sign point of sale related field

object (LHSStringPayload)

LHS Brackets filter on group point of sale related field

header Parameters
Content-Type
required
string
Example: application/json

Content type

Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Range
required
string
Example: {unit}={from}-{to}

Tell the server if you want a paged resource

Responses

Response samples

Content type
application/json
[
  • {
    }
]

export / survey

export PDF/CSV surveys

Returns the full list of all Survey entities like a PDF/CSV file.

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
id
required
integer <int64> >= 1
Example: 1

ID of the resurce to query

format
string
Enum: "csv" "pdf"
Example: pdf

The format of file selected to export the survey list

query Parameters
q
string
Example: q=test filter string

Urlencode search string to filter list of entities.

sort
Array of strings[^\D(.*):(ASC|DESC)$]
Example: sort=field1:ASC|field2:DESC

Pipe delimited list with attributes to sort

object (LHSDatetimePayload)

LHS Brackets filter on created_at field

object (LHSDatetimePayload)

LHS Brackets filter on updated_at field

object (LHSDatetimePayload)

LHS Brackets filter on closed_at field

object (LHSNumberPayload)

LHS Brackets filter on area id point of sale related field

object (LHSNumberPayload)

LHS Brackets filter on area id point of sale related field

header Parameters
Accept-Lang
required
string
Example: it

The user selected language

Accept-Version
required
string
Example: 1.0.0

The API version you intend to query

Responses

Response samples

Content type
application/json
{
  • "code": 3211,
  • "message": "Bad Request"
}

Token

signature
required
string

The JWT generated signature.

refresh
string

The one time refresh token.

{
  • "signature": "valid-jwt-signature",
  • "refresh": "one-time-refresh-token"
}

Device

id
required
integer

The resource ID.

rel
required
string

The entity type.

created_at
required
string <date-time>

The date of the resource creation in ISO 8601 format.

updated_at
required
string <date-time>

The date of the last resource modification in ISO 8601 format.

type
required
string
Enum: "smartphone" "tablet" "desktop"

connected device type

os
required
string
Enum: "android" "ios" "windows" "linux" "macos"

device os macro category beetween android/ios

os_version
required
string

device os version number

language
string
Default: "en"

two characters string languages identifier (eg. it, en, ...)

enable_notification
boolean
Default: true

flag to enable or disable push notification

notification_token
string

unique firebase notification token genarated form Google/Apple

vendor_id
required
string

unique vendor device token genarated form Google/Apple

app_version
string

client application version

object
{
  • "id": 1,
  • "rel": "Device",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "type": "smartphone",
  • "os": "android",
  • "os_version": 23,
  • "language": "it",
  • "enable_notification": true,
  • "notification_token": "dWPEVGJjGNA:APA91bEzLWfVOzbS6btIqDe70Yb7hL...",
  • "vendor_id": "dWPEVGJjGNA:APA91bEzLWfVOzbS6btIqDe70Yb7hL...",
  • "app_version": "1.0.0",
  • "token": {
    }
}

DeviceLog

id
required
integer

The resource ID.

rel
required
string

The entity type.

created_at
required
string <date-time>

The date of the resource creation in ISO 8601 format.

updated_at
required
string <date-time>

The date of the last resource modification in ISO 8601 format.

type
required
string
Enum: "INFO" "WARN" "ERROR"

log type definition, INFO = generic logged information, WARN = something could be a problem or not, ERROR = an important problem/error to solve

api_version
string

web service version in use

app_version
string

client application version in use

username
string

device logged username

message
string

log message to store

attachment_name
string

name of the file attached to the log

attachment_url
string

url of the log attachment

{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "type": "INFO",
  • "api_version": "1.0.0",
  • "app_version": "1.0.0",
  • "username": "your@email.com",
  • "message": "string",
  • "attachment_name": "string",
  • "attachment_url": "string"
}

Identity

username
required
string

valid username (email or phone number)

password
string or null

valid password

new_password
string or null

valid new password used only in password update request

{
  • "username": "string"
}

IdentityConfirmation

code
string

account confirmation code (null if email field evalued)

email
string <email>

account email to check if new confirmation code has been requested (null if code field evalued)

{ }

Role

id
required
integer

The resource ID.

rel
required
string

The entity type.

weight
required
integer

progressive number used to order by roles via semantic prioritization values

label
required
string

role friendly name (eg. ADMIN, MEMBER, GUEST, ...)

description
string

short text describing role

{
  • "id": 1,
  • "rel": "string",
  • "weight": 20,
  • "label": "ADMIN",
  • "description": "string"
}

User

id
required
integer

The resource ID.

rel
required
string

The entity type.

created_at
required
string <date-time>

The date of the resource creation in ISO 8601 format.

updated_at
required
string <date-time>

The date of the last resource modification in ISO 8601 format.

role_id
integer

ID of the user role (1=SUPERADMIN, 2=ADMIN, 3=MEMBER, 4=GUEST).

object (RoleSchema)
avatar_media_id
integer

ID of the user avatar related to media object prevently uploaded.

object (MediaSchema)
first_name
string
last_name
string
email
required
string <email>
phone_country
string
phone_number
string
password
string <password>
privacy
required
boolean
terms
required
boolean
invitation
boolean

the value is TRUE if user was created via admin invitation witch implies automatic enabling and a different email notification

enabled
boolean

the value is TRUE if user comfirm his account

locked
boolean

the value is TRUE if admin ban this account, you can only set this flag to unlock banned user, use DELETE /user/:id to lock it

num_checks
number <integer>

number of checklists relating to User counted only if at least one survey was collected on a day of the PoS history

{}

Media

id
required
integer

The resource ID.

rel
required
string

The entity type.

created_at
required
string <date-time>

The date of the resource creation in ISO 8601 format.

updated_at
required
string <date-time>

The date of the last resource modification in ISO 8601 format.

type
required
string
Enum: "IMAGE" "DOCUMENT"

The logical media type.

weight
number <integer>

The weight define the priority between listed media

title
string

The media file original title.

description
string or null

The media file alternative description.

mime_type
string

The media mime-type, sending different value from default uploaded media mime_type force the server to try a type conversion.

extension
string

The media file original extension (gif, jpg, ...).

size
number <integer>

The size of file in KB

required
object

all remote media resource urls in CDN

{}

Notification

id
required
integer

The resource ID.

rel
required
string

The entity type.

created_at
required
string <date-time>

The date of the resource creation in ISO 8601 format.

updated_at
required
string <date-time>

The date of the last resource modification in ISO 8601 format.

title
string

The notification title

body
string

The notification message

silent
boolean

if TRUE identify a machine to machine notification witch do not generate classical notification badge

read_at
string or null <date-time>

The date of your first time reading of the notification.

payload
object
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "title": "Macchina pubblicata",
  • "body": "La tua CATERPILLAR BP15 del 2001 è stata pubblicata",
  • "silent": true,
  • "read_at": "2019-08-24T14:15:22Z",
  • "payload": { }
}

Media

id
required
integer

The resource ID.

rel
required
string

The entity type.

created_at
required
string <date-time>

The date of the resource creation in ISO 8601 format.

updated_at
required
string <date-time>

The date of the last resource modification in ISO 8601 format.

type
required
string
Enum: "IMAGE" "DOCUMENT"

The logical media type.

weight
number <integer>

The weight define the priority between listed media

title
string

The media file original title.

description
string or null

The media file alternative description.

mime_type
string

The media mime-type, sending different value from default uploaded media mime_type force the server to try a type conversion.

extension
string

The media file original extension (gif, jpg, ...).

size
number <integer>

The size of file in KB

required
object

all remote media resource urls in CDN

{}

Pos

id
required
integer

The resource ID.

rel
required
string

The entity type.

created_at
required
string <date-time>

The date of the resource creation in ISO 8601 format.

updated_at
required
string <date-time>

The date of the last resource modification in ISO 8601 format.

user_id
number or null <int64> >= 1

The store manager user_id.

object (UserSchema)
code
required
string
sign
string or null
group
string or null
type
string or null
city
string or null
province
string or null
state
string or null
cap
string or null
address
string or null
address_number
string or null
email
string or null <email>
phone
string or null
company_name
string or null
owner_name
string or null
owner_phone
string or null
owner_email
string or null <email>
manager_name
string or null
manager_phone
string or null
open_at
string or null

The opening date of the point of sale in ISO 8601 format.

shopping_center
boolean
uncovered_parking
boolean
covered_parking
boolean
mq_sales_area
number <integer>
mq_store
number <integer>
num_checkouts
number <integer>
num_scales
number <integer>
num_employees
number <integer>
location_value
number <integer>

Score between 1 and 3 which defines the value of the point of sale

professional_level
number <integer>

Score between 1 and 5 which defines the professional level of the point of sale

dep_bakery
boolean
dep_canned
boolean
dep_cleaning
boolean
dep_dls
boolean
dep_fish
boolean
dep_fruit
boolean
dep_frozen
boolean
dep_frozen_bulk
boolean
dep_gastronomy
boolean
dep_meat
boolean
dep_no_food
boolean
dep_news
boolean
dep_restaurant_area
boolean
dep_wine
boolean
ml_stand_sa_fo
number <integer>
ml_stand_back
number <integer>
ml_stand_pastry
number <integer>
ml_stand_hot
number <integer>
ml_stand_bakery_served
number <integer>
ml_stand_bakery_self
number <integer>
ml_stand_fresh_tubs
number <integer>
ml_stand_meat_served
number <integer>
ml_stand_meat_wall
number <integer>
ml_stand_meat_takeaway
number <integer>
ml_stand_meat_promo
number <integer>
ml_stand_fruit_wall
number <integer>
mq_stand_fruit_square
number <integer>
mt_stand_fruit_promo
number <integer>
ml_stand_dls
number <integer>
mt_stand_dls_developed
number <integer>
mt_stand_dls_promo
number <integer>
cells_fresh
boolean
cells_meat
boolean
cells_fruit
boolean
cells_free
boolean
mt_stand_frozen_wall
number <integer>
num_stand_frozen_tubs
number <integer>
num_stand_frozen_bulk_tubs
number <integer>
mt_stand_fish_wall
number <integer>
num_stand_fish_tubs
number <integer>
mt_shelf
number <integer>
mt_shelf_133
number <integer>
mt_shelf_125
number <integer>
mt_shelf_120
number <integer>
mt_shelf_100
number <integer>
mt_shelf_75
number <integer>
mt_shelf_60
number <integer>
mt_shelf_50
number <integer>
Array of objects (AreaSchema)
num_survey
number <integer>

number of survey related to the PointOfSale

num_checks
number <integer>

number of checklists relating to PointOfSale counted only if at least one survey was collected on a day of the PoS history or, if defined, on a day of a date range set with the checked_at filter

avg_score
number <float>

average of survey score related to the PointOfSale

tot_score
number <integer>

sum of survey score related to the PointOfSale

last_survey_at
string <date-time>

The date of the last closed survey in ISO 8601 format.

{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user": {},
  • "code": "5542",
  • "sign": "DECO' MAXISTORE",
  • "group": "ROSSI",
  • "type": "PRIMARI",
  • "city": "Napoli",
  • "province": "Napoli",
  • "state": "Campania",
  • "cap": "00100",
  • "address": "VIA CAVOUR",
  • "address_number": "5",
  • "email": "your@email.com",
  • "phone": "3285564324",
  • "company_name": "NEW MARKET SRL",
  • "owner_name": "John Smith",
  • "owner_phone": "3285564324",
  • "owner_email": "your@email.com",
  • "manager_name": "John",
  • "manager_phone": "John Smith",
  • "open_at": "string",
  • "shopping_center": true,
  • "uncovered_parking": true,
  • "covered_parking": true,
  • "mq_sales_area": 0,
  • "mq_store": 0,
  • "num_checkouts": 0,
  • "num_scales": 0,
  • "num_employees": 0,
  • "location_value": 0,
  • "professional_level": 0,
  • "dep_bakery": true,
  • "dep_canned": true,
  • "dep_cleaning": true,
  • "dep_dls": true,
  • "dep_fish": true,
  • "dep_fruit": true,
  • "dep_frozen": true,
  • "dep_frozen_bulk": true,
  • "dep_gastronomy": true,
  • "dep_meat": true,
  • "dep_no_food": true,
  • "dep_news": true,
  • "dep_restaurant_area": true,
  • "dep_wine": true,
  • "ml_stand_sa_fo": 0,
  • "ml_stand_back": 0,
  • "ml_stand_pastry": 0,
  • "ml_stand_hot": 0,
  • "ml_stand_bakery_served": 0,
  • "ml_stand_bakery_self": 0,
  • "ml_stand_fresh_tubs": 0,
  • "ml_stand_meat_served": 0,
  • "ml_stand_meat_wall": 0,
  • "ml_stand_meat_takeaway": 0,
  • "ml_stand_meat_promo": 0,
  • "ml_stand_fruit_wall": 0,
  • "mq_stand_fruit_square": 0,
  • "mt_stand_fruit_promo": 0,
  • "ml_stand_dls": 0,
  • "mt_stand_dls_developed": 0,
  • "mt_stand_dls_promo": 0,
  • "cells_fresh": true,
  • "cells_meat": true,
  • "cells_fruit": true,
  • "cells_free": true,
  • "mt_stand_frozen_wall": 0,
  • "num_stand_frozen_tubs": 0,
  • "num_stand_frozen_bulk_tubs": 0,
  • "mt_stand_fish_wall": 0,
  • "num_stand_fish_tubs": 0,
  • "mt_shelf": 0,
  • "mt_shelf_133": 0,
  • "mt_shelf_125": 0,
  • "mt_shelf_120": 0,
  • "mt_shelf_100": 0,
  • "mt_shelf_75": 0,
  • "mt_shelf_60": 0,
  • "mt_shelf_50": 0,
  • "areas": [
    ],
  • "num_survey": 0,
  • "num_checks": 0,
  • "avg_score": 0.1,
  • "tot_score": 0,
  • "last_survey_at": "2019-08-24T14:15:22Z"
}

Area

id
required
integer

The resource ID.

rel
required
string

The entity type.

created_at
required
string <date-time>

The date of the resource creation in ISO 8601 format.

updated_at
required
string <date-time>

The date of the last resource modification in ISO 8601 format.

name
required
string
color
string
Array of objects (TemplateSchema)
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "Tenuta",
  • "color": "#b80000",
  • "templates": [
    ]
}

Template

id
required
integer

The resource ID.

rel
required
string

The entity type.

created_at
required
string <date-time>

The date of the resource creation in ISO 8601 format.

updated_at
required
string <date-time>

The date of the last resource modification in ISO 8601 format.

name
required
string
area_id
integer

The related Area resource ID.

max_score
number <integer>
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "Tenuta Interna",
  • "area_id": 1,
  • "max_score": 20
}

Question

id
required
integer

The resource ID.

rel
required
string

The entity type.

created_at
required
string <date-time>

The date of the resource creation in ISO 8601 format.

updated_at
required
string <date-time>

The date of the last resource modification in ISO 8601 format.

weight
required
number <integer>

The weight define the priority between listed question

body
required
string
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "weight": 10,
  • "body": "Il volantino è presente e disponibile alla clientela?"
}

Survey

id
required
integer

The resource ID.

rel
required
string

The entity type.

created_at
required
string <date-time>

The date of the resource creation in ISO 8601 format.

updated_at
required
string <date-time>

The date of the last resource modification in ISO 8601 format.

name
required
string
pos_id
integer

The related PointOfSale resource ID.

score
number <integer>
avg_score
number <float>
closed_at
string or null <date-time>

The survey closed date in ISO 8601 format.

object (TemplateSchema)
object (UserSchema)
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "Tenuta Interna (12/2023)",
  • "pos_id": 1,
  • "score": 12,
  • "avg_score": 2.5,
  • "closed_at": "2019-08-24T14:15:22Z",
  • "template": {
    },
  • "user": {}
}

Response

id
required
integer

The resource ID.

rel
required
string

The entity type.

created_at
required
string <date-time>

The date of the resource creation in ISO 8601 format.

updated_at
required
string <date-time>

The date of the last resource modification in ISO 8601 format.

question_id
required
number <int64> >= 1

The related question resource id.

object (QuestionSchema)
score
required
number [ 0 .. 4 ]

The response score ranges from 0 to 3 where: 0 = NOT ACCESSIBLE, 1 = NOT ADEQUATE, 2 = ADEQUATE and 3 = GOOD. The NOT ACCESSIBLE score (0) will be ignored when calculating the average survey score

note
string or null
{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "question": {
    },
  • "score": 2,
  • "note": "Una nota di testo libero"
}

Response

rel
string
key
string
value
number <float>
{
  • "rel": "PosData",
  • "key": "12/06/2023",
  • "value": 2.5
}

HypermediaPayload

id
integer

The resource ID.

rel
required
string

The name of the related resource.

href
required
string

The resource url tu query.

type
required
string
Default: "GET"
Enum: "GET" "POST" "PUT" "PATCH" "DELETE"

The selceted HTTP method to use in query.

{}

InvalidField

field
string

the error related unique field name

errors
Array of strings

list of related field error messages

{
  • "field": "string",
  • "errors": [
    ]
}

LHSBooleanPayload

eq
number [ 0 .. 1 ]
nq
number [ 0 .. 1 ]
{
  • "eq": 1,
  • "nq": 1
}

LHSNumberPayload

eq
number or null
nq
number or null
inside
number^\d+((?:\:\d+)+)$
lt
number
lte
number
gt
number
gte
number
range
number^\d+:\d+$
{
  • "eq": 0,
  • "nq": 0,
  • "inside": 0,
  • "lt": 0,
  • "lte": 0,
  • "gt": 0,
  • "gte": 0,
  • "range": 0
}

LHSDatetimePayload

eq
string or null <date-time>
nq
string or null <date-time>
inside
string^\w+((?:\:\w+)+)$
lt
string <date-time>
lte
string <date-time>
gt
string <date-time>
gte
string <date-time>
range
string^\w+:\w+$
{
  • "eq": "2019-08-24T14:15:22Z",
  • "nq": "2019-08-24T14:15:22Z",
  • "inside": "string",
  • "lt": "2019-08-24T14:15:22Z",
  • "lte": "2019-08-24T14:15:22Z",
  • "gt": "2019-08-24T14:15:22Z",
  • "gte": "2019-08-24T14:15:22Z",
  • "range": "string"
}

LHSStringPayload

eq
string or null
nq
string or null
inside
string^\w+((?:\:\w+)+)$
like
string
lt
string
lte
string
gt
string
gte
string
regex
string
range
string^\w+:\w+$
{
  • "eq": "string",
  • "nq": "string",
  • "inside": "string",
  • "like": "string",
  • "lt": "string",
  • "lte": "string",
  • "gt": "string",
  • "gte": "string",
  • "regex": "string",
  • "range": "string"
}

SimplePayload

code
required
integer <integer>

number of exception code

message
required
string

simple text to describe response

{
  • "code": 1001,
  • "message": "string"
}

EntityPayload

id
required
integer

The resource ID.

rel
required
string

The entity type.

{
  • "id": 1,
  • "rel": "string"
}

TimestampablePayload

id
required
integer

The resource ID.

rel
required
string

The entity type.

created_at
required
string <date-time>

The date of the resource creation in ISO 8601 format.

updated_at
required
string <date-time>

The date of the last resource modification in ISO 8601 format.

{
  • "id": 1,
  • "rel": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}