NAV Navbar
Logo
shell

Introduction

Welcome to the CassaNova APIs! You can use our APIs and/or WEBHOOKs to integrate your system with CassaNova infrastructure.

Authentication

Using Api-Key to Access CassaNova APIs

CassaNova APIs are available only with Retail Enterprise or Risto Enterprise licenses and use the api-key for authentication and authorization.

To begin, contact us to obtain an api-key. Then your client application requests an access token from the CassaNova Authorization Server, extracts a token from the response, and sends the token to the CassaNova API that you want to access.

Basic steps

All applications follow a basic pattern when accessing a CassaNova API using Api-Key. At a high level, you follow three steps:

1. Obtain Api-Key credentials.

Contact us to obtain your Api-Key credentials. A single api-key can grant varying degrees of access to multiple APIs. A variable parameter called scope controls the set of resources and operations that an access token permits.

2. Obtain an access token from the CassaNova Authorization Server.

Before your application can access private data using a CassaNova API, it must obtain an access token that grants access to that API.

To obtain an access token you must make a request to the authorization server sending the api-key.

The following snippet shows a sample request:

curl -X POST "https://api.cassanova.com/apikey/token"
    -H "Content-Type:application/json"
    -H "X-Requested-With:*"
    -d "{"apiKey":<api-key>}"
The following snippet shows a sample response:
{
  "access_token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI5MiIsImlzcyI6ImNsaWVudDoxMjM0NTY3ODkwIiwiZXhwIjoxNDk1MTkyNDc3LCJzY29wZSI6IndyaXRlX2RlcGFydG1lbnQsY2lhb19kZXBhcnRtZW50LHJlYWRfZGVwYXJ0bWVudCJ9.12SP1CxlOriw0BN7d7IfodSDMKa1umEGoX9IHiHzw3klfBvsFom2WnI3cEtBKDrAMfSAvJ0zgTbGzDuK3JzGMw",
  "expires_in":3600,
  "token_type":"Bearer"
}

3. Send the access token to an API.

After an application obtains an access token, it sends the token to a CassaNova API in an HTTP authorization header.

Access tokens are valid only for the set of operations and resources described in the scope of the token request.

Parameters

In the documentation there are several examples of service calls. To test them use “https://api.cassanova.com” as “hostname”.

Timestamp fields follow the format “yyyy-mm-dd”.

Common parameters

Parameter Type Description
id String Id of the entity. It is an UUID (Universally Unique IDentifier) string used to identify an entity with near certainty that the identifier does not duplicate one that has already been, or will be, created to identify something else. This ID is always internally created by APIs and can never be modified.
idSalesPoint Long Id of the sales point related to the entity. This field also defines wether this entity is visible at sales point or account level. If is set, the entity is at sales point level, otherwise if is not set it is at account level. Entities at account level are visible from all account’s sales points, whereas entities at sales point level are visible only from sales point identified by this ID. After entity creation, this field cannot be changed.
internalId String String code for free usages (without constraints). Field used by CassaNova clients from some search functionality.
externalId String String code with unique constraint used by import/export feature. Entities imported from third part systems are identified by this code.
lastUpdate Timestamp Timestamp of the entity last update.
sorts Sorts (#sort) A sort policy. Key is the name of the field. Direction could be 1 (Ascending) or -1 (Descending).

Common filter parameters

Parameter Type Description
start Integer An index from which records are returned. For instance if you make a request with start value 100, the first 99 records will not be returned.
limit Integer A limit on the number of records to be returned, between 1 and 100 with default value 10.
idsSalesPoint List[Long] A list of idSalesPoint, to which the returned records must be related to.
lastUpdateFrom Timestamp Only records updated at or after this time are returned.
lastUpdateTo Timestamp Only records updated at or before this time are returned.

Colors

The “color” parameter refers generally to buttons background on CassaNova selling interface.

For instance it is possible to select different colors for every product kind, in order to increase user experience when selecting sell items.

The following table contains all the available color values.

Value Color
d177ab
 
7e4e60
 
ae7ff9
 
bfa4d6
 
61c0b6
 
3e767a
 
98c32c
 
49b76c
 
70a8eb
 
0a7cad
 
94d4ef
 
ebbd1d
 
ffd993
 
a88a5c
 
e8864a
 
db4925
 
cccccc
 
7f7f7f
 
333333
 

Icons

It is possible to assign the following icons to products. They are shown on product buttons on CassaNova selling interface.

Icon id Description Icon Icon id Description Icon
accendino Lighter lattina Can
acqua Water macedonia Fruit salad
bancomat ATM matita Pencil
batteria Battery minestra Soup
bevanda_analcolica Soft drink occhiali Glasses
bevanda_calda Hot beverage panino Hamburger
burrocacao Chapstick pasta Pasta
busta Envelope penna Pen
caffe Coffee pizza Pizza
caramella Candy postepay Credit carc
cartolina Postcard primo First course
cerotto Patch quaderno Notebook
contorno Side dish secondo_carne_bianca White meat course
dolce Dessert secondo_carne_rossa Red meat course
fiammifero Match secondo_pesce Fish course
fotocopia Photocopy shortino Shot
francobollo Stamp sigaretta Cigarette
frappe Milkshake spremuta Juice
gelato Ice cream stampa Print
ghiacciolo Popsicle superalcolico Alcoholic
gioco Toy tea Tea
giornale Newspaper tramezzino Sandwich
gratta_e_vinci Lottery scratch vino_bicchiere Wine glass
insalata Salad vino_bottiglia Wine bottle

Webhook

Webhooks alleviates consumers from having to continuously poll for changes by having Webhook providers push new data to them when it becomes available.

Configuration and Analytics

CassaNova Webhooks can be configured and analyzed (log and usage limitations) from MyCassaNova’s webapp settings section.

It’s possible to create Webhooks for create, edit and delete actions on this entities:

A single Webhook configuration requires URL field with a valid URL address possibly under HTTPS protocol.

With visibility configuration is possible to configure webhook on entity at account or sales point level.

Authenticity

When a webhook is configured, a secret token is set by the system and can be used to verify the authenticity of webhook calls. For each call, CassaNova signs the message by computing an HMAC of the secret plus request body and placing the signature in the x-cn-signature header. The Receiver then verifies the signature to know that the message is authentic. Verification is as simple as computing the same HMAC and comparing it to the x-cn-signature header value.

Content

The event notified with webhook call contains:

The entities interface are the same for both APIs and WEBHOOKs documented here.

Delivery Failure & Retries

When Webhook consumers are unavailable, CassaNova retries (max 3 times) to ensure consumers get the updates they are subscribing to. For the following HTTP responses status codes, CassaNova doesn’t perform retry:

Rate limit

A rate limit is the number of calls that a Webhooks consumer can receive within a given time period. If this limit is exceeded, following Webhooks event occurrences will be skipped.

All Webhooks entities configurable are subject to rate limits. Rate limit is by entity.

Tax Management

NewTax

Since version: 1.0.0

curl -X POST '<hostname>/taxes'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        description: String,
        rate: BigDecimal,
        externalId: String,
        nature: NaturaIvaEsente,
        noFiscalPrint: Boolean,
        noFiscalPrintOnMixedReceipt: Boolean,
        idSalesPoint: Long
    }'

Create a new Tax.

HTTP Request

POST '<hostname>/taxes'

Query Parameters

Parameter Type Description
description String Required. Description.
rate BigDecimal Required. Ratio, expressed as percentage, at which tax is applied.
externalId String externalId.
nature NaturaIvaEsente Type of exemption, valid only if rate is zero.
noFiscalPrint Boolean If true the receipt row will not be printed, valid only if rate is zero.
noFiscalPrintOnMixedReceipt Boolean If true the receipt row will not be printed even in mixed receipts, valid only if rate is zero.
idSalesPoint Long idSalesPoint.

Response

Parameter Type Description
id String Id of the created tax.

Errors

Error Code Description
InvalidIdSalesPoint
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

BatchTax

Since version: 1.0.0

curl -X POST '<hostname>/taxes/batch'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        create: [
                 {
                          description: String,
                          rate: BigDecimal,
                          externalId: String,
                          nature: NaturaIvaEsente,
                          noFiscalPrint: Boolean,
                          noFiscalPrintOnMixedReceipt: Boolean,
                          idSalesPoint: Long
                 }
        ],
        update: [
                 {
                          id: String,
                          description: String,
                          externalId: String,
                          nature: NaturaIvaEsente,
                          noFiscalPrint: Boolean,
                          noFiscalPrintOnMixedReceipt: Boolean
                 }
        ]
    }'

Bulk creation/update of Tax.

HTTP Request

POST '<hostname>/taxes/batch'

Query Parameters

Parameter Type Description
create [
   {
      description: String,
      rate: BigDecimal,
      externalId: String,
      nature: NaturaIvaEsente,
      noFiscalPrint: Boolean,
      noFiscalPrintOnMixedReceipt: Boolean,
      idSalesPoint: Long
   }
]
Required. Array containing taxes to be created
update [
   {
      id: String,
      description: String,
      externalId: String,
      nature: NaturaIvaEsente,
      noFiscalPrint: Boolean,
      noFiscalPrintOnMixedReceipt: Boolean
   }
]
Required. Array containing taxes to be updated

Response

Parameter Type Description
batchResponse BatchResponse Id and ExternalId of the created and updated taxes.

Errors

Error Code Description
InvalidId
InvalidIdSalesPoint
ConflictValue
InvalidValue

Error responses may contain details data of following type BatchError.

EditTax

Since version: 1.0.0

curl -X PUT '<hostname>/taxes/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        description: String,
        externalId: String,
        nature: NaturaIvaEsente,
        noFiscalPrint: Boolean,
        noFiscalPrintOnMixedReceipt: Boolean
    }'

Update the Tax of the specified id.

HTTP Request

PUT '<hostname>/taxes/:id'

Query Parameters

Parameter Type Description
description String Description.
externalId String externalId.
nature NaturaIvaEsente Type of exemption, valid only if rate is zero.
noFiscalPrint Boolean If true the receipt row will not be printed, valid only if rate is zero.
noFiscalPrintOnMixedReceipt Boolean If true the receipt row will not be printed even in mixed receipts, valid only if rate is zero.

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

DeleteTax

Since version: 1.0.0

curl -X DELETE '<hostname>/taxes/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'

Delete the Tax of the specified id.

HTTP Request

DELETE '<hostname>/taxes/:id'

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue

GetTax

Since version: 1.0.0

curl -X GET '<hostname>/taxes/:id?'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve the Tax of the specified id.

HTTP Request

GET '<hostname>/taxes/:id'

Response

Parameter Type Description
tax Tax Returned record.

Errors

Error Code Description
InvalidId

GetTaxes

Since version: 1.0.0

curl -X GET '<hostname>/taxes?start=<Integer>&limit=<Integer>&sorts=<List[[Sort](#sort)]>&ids=<List[String]>&idsSalesPoint=<List[Long]>&description=<String>&lastUpdateFrom=<Timestamp>&lastUpdateTo=<Timestamp>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve all the taxes within search parameters.

HTTP Request

GET '<hostname>/taxes'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
ids List[String] List containing ids of taxes to retrieve.
idsSalesPoint List[Long] idsSalesPoint.
description String Text, case not sensitive, which returned records description is like to.
lastUpdateFrom Timestamp lastUpdateFrom.
lastUpdateTo Timestamp lastUpdateTo.

Response

Parameter Type Description
taxes List[Tax] Collection of returned records.
totalCount Integer The total number of records matching filter parameters.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

Department Management

NewDepartment

Since version: 1.0.0

curl -X POST '<hostname>/departments'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        description: String,
        descriptionLabel: String,
        descriptionReceipt: String,
        idTax: String,
        color: String,
        amountLimit: BigDecimal,
        externalId: String,
        idSalesPoint: Long
    }'

Create a new Department.

HTTP Request

POST '<hostname>/departments'

Query Parameters

Parameter Type Description
description String Required. Description.
descriptionLabel String Required. Label of department button on selling interface.
descriptionReceipt String Required. Description shown on receipt. It’s recommended to not use special characters as some printers may not recognize them.
idTax String Required. Id of the Tax to be applied on the department.
color String Required. Background color, expressed as hexadecimal, of department button on selling interface. See colors for a list of the available values.
amountLimit BigDecimal Optional value used to set amount limit on a department sale (without specifying product). This could help to prevent user errors when inputing prices manually.
externalId String externalId.
idSalesPoint Long idSalesPoint.

Response

Parameter Type Description
id String Id of the created department.

Errors

Error Code Description
InvalidIdSalesPoint
InvalidIdTax
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

EditDepartment

Since version: 1.0.0

curl -X PUT '<hostname>/departments/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        description: String,
        descriptionLabel: String,
        descriptionReceipt: String,
        idTax: String,
        color: String,
        amountLimit: BigDecimal,
        externalId: String
    }'

Update the Department of the specified id.

HTTP Request

PUT '<hostname>/departments/:id'

Query Parameters

Parameter Type Description
description String Description.
descriptionLabel String Label of department button on selling interface.
descriptionReceipt String Description shown on receipt. It’s recommended to not use special characters as some printers may not recognize them.
idTax String Id of the Tax to be applied on the department.
color String Background color, expressed as hexadecimal, of department button on selling interface. See colors for a list of the available values.
amountLimit BigDecimal Optional value used to set amount limit on a department sale (without specifying product). This could help to prevent user errors when inputing prices manually.
externalId String externalId.

Errors

Error Code Description
InvalidId
InvalidIdTax
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

BatchDepartment

Since version: 1.0.0

curl -X POST '<hostname>/departments/batch'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        create: [
                 {
                          description: String,
                          descriptionLabel: String,
                          descriptionReceipt: String,
                          idTax: String,
                          color: String,
                          amountLimit: BigDecimal,
                          externalId: String,
                          idSalesPoint: Long
                 }
        ],
        update: [
                 {
                          id: String,
                          description: String,
                          descriptionLabel: String,
                          descriptionReceipt: String,
                          idTax: String,
                          color: String,
                          amountLimit: BigDecimal,
                          externalId: String
                 }
        ]
    }'

Bulk creation/update of Department.

HTTP Request

POST '<hostname>/departments/batch'

Query Parameters

Parameter Type Description
create [
   {
      description: String,
      descriptionLabel: String,
      descriptionReceipt: String,
      idTax: String,
      color: String,
      amountLimit: BigDecimal,
      externalId: String,
      idSalesPoint: Long
   }
]
Required. Array containing department to be created
update [
   {
      id: String,
      description: String,
      descriptionLabel: String,
      descriptionReceipt: String,
      idTax: String,
      color: String,
      amountLimit: BigDecimal,
      externalId: String
   }
]
Required. Array containing department to be updated

Response

Parameter Type Description
batchResponse BatchResponse Id and ExternalId of the created and updated departments.

Errors

Error Code Description
InvalidIdSalesPoint
InvalidId
InvalidIdTax
ConflictValue
InvalidValue

Error responses may contain details data of following type BatchError.

DeleteDepartment

Since version: 1.0.0

curl -X DELETE '<hostname>/departments/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'

Delete the Department of the specified id.

HTTP Request

DELETE '<hostname>/departments/:id'

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue

GetDepartment

Since version: 1.0.0

curl -X GET '<hostname>/departments/:id?'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve the Department of the specified id.

HTTP Request

GET '<hostname>/departments/:id'

Response

Parameter Type Description
department Department Returned record.

Errors

Error Code Description
InvalidId

GetDepartments

Since version: 1.0.0

curl -X GET '<hostname>/departments?start=<Integer>&limit=<Integer>&sorts=<List[[Sort](#sort)]>&ids=<List[String]>&idsSalesPoint=<List[Long]>&description=<String>&lastUpdateFrom=<Timestamp>&lastUpdateTo=<Timestamp>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve all the departments.

HTTP Request

GET '<hostname>/departments'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
ids List[String] List containing ids of departments to retrieve.
idsSalesPoint List[Long] idsSalesPoint.
description String Text, case not sensitive, which returned records description is like to.
lastUpdateFrom Timestamp lastUpdateFrom.
lastUpdateTo Timestamp lastUpdateTo.

Response

Parameter Type Description
departments List[Department] Collection of returned records.
totalCount Integer The total number of records matching filter parameters.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

Option Management

NewOption

Since version: 1.0.0

curl -X POST '<hostname>/options'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        description: String,
        externalId: String,
        idSalesPoint: Long,
        values: [
                 {
                          type: OptionValueType,
                          value: String,
                          position: Integer,
                          externalId: String
                 }
        ]
    }'

Create a new Option.

HTTP Request

POST '<hostname>/options'

Query Parameters

Parameter Type Description
description String Required. Description.
externalId String externalId.
idSalesPoint Long idSalesPoint.
values [
   {
      type: OptionValueType,
      value: String,
      position: Integer,
      externalId: String
   }
]
Required. Array containing option values. For each value ‘type’, ‘value’, ‘position’ are required fields. See OptionValue for further details.

Response

Parameter Type Description
id String Id of the option created.

Errors

Error Code Description
InvalidIdSalesPoint
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

EditOption

Since version: 1.0.0

curl -X PUT '<hostname>/options/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        description: String,
        externalId: String,
        values: [
                 {
                          type: OptionValueType,
                          value: String,
                          position: Integer,
                          externalId: String
                 }
        ]
    }'

Update the Option of the specified id.

HTTP Request

PUT '<hostname>/options/:id'

Query Parameters

Parameter Type Description
description String Description.
externalId String externalId.
values [
   {
      type: OptionValueType,
      value: String,
      position: Integer,
      externalId: String
   }
]
Array replacing option values. For each value ‘type’, ‘value’, ‘position’ are required fields. See OptionValue for further details.

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

BatchOption

Since version: 1.0.0

curl -X POST '<hostname>/options/batch'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        create: [
                 {
                          description: String,
                          externalId: String,
                          idSalesPoint: Long,
                          values: [
                                   {
                                            type: OptionValueType,
                                            value: String,
                                            position: Integer,
                                            externalId: String
                                   }
                          ]
                 }
        ],
        update: [
                 {
                          id: String,
                          description: String,
                          externalId: String,
                          values: [
                                   {
                                            type: OptionValueType,
                                            value: String,
                                            position: Integer,
                                            externalId: String
                                   }
                          ]
                 }
        ]
    }'

Bulk creation/update of Option.

HTTP Request

POST '<hostname>/options/batch'

Query Parameters

Parameter Type Description
create [
   {
      description: String,
      externalId: String,
      idSalesPoint: Long,
      values: [
         {
            type: OptionValueType,
            value: String,
            position: Integer,
            externalId: String
         }
      ]
   }
]
Required. Array containing options to be created
update [
   {
      id: String,
      description: String,
      externalId: String,
      values: [
         {
            type: OptionValueType,
            value: String,
            position: Integer,
            externalId: String
         }
      ]
   }
]
Required. Array containing options to be updated

Response

Parameter Type Description
batchResponse BatchResponse Id and ExternalId of the created and updated options.

Errors

Error Code Description
InvalidId
InvalidIdSalesPoint
ConflictValue
InvalidValue

Error responses may contain details data of following type BatchError.

DeleteOption

Since version: 1.0.0

curl -X DELETE '<hostname>/options/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'

Delete the Option of the specified id.

HTTP Request

DELETE '<hostname>/options/:id'

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue

GetOption

Since version: 1.0.0

curl -X GET '<hostname>/options/:id?'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve the Option of the specified id.

HTTP Request

GET '<hostname>/options/:id'

Response

Parameter Type Description
option Option Returned record.

Errors

Error Code Description
InvalidId

GetOptions

Since version: 1.0.0

curl -X GET '<hostname>/options?start=<Integer>&limit=<Integer>&sorts=<List[[Sort](#sort)]>&ids=<List[String]>&idsSalesPoint=<List[Long]>&description=<String>&lastUpdateFrom=<Timestamp>&lastUpdateTo=<Timestamp>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve all the options.

HTTP Request

GET '<hostname>/options'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
ids List[String] List containing ids of options to retrieve.
idsSalesPoint List[Long] idsSalesPoint.
description String Text, case not sensitive, which returned records description is like to.
lastUpdateFrom Timestamp lastUpdateFrom.
lastUpdateTo Timestamp lastUpdateTo.

Response

Parameter Type Description
options List[Option] Collection of returned records.
totalCount Integer The total number of records matching filter parameters.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

Category Management

NewCategory

Since version: 1.0.0

curl -X POST '<hostname>/categories'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        description: String,
        externalId: String,
        idSalesPoint: Long,
        enableForRisto: Boolean,
        enableForSale: Boolean,
        enableForECommerce: Boolean,
        enableForMobileCommerce: Boolean,
        enableForSelfOrderMenu: Boolean,
        enableForKiosk: Boolean,
        modifiers: [
                 {
                          idOption: String,
                          position: Integer,
                          values: [
                                   {
                                            idValue: String,
                                            price: BigDecimal,
                                            percentagePrice: BigDecimal,
                                            isDefault: Boolean
                                   }
                          ]
                 }
        ],
        imageUrl: String
    }'

Create a new Category.

HTTP Request

POST '<hostname>/categories'

Query Parameters

Parameter Type Description
description String Required. Description.
externalId String externalId.
idSalesPoint Long idSalesPoint.
enableForRisto Boolean Required. If set to true, all category products are available for the restaurant interface.
enableForSale Boolean Required. If set to true, all category products are available for sale on Cassa In Cloud app.
enableForECommerce Boolean Required. If set to true, all category products are available for sale on e-commerce.
enableForMobileCommerce Boolean Required. If set to true, all category products are available for sale on mobile e-commerce.
enableForSelfOrderMenu Boolean Required. If set to true, all category products are available for sale on Cassa In Cloud self order app.
enableForKiosk Boolean Required. If set to true, all category products are available for sale on Cassa In Cloud kiosk app.
modifiers [
   {
      idOption: String,
      position: Integer,
      values: [
         {
            idValue: String,
            price: BigDecimal,
            percentagePrice: BigDecimal,
            isDefault: Boolean
         }
      ]
   }
]
A collection of modifiers available to all category products. For each modifier ‘idOption’, ‘position’ and ‘values’ are required fields. For each modifier value ‘idValue’ field is required, and one among ‘price’ and ‘percentagePrice’ must be set. See Modifier for further details.
imageUrl String Link to an image connected to the category.

Response

Parameter Type Description
id String Id of the category created.

Errors

Error Code Description
InvalidIdSalesPoint
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

EditCategory

Since version: 1.0.0

curl -X PUT '<hostname>/categories/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        description: String,
        externalId: String,
        enableForRisto: Boolean,
        enableForSale: Boolean,
        enableForECommerce: Boolean,
        enableForMobileCommerce: Boolean,
        enableForSelfOrderMenu: Boolean,
        enableForKiosk: Boolean,
        modifiers: [
                 {
                          idOption: String,
                          position: Integer,
                          values: [
                                   {
                                            idValue: String,
                                            price: BigDecimal,
                                            percentagePrice: BigDecimal,
                                            isDefault: Boolean
                                   }
                          ]
                 }
        ],
        imageUrl: String
    }'

Update the Category of the specified id.

HTTP Request

PUT '<hostname>/categories/:id'

Query Parameters

Parameter Type Description
description String Description.
externalId String externalId.
enableForRisto Boolean If set to true, all category products are available for the restaurant interface.
enableForSale Boolean If set to true, all category products are available for sale on Cassa In Cloud app.
enableForECommerce Boolean If set to true, all category products are available for sale on e-commerce.
enableForMobileCommerce Boolean If set to true, all category products are available for sale on mobile e-commerce.
enableForSelfOrderMenu Boolean If set to true, all category products are available for sale on Cassa In Cloud self order app.
enableForKiosk Boolean If set to true, all category products are available for sale on Cassa In Cloud kiosk app.
modifiers [
   {
      idOption: String,
      position: Integer,
      values: [
         {
            idValue: String,
            price: BigDecimal,
            percentagePrice: BigDecimal,
            isDefault: Boolean
         }
      ]
   }
]
Replaces available modifiers. For each modifier ‘idOption’, ‘position’ and ‘values’ are required fields. For each modifier value ‘idValue’ field is required, and one among ‘price’ and ‘percentagePrice’ must be set. See Modifier for further details.
imageUrl String Link to an image connected to the category.

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

BatchCategory

Since version: 1.0.0

curl -X POST '<hostname>/categories/batch'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        create: [
                 {
                          description: String,
                          externalId: String,
                          idSalesPoint: Long,
                          enableForRisto: Boolean,
                          enableForSale: Boolean,
                          enableForECommerce: Boolean,
                          enableForMobileCommerce: Boolean,
                          enableForSelfOrderMenu: Boolean,
                          enableForKiosk: Boolean,
                          modifiers: [
                                   {
                                            idOption: String,
                                            position: Integer,
                                            values: [
                                                     {
                                                              idValue: String,
                                                              price: BigDecimal,
                                                              percentagePrice: BigDecimal,
                                                              isDefault: Boolean
                                                     }
                                            ]
                                   }
                          ],
                          imageUrl: String
                 }
        ],
        update: [
                 {
                          id: String,
                          description: String,
                          externalId: String,
                          enableForRisto: Boolean,
                          enableForSale: Boolean,
                          enableForECommerce: Boolean,
                          enableForMobileCommerce: Boolean,
                          enableForSelfOrderMenu: Boolean,
                          enableForKiosk: Boolean,
                          modifiers: [
                                   {
                                            idOption: String,
                                            position: Integer,
                                            values: [
                                                     {
                                                              idValue: String,
                                                              price: BigDecimal,
                                                              percentagePrice: BigDecimal,
                                                              isDefault: Boolean
                                                     }
                                            ]
                                   }
                          ],
                          imageUrl: String
                 }
        ]
    }'

Bulk creation/update of Category.

HTTP Request

POST '<hostname>/categories/batch'

Query Parameters

Parameter Type Description
create [
   {
      description: String,
      externalId: String,
      idSalesPoint: Long,
      enableForRisto: Boolean,
      enableForSale: Boolean,
      enableForECommerce: Boolean,
      enableForMobileCommerce: Boolean,
      enableForSelfOrderMenu: Boolean,
      enableForKiosk: Boolean,
      modifiers: [
         {
            idOption: String,
            position: Integer,
            values: [
               {
                  idValue: String,
                  price: BigDecimal,
                  percentagePrice: BigDecimal,
                  isDefault: Boolean
               }
            ]
         }
      ],
      imageUrl: String
   }
]
Required. Array containing categories to be created
update [
   {
      id: String,
      description: String,
      externalId: String,
      enableForRisto: Boolean,
      enableForSale: Boolean,
      enableForECommerce: Boolean,
      enableForMobileCommerce: Boolean,
      enableForSelfOrderMenu: Boolean,
      enableForKiosk: Boolean,
      modifiers: [
         {
            idOption: String,
            position: Integer,
            values: [
               {
                  idValue: String,
                  price: BigDecimal,
                  percentagePrice: BigDecimal,
                  isDefault: Boolean
               }
            ]
         }
      ],
      imageUrl: String
   }
]
Required. Array containing categories to be updated

Response

Parameter Type Description
batchResponse BatchResponse Id and ExternalId of the created and updated categories.

Errors

Error Code Description
InvalidIdSalesPoint
ConflictValue
InvalidValue
InvalidId

Error responses may contain details data of following type BatchError.

DeleteCategory

Since version: 1.0.0

curl -X DELETE '<hostname>/categories/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'

Delete the Category of the specified id.

HTTP Request

DELETE '<hostname>/categories/:id'

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue

GetCategory

Since version: 1.0.0

curl -X GET '<hostname>/categories/:id?'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve the Category of the specified id.

HTTP Request

GET '<hostname>/categories/:id'

Response

Parameter Type Description
category Category Returned record.

Errors

Error Code Description
InvalidId

GetCategories

Since version: 1.0.0

curl -X GET '<hostname>/categories?start=<Integer>&limit=<Integer>&sorts=<List[[Sort](#sort)]>&ids=<List[String]>&idsSalesPoint=<List[Long]>&description=<String>&lastUpdateFrom=<Timestamp>&lastUpdateTo=<Timestamp>&enabledForChannels=<List[[ProductChannel](#productchannel)]>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve all the categories

HTTP Request

GET '<hostname>/categories'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
ids List[String] List containing ids of categories to retrieve.
idsSalesPoint List[Long] idsSalesPoint.
description String Text, case not sensitive, which returned records description is like to.
lastUpdateFrom Timestamp lastUpdateFrom.
lastUpdateTo Timestamp lastUpdateTo.
enabledForChannels List[ProductChannel] Used to filter categories by enabled channels (OR filter)

Response

Parameter Type Description
categories List[Category] Collection of returned records.
totalCount Integer The total number of records matching filter parameters.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

Organization Management

NewOrganization

Since version: 1.0.0

curl -X POST '<hostname>/organizations'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        name: String,
        address: String,
        city: String,
        zipcode: String,
        district: String,
        country: String,
        splitPayment: Boolean,
        vatNumber: String,
        fiscalCode: String,
        eInvoiceCode: String,
        pec: String,
        phoneNumber: String,
        email: String,
        note: String,
        idSalesPoint: Long,
        idSalesMode: String,
        bankAccountHolder: String,
        bankAccountInstitute: String,
        bankAccountIBAN: String,
        discount1: BigDecimal,
        discount2: BigDecimal,
        discount3: BigDecimal,
        discount4: BigDecimal
    }'

Create a new Organization. Additional fields rules: at least one between vatNumber and fiscalCode is required.

HTTP Request

POST '<hostname>/organizations'

Query Parameters

Parameter Type Description
name String Required. Name.
address String Required. Address.
city String Required. City.
zipcode String Required. Zip code.
district String Required. District.
country String Required. Country code ISO 3166-1 alpha-2.
splitPayment Boolean SplitPayment
vatNumber String Vat number.
fiscalCode String Fiscal code.
eInvoiceCode String Invoice code.
pec String Pec.
phoneNumber String Phone number.
email String Email.
note String Note.
idSalesPoint Long idSalesPoint.
idSalesMode String Id of related sales mode.
bankAccountHolder String Bank account holder.
bankAccountInstitute String Bank account institute.
bankAccountIBAN String Bank account IBAN.
discount1 BigDecimal First percentage discount applied on sales.
discount2 BigDecimal Second percentage discount applied on sales.
discount3 BigDecimal Third percentage discount applied on sales.
discount4 BigDecimal Fourth percentage discount applied on sales.

Response

Parameter Type Description
id String Id of the created organization.

Errors

Error Code Description
InvalidIdSalesPoint
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

EditOrganization

Since version: 1.0.0

curl -X PUT '<hostname>/organizations/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        name: String,
        address: String,
        city: String,
        zipcode: String,
        district: String,
        splitPayment: Boolean,
        country: String,
        vatNumber: String,
        fiscalCode: String,
        eInvoiceCode: String,
        pec: String,
        phoneNumber: String,
        email: String,
        note: String,
        idSalesMode: String,
        bankAccountHolder: String,
        bankAccountInstitute: String,
        bankAccountIBAN: String,
        discount1: BigDecimal,
        discount2: BigDecimal,
        discount3: BigDecimal,
        discount4: BigDecimal
    }'

Update the Organization of the specified id.

HTTP Request

PUT '<hostname>/organizations/:id'

Query Parameters

Parameter Type Description
name String Name.
address String Address.
city String City.
zipcode String Zip code.
district String District.
splitPayment Boolean SplitPayment
country String Country code ISO 3166-1 alpha-2.
vatNumber String Vat number.
fiscalCode String Fiscal code.
eInvoiceCode String Invoice code.
pec String Pec.
phoneNumber String Phone number.
email String Email.
note String Note.
idSalesMode String Id of related sales mode.
bankAccountHolder String Bank account holder.
bankAccountInstitute String Bank account institute.
bankAccountIBAN String Bank account IBAN.
discount1 BigDecimal First percentage discount applied on sales.
discount2 BigDecimal Second percentage discount applied on sales.
discount3 BigDecimal Third percentage discount applied on sales.
discount4 BigDecimal Fourth percentage discount applied on sales.

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

BatchOrganization

Since version: 1.0.0

curl -X POST '<hostname>/organizations/batch'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        create: [
                 {
                          name: String,
                          address: String,
                          city: String,
                          zipcode: String,
                          district: String,
                          country: String,
                          splitPayment: Boolean,
                          vatNumber: String,
                          fiscalCode: String,
                          eInvoiceCode: String,
                          pec: String,
                          phoneNumber: String,
                          email: String,
                          note: String,
                          idSalesPoint: Long,
                          idSalesMode: String,
                          bankAccountHolder: String,
                          bankAccountInstitute: String,
                          bankAccountIBAN: String,
                          discount1: BigDecimal,
                          discount2: BigDecimal,
                          discount3: BigDecimal,
                          discount4: BigDecimal
                 }
        ],
        update: [
                 {
                          id: String,
                          name: String,
                          address: String,
                          city: String,
                          zipcode: String,
                          district: String,
                          country: String,
                          splitPayment: Boolean,
                          vatNumber: String,
                          fiscalCode: String,
                          eInvoiceCode: String,
                          pec: String,
                          phoneNumber: String,
                          email: String,
                          note: String,
                          idSalesMode: String,
                          bankAccountHolder: String,
                          bankAccountInstitute: String,
                          bankAccountIBAN: String,
                          discount1: BigDecimal,
                          discount2: BigDecimal,
                          discount3: BigDecimal,
                          discount4: BigDecimal
                 }
        ]
    }'

Bulk creation/update of Organization. Additional fields rules: at least one between vatNumber and fiscalCode is required.

HTTP Request

POST '<hostname>/organizations/batch'

Query Parameters

Parameter Type Description
create [
   {
      name: String,
      address: String,
      city: String,
      zipcode: String,
      district: String,
      country: String,
      splitPayment: Boolean,
      vatNumber: String,
      fiscalCode: String,
      eInvoiceCode: String,
      pec: String,
      phoneNumber: String,
      email: String,
      note: String,
      idSalesPoint: Long,
      idSalesMode: String,
      bankAccountHolder: String,
      bankAccountInstitute: String,
      bankAccountIBAN: String,
      discount1: BigDecimal,
      discount2: BigDecimal,
      discount3: BigDecimal,
      discount4: BigDecimal
   }
]
Required. Array containing organizations to be created
update [
   {
      id: String,
      name: String,
      address: String,
      city: String,
      zipcode: String,
      district: String,
      country: String,
      splitPayment: Boolean,
      vatNumber: String,
      fiscalCode: String,
      eInvoiceCode: String,
      pec: String,
      phoneNumber: String,
      email: String,
      note: String,
      idSalesMode: String,
      bankAccountHolder: String,
      bankAccountInstitute: String,
      bankAccountIBAN: String,
      discount1: BigDecimal,
      discount2: BigDecimal,
      discount3: BigDecimal,
      discount4: BigDecimal
   }
]
Required. Array containing organizations to be updated

Response

Parameter Type Description
batchResponse BatchResponse Id and ExternalId of the created and updated organizations.

Errors

Error Code Description
InvalidIdSalesPoint
ConflictValue
InvalidValue
InvalidId

Error responses may contain details data of following type BatchError.

DeleteOrganization

Since version: 1.0.0

curl -X DELETE '<hostname>/organizations/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'

Delete the Organization of the specified id.

HTTP Request

DELETE '<hostname>/organizations/:id'

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue

GetOrganization

Since version: 1.0.0

curl -X GET '<hostname>/organizations/:id?'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve the Organization of the specified id.

HTTP Request

GET '<hostname>/organizations/:id'

Response

Parameter Type Description
organization Organization Returned record.

Errors

Error Code Description
InvalidId

GetOrganizations

Since version: 1.0.0

curl -X GET '<hostname>/organizations?start=<Integer>&limit=<Integer>&sorts=<List[[Sort](#sort)]>&ids=<List[String]>&vatNumber=<String>&fiscalCode=<String>&name=<String>&email=<String>&lastUpdateFrom=<Timestamp>&lastUpdateTo=<Timestamp>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve all the organizations.

HTTP Request

GET '<hostname>/organizations'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
ids List[String] List containing ids of organizations to retrieve.
vatNumber String Text, case not sensitive, which returned records vat number is like to.
fiscalCode String Text, case not sensitive, which returned records fiscal code is like to.
name String Text, case not sensitive, which returned records name is like to.
email String Text, case not sensitive, which returned records email is like to.
lastUpdateFrom Timestamp lastUpdateFrom.
lastUpdateTo Timestamp lastUpdateTo.

Response

Parameter Type Description
organizations List[Organization] Collection of returned records.
totalCount Integer The total number of records matching filter parameters.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

Customer Management

NewCustomer

Since version: 1.0.0

curl -X POST '<hostname>/customers'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        idOrganization: String,
        name: String,
        dateOfBirth: Datetime,
        gender: CustomerGender,
        address: String,
        city: String,
        zipcode: String,
        district: String,
        country: String,
        vatNumber: String,
        fiscalCode: String,
        phoneNumber: String,
        email: String,
        note: String,
        externalId: String,
        idSalesPoint: Long,
        idSalesMode: String,
        bankAccountHolder: String,
        bankAccountInstitute: String,
        bankAccountIBAN: String,
        discount1: BigDecimal,
        discount2: BigDecimal,
        discount3: BigDecimal,
        discount4: BigDecimal
    }'

Create a new Customer.

HTTP Request

POST '<hostname>/customers'

Query Parameters

Parameter Type Description
idOrganization String Optional value. Id of the organization to which the customer belongs.
name String Required. Name.
dateOfBirth Datetime Date of birth.
gender CustomerGender Gender.
address String Address.
city String City.
zipcode String Zip code.
district String District.
country String Country code ISO 3166-1 alpha-2.
vatNumber String Vat number.
fiscalCode String Fiscal code.
phoneNumber String Phone number.
email String Email.
note String Note.
externalId String externalId.
idSalesPoint Long idSalesPoint.
idSalesMode String Id of related sales mode.
bankAccountHolder String Bank account holder.
bankAccountInstitute String Bank account institute.
bankAccountIBAN String Bank account IBAN.
discount1 BigDecimal First percentage discount applied on sales.
discount2 BigDecimal Second percentage discount applied on sales.
discount3 BigDecimal Third percentage discount applied on sales.
discount4 BigDecimal Fourth percentage discount applied on sales.

Response

Parameter Type Description
id String Id of the created customer.

Errors

Error Code Description
InvalidIdSalesPoint
InvalidIdOrganization
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

EditCustomer

Since version: 1.0.0

curl -X PUT '<hostname>/customers/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        idOrganization: String,
        name: String,
        dateOfBirth: Datetime,
        gender: CustomerGender,
        address: String,
        city: String,
        zipcode: String,
        district: String,
        country: String,
        vatNumber: String,
        fiscalCode: String,
        phoneNumber: String,
        email: String,
        note: String,
        externalId: String,
        idSalesMode: String,
        bankAccountHolder: String,
        bankAccountInstitute: String,
        bankAccountIBAN: String,
        discount1: BigDecimal,
        discount2: BigDecimal,
        discount3: BigDecimal,
        discount4: BigDecimal
    }'

Update the Customer of the specified id.

HTTP Request

PUT '<hostname>/customers/:id'

Query Parameters

Parameter Type Description
idOrganization String Id of the organization to which the customer belongs.
name String
dateOfBirth Datetime
gender CustomerGender
address String
city String
zipcode String
district String
country String
vatNumber String
fiscalCode String
phoneNumber String
email String
note String
externalId String
idSalesMode String Id of related sales mode.
bankAccountHolder String Bank account holder.
bankAccountInstitute String Bank account institute.
bankAccountIBAN String Bank account IBAN.
discount1 BigDecimal First percentage discount applied on sales.
discount2 BigDecimal Second percentage discount applied on sales.
discount3 BigDecimal Third percentage discount applied on sales.
discount4 BigDecimal Fourth percentage discount applied on sales.

Errors

Error Code Description
InvalidId
InvalidIdOrganization
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

BatchCustomer

Since version: 1.0.0

curl -X POST '<hostname>/customers/batch'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        create: [
                 {
                          idOrganization: String,
                          name: String,
                          dateOfBirth: Datetime,
                          gender: CustomerGender,
                          address: String,
                          city: String,
                          zipcode: String,
                          district: String,
                          country: String,
                          vatNumber: String,
                          fiscalCode: String,
                          phoneNumber: String,
                          email: String,
                          note: String,
                          externalId: String,
                          idSalesPoint: Long,
                          idSalesMode: String,
                          bankAccountHolder: String,
                          bankAccountInstitute: String,
                          bankAccountIBAN: String,
                          discount1: BigDecimal,
                          discount2: BigDecimal,
                          discount3: BigDecimal,
                          discount4: BigDecimal
                 }
        ],
        update: [
                 {
                          id: String,
                          idOrganization: String,
                          name: String,
                          dateOfBirth: Datetime,
                          gender: CustomerGender,
                          address: String,
                          city: String,
                          zipcode: String,
                          district: String,
                          country: String,
                          vatNumber: String,
                          fiscalCode: String,
                          phoneNumber: String,
                          email: String,
                          note: String,
                          externalId: String,
                          idSalesMode: String,
                          bankAccountHolder: String,
                          bankAccountInstitute: String,
                          bankAccountIBAN: String,
                          discount1: BigDecimal,
                          discount2: BigDecimal,
                          discount3: BigDecimal,
                          discount4: BigDecimal
                 }
        ]
    }'

Bulk creation/update of Customer.

HTTP Request

POST '<hostname>/customers/batch'

Query Parameters

Parameter Type Description
create [
   {
      idOrganization: String,
      name: String,
      dateOfBirth: Datetime,
      gender: CustomerGender,
      address: String,
      city: String,
      zipcode: String,
      district: String,
      country: String,
      vatNumber: String,
      fiscalCode: String,
      phoneNumber: String,
      email: String,
      note: String,
      externalId: String,
      idSalesPoint: Long,
      idSalesMode: String,
      bankAccountHolder: String,
      bankAccountInstitute: String,
      bankAccountIBAN: String,
      discount1: BigDecimal,
      discount2: BigDecimal,
      discount3: BigDecimal,
      discount4: BigDecimal
   }
]
Required. Array containing customers to be created
update [
   {
      id: String,
      idOrganization: String,
      name: String,
      dateOfBirth: Datetime,
      gender: CustomerGender,
      address: String,
      city: String,
      zipcode: String,
      district: String,
      country: String,
      vatNumber: String,
      fiscalCode: String,
      phoneNumber: String,
      email: String,
      note: String,
      externalId: String,
      idSalesMode: String,
      bankAccountHolder: String,
      bankAccountInstitute: String,
      bankAccountIBAN: String,
      discount1: BigDecimal,
      discount2: BigDecimal,
      discount3: BigDecimal,
      discount4: BigDecimal
   }
]
Required. Array containing customers to be updated

Response

Parameter Type Description
batchResponse BatchResponse Id and ExternalId of the created and updated customers.

Errors

Error Code Description
InvalidIdSalesPoint
InvalidIdOrganization
ConflictValue
InvalidValue
InvalidId

Error responses may contain details data of following type BatchError.

DeleteCustomer

Since version: 1.0.0

curl -X DELETE '<hostname>/customers/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'

Delete the Customer of the specified id.

HTTP Request

DELETE '<hostname>/customers/:id'

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue

GetCustomer

Since version: 1.0.0

curl -X GET '<hostname>/customers/:id?'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve the Customer of the specified id.

HTTP Request

GET '<hostname>/customers/:id'

Response

Parameter Type Description
customer Customer Returned record.

Errors

Error Code Description
InvalidId

GetCustomers

Since version: 1.0.0

curl -X GET '<hostname>/customers?start=<Integer>&limit=<Integer>&sorts=<List[[Sort](#sort)]>&ids=<List[String]>&vatNumber=<String>&fiscalCode=<String>&name=<String>&email=<String>&idsOrganization=<List[String]>&lastUpdateFrom=<Timestamp>&lastUpdateTo=<Timestamp>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve all the customers

HTTP Request

GET '<hostname>/customers'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
ids List[String] List containing ids of customers to retrieve.
vatNumber String Text, case not sensitive, which returned records vat number is like to.
fiscalCode String Text, case not sensitive, which returned records fiscal code is like to.
name String Text, case not sensitive, which returned records name is like to.
email String Text, case not sensitive, which returned records email is like to.
idsOrganization List[String] List containing ids of organization which customers belongs to.
lastUpdateFrom Timestamp lastUpdateFrom.
lastUpdateTo Timestamp lastUpdateTo.

Response

Parameter Type Description
customers List[Customer] Collection of returned records.
totalCount Integer The total number of records matching filter parameters.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

Product Management

NewProduct

Since version: 1.0.0

curl -X POST '<hostname>/products'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        description: String,
        descriptionLabel: String,
        descriptionExtended: String,
        idDepartment: String,
        idCategory: String,
        icon: String,
        soldByWeight: Boolean,
        defaultTare: Long,
        multivariant: Boolean,
        color: String,
        enableForRisto: Boolean,
        enableForSale: Boolean,
        enableForECommerce: Boolean,
        enableForMobileCommerce: Boolean,
        enableForSelfOrderMenu: Boolean,
        enableForKiosk: Boolean,
        tags: List[String],
        costs: [
                 {
                          idSupplier: String,
                          cost: BigDecimal,
                          variation1: BigDecimal,
                          variation2: BigDecimal,
                          variation3: BigDecimal,
                          variation4: BigDecimal,
                          idDepartment: String
                 }
        ],
        externalId: String,
        idSalesPoint: Long,
        descriptionReceipt: String,
        internalId: String,
        barcodes: [
                 {
                          value: String,
                          format: BarcodeFormat,
                          salable: Boolean
                 }
        ],
        prices: [
                 {
                          idSalesMode: String,
                          idSalesPoint: Long,
                          value: BigDecimal
                 }
        ],
        attributes: [
                 {
                          idOption: String,
                          position: Integer,
                          values: [
                                   {
                                            idValue: String
                                   }
                          ]
                 }
        ],
        modifiers: [
                 {
                          idOption: String,
                          position: Integer,
                          values: [
                                   {
                                            idValue: String,
                                            price: BigDecimal,
                                            percentagePrice: BigDecimal,
                                            isDefault: Boolean
                                   }
                          ]
                 }
        ],
        images: [
                 {
                          imageUrl: String
                 }
        ]
    }'

Create a new Product.

HTTP Request

POST '<hostname>/products'

Query Parameters

Parameter Type Description
description String Required.
descriptionLabel String Required. Label of product button on selling interface.
descriptionExtended String Required. Extended description shown on product detail.
idDepartment String Required. Id of the related department.
idCategory String Required. Id of the related category.
icon String Icon id. See icons for a list of available values.
soldByWeight Boolean Required. If set to true, the price is determined by the amount (weight) of product sold.
defaultTare Long If set, this value specify the product default tare weight.
multivariant Boolean Required. If set to true, the product allows variants. See ProductVariant for more details.
color String Product color, expressed as hexadecimal value, show on button background on selling interface.
enableForRisto Boolean Required. If set to true, this product is available for the restaurant interface.
enableForSale Boolean Required. If set to true, this product is available for sale on Cassa In Cloud app.
enableForECommerce Boolean Required. If set to true, this product is available for sale on e-commerce.
enableForMobileCommerce Boolean Required. If set to true, this product is available for sale on mobile e-commerce.
enableForSelfOrderMenu Boolean Required. If set to true, this product is available for sale on Cassa In Cloud self order app.
enableForKiosk Boolean Required. If set to true, this product is available for sale on Cassa In Cloud kiosk app.
tags List[String] Used to group and to help searching products.
costs [
   {
      idSupplier: String,
      cost: BigDecimal,
      variation1: BigDecimal,
      variation2: BigDecimal,
      variation3: BigDecimal,
      variation4: BigDecimal,
      idDepartment: String
   }
]
List of costs
externalId String externalId.
idSalesPoint Long idSalesPoint.
descriptionReceipt String Required only if ‘multivariant’ is set to false. Description shown on receipt. If ‘multivariant’ is set to true, the receipt description is taken from product variant. It’s recommended to not use special characters as some printers may not recognize them.
internalId String Required only if ‘multivariant’ is set to false. If ‘multivariant’ is set to true, the internal id is taken from product variant.
barcodes [
   {
      value: String,
      format: BarcodeFormat,
      salable: Boolean
   }
]
List of all product barcodes. For each element all the fields are required. If ‘salable’ is true the barcode is recognized and can be scanned on the selling interface.
prices [
   {
      idSalesMode: String,
      idSalesPoint: Long,
      value: BigDecimal
   }
]
Required. List of all product prices. For each price the field ‘value’ is required. The list must contain at least a price with no sales mode. See SalesMode for further details.
attributes [
   {
      idOption: String,
      position: Integer,
      values: [
         {
            idValue: String
         }
      ]
   }
]
Required only if ‘multivariant’ is set to true. List of all available product attributes. For each attribute all the fields are required. The attribute values must be a subset of the option values. See Attribute for further details.
modifiers [
   {
      idOption: String,
      position: Integer,
      values: [
         {
            idValue: String,
            price: BigDecimal,
            percentagePrice: BigDecimal,
            isDefault: Boolean
         }
      ]
   }
]
List of all available product modifiers. For each modifier all the fields are required. See Modifier for further details.
images [
   {
      imageUrl: String
   }
]
List of all product images. Every entry is an url.

Response

Parameter Type Description
id String Id of the product created.

Errors

Error Code Description
InvalidIdDepartment
InvalidIdCategory
InvalidCostIdDepartment
InvalidCostIdSupplier
InvalidPriceIdSalesMode
InvalidAttributeIdOption
InvalidAttributeIdValue
InvalidModifierIdOption
InvalidModifierIdValue
InvalidIdSalesPoint
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

EditProduct

Since version: 1.0.0

curl -X PUT '<hostname>/products/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        description: String,
        descriptionLabel: String,
        descriptionExtended: String,
        idDepartment: String,
        idCategory: String,
        icon: String,
        soldByWeight: Boolean,
        defaultTare: Long,
        multivariant: Boolean,
        color: String,
        enableForRisto: Boolean,
        enableForSale: Boolean,
        enableForECommerce: Boolean,
        enableForMobileCommerce: Boolean,
        enableForSelfOrderMenu: Boolean,
        enableForKiosk: Boolean,
        tags: List[String],
        costs: [
                 {
                          idSupplier: String,
                          cost: BigDecimal,
                          variation1: BigDecimal,
                          variation2: BigDecimal,
                          variation3: BigDecimal,
                          variation4: BigDecimal,
                          idDepartment: String
                 }
        ],
        externalId: String,
        descriptionReceipt: String,
        internalId: String,
        barcodes: [
                 {
                          value: String,
                          format: BarcodeFormat,
                          salable: Boolean
                 }
        ],
        prices: [
                 {
                          idSalesMode: String,
                          idSalesPoint: Long,
                          value: BigDecimal
                 }
        ],
        attributes: [
                 {
                          idOption: String,
                          position: Integer,
                          values: [
                                   {
                                            idValue: String
                                   }
                          ]
                 }
        ],
        modifiers: [
                 {
                          idOption: String,
                          position: Integer,
                          values: [
                                   {
                                            idValue: String,
                                            price: BigDecimal,
                                            percentagePrice: BigDecimal,
                                            isDefault: Boolean
                                   }
                          ]
                 }
        ],
        images: [
                 {
                          imageUrl: String
                 }
        ]
    }'

Update the Product of the specified id.

HTTP Request

PUT '<hostname>/products/:id'

Query Parameters

Parameter Type Description
description String Description.
descriptionLabel String Label of product button on selling interface.
descriptionExtended String Extended description shown on product detail.
idDepartment String Id of the related department.
idCategory String Id of the related category.
icon String Icon id. See icons for a list of available values.
soldByWeight Boolean If set to true, the price is determined by the amount (weight) of product sold.
defaultTare Long If set, this value specify the product default tare weight.
multivariant Boolean If set to true, the product allows variants. See ProductVariant for more details.
color String Product color, expressed as hexadecimal value, show on button background on selling interface.
enableForRisto Boolean If set to true, this product is available for the restaurant interface.
enableForSale Boolean If set to true, this product is available for sale on Cassa In Cloud app.
enableForECommerce Boolean If set to true, this product is available for sale on e-commerce.
enableForMobileCommerce Boolean If set to true, this product is available for sale on mobile e-commerce.
enableForSelfOrderMenu Boolean If set to true, this product is available for sale on Cassa In Cloud self order app.
enableForKiosk Boolean If set to true, this product is available for sale on Cassa In Cloud kiosk app.
tags List[String] Used to group and to help searching products.
costs [
   {
      idSupplier: String,
      cost: BigDecimal,
      variation1: BigDecimal,
      variation2: BigDecimal,
      variation3: BigDecimal,
      variation4: BigDecimal,
      idDepartment: String
   }
]
List of costs
externalId String externalId.
descriptionReceipt String Description shown on receipt. If ‘multivariant’ is set to true, the receipt description is taken from product variant. It’s recommended to not use special characters as some printers may not recognize them.
internalId String If ‘multivariant’ is set to true, the internal id is taken from product variant.
barcodes [
   {
      value: String,
      format: BarcodeFormat,
      salable: Boolean
   }
]
List of all product barcodes. For each element all the fields are required. If ‘salable’ is true the barcode is recognized and can be scanned on the selling interface.
prices [
   {
      idSalesMode: String,
      idSalesPoint: Long,
      value: BigDecimal
   }
]
List of all product prices. For each price the field ‘value’ is required. The list must contain at least a price with no sales mode. See SalesMode for further details.
attributes [
   {
      idOption: String,
      position: Integer,
      values: [
         {
            idValue: String
         }
      ]
   }
]
List of all available product attributes. For each attribute all the fields are required. The attribute values must be a subset of the option values. See Attribute for further details.
modifiers [
   {
      idOption: String,
      position: Integer,
      values: [
         {
            idValue: String,
            price: BigDecimal,
            percentagePrice: BigDecimal,
            isDefault: Boolean
         }
      ]
   }
]
List of all available product modifiers. For each modifier all the fields are required. See Modifier for further details.
images [
   {
      imageUrl: String
   }
]
List of all product images. Every entry is an url.

Errors

Error Code Description
InvalidId
InvalidIdDepartment
InvalidIdCategory
InvalidCostIdDepartment
InvalidCostIdSupplier
InvalidPriceIdSalesMode
InvalidAttributeIdOption
InvalidAttributeIdValue
InvalidModifierIdOption
InvalidModifierIdValue
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

BatchProduct

Since version: 1.0.0

curl -X POST '<hostname>/products/batch'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        create: [
                 {
                          description: String,
                          descriptionLabel: String,
                          descriptionExtended: String,
                          idDepartment: String,
                          idCategory: String,
                          icon: String,
                          soldByWeight: Boolean,
                          defaultTare: Long,
                          multivariant: Boolean,
                          color: String,
                          enableForRisto: Boolean,
                          enableForSale: Boolean,
                          enableForECommerce: Boolean,
                          enableForMobileCommerce: Boolean,
                          enableForSelfOrderMenu: Boolean,
                          enableForKiosk: Boolean,
                          costs: [
                                   {
                                            idSupplier: String,
                                            cost: BigDecimal,
                                            variation1: BigDecimal,
                                            variation2: BigDecimal,
                                            variation3: BigDecimal,
                                            variation4: BigDecimal,
                                            idDepartment: String
                                   }
                          ],
                          externalId: String,
                          idSalesPoint: Long,
                          descriptionReceipt: String,
                          internalId: String,
                          barcodes: [
                                   {
                                            value: String,
                                            format: BarcodeFormat,
                                            salable: Boolean
                                   }
                          ],
                          prices: [
                                   {
                                            idSalesMode: String,
                                            idSalesPoint: Long,
                                            value: BigDecimal
                                   }
                          ],
                          attributes: [
                                   {
                                            idOption: String,
                                            position: Integer,
                                            values: [
                                                     {
                                                              idValue: String
                                                     }
                                            ]
                                   }
                          ],
                          modifiers: [
                                   {
                                            idOption: String,
                                            position: Integer,
                                            values: [
                                                     {
                                                              idValue: String,
                                                              price: BigDecimal,
                                                              percentagePrice: BigDecimal,
                                                              isDefault: Boolean
                                                     }
                                            ]
                                   }
                          ],
                          images: [
                                   {
                                            imageUrl: String
                                   }
                          ]
                 }
        ],
        update: [
                 {
                          id: String,
                          description: String,
                          descriptionLabel: String,
                          descriptionExtended: String,
                          idDepartment: String,
                          idCategory: String,
                          icon: String,
                          soldByWeight: Boolean,
                          defaultTare: Long,
                          multivariant: Boolean,
                          color: String,
                          enableForRisto: Boolean,
                          enableForSale: Boolean,
                          enableForECommerce: Boolean,
                          enableForMobileCommerce: Boolean,
                          enableForSelfOrderMenu: Boolean,
                          enableForKiosk: Boolean,
                          costs: [
                                   {
                                            idSupplier: String,
                                            cost: BigDecimal,
                                            variation1: BigDecimal,
                                            variation2: BigDecimal,
                                            variation3: BigDecimal,
                                            variation4: BigDecimal,
                                            idDepartment: String
                                   }
                          ],
                          externalId: String,
                          descriptionReceipt: String,
                          internalId: String,
                          barcodes: [
                                   {
                                            value: String,
                                            format: BarcodeFormat,
                                            salable: Boolean
                                   }
                          ],
                          prices: [
                                   {
                                            idSalesMode: String,
                                            idSalesPoint: Long,
                                            value: BigDecimal
                                   }
                          ],
                          attributes: [
                                   {
                                            idOption: String,
                                            position: Integer,
                                            values: [
                                                     {
                                                              idValue: String
                                                     }
                                            ]
                                   }
                          ],
                          modifiers: [
                                   {
                                            idOption: String,
                                            position: Integer,
                                            values: [
                                                     {
                                                              idValue: String,
                                                              price: BigDecimal,
                                                              percentagePrice: BigDecimal,
                                                              isDefault: Boolean
                                                     }
                                            ]
                                   }
                          ],
                          images: [
                                   {
                                            imageUrl: String
                                   }
                          ]
                 }
        ]
    }'

Bulk creation/update of Product.

HTTP Request

POST '<hostname>/products/batch'

Query Parameters

Parameter Type Description
create [
   {
      description: String,
      descriptionLabel: String,
      descriptionExtended: String,
      idDepartment: String,
      idCategory: String,
      icon: String,
      soldByWeight: Boolean,
      defaultTare: Long,
      multivariant: Boolean,
      color: String,
      enableForRisto: Boolean,
      enableForSale: Boolean,
      enableForECommerce: Boolean,
      enableForMobileCommerce: Boolean,
      enableForSelfOrderMenu: Boolean,
      enableForKiosk: Boolean,
      costs: [
         {
            idSupplier: String,
            cost: BigDecimal,
            variation1: BigDecimal,
            variation2: BigDecimal,
            variation3: BigDecimal,
            variation4: BigDecimal,
            idDepartment: String
         }
      ],
      externalId: String,
      idSalesPoint: Long,
      descriptionReceipt: String,
      internalId: String,
      barcodes: [
         {
            value: String,
            format: BarcodeFormat,
            salable: Boolean
         }
      ],
      prices: [
         {
            idSalesMode: String,
            idSalesPoint: Long,
            value: BigDecimal
         }
      ],
      attributes: [
         {
            idOption: String,
            position: Integer,
            values: [
               {
                  idValue: String
               }
            ]
         }
      ],
      modifiers: [
         {
            idOption: String,
            position: Integer,
            values: [
               {
                  idValue: String,
                  price: BigDecimal,
                  percentagePrice: BigDecimal,
                  isDefault: Boolean
               }
            ]
         }
      ],
      images: [
         {
            imageUrl: String
         }
      ]
   }
]
Required. Array containing products to be created
update [
   {
      id: String,
      description: String,
      descriptionLabel: String,
      descriptionExtended: String,
      idDepartment: String,
      idCategory: String,
      icon: String,
      soldByWeight: Boolean,
      defaultTare: Long,
      multivariant: Boolean,
      color: String,
      enableForRisto: Boolean,
      enableForSale: Boolean,
      enableForECommerce: Boolean,
      enableForMobileCommerce: Boolean,
      enableForSelfOrderMenu: Boolean,
      enableForKiosk: Boolean,
      costs: [
         {
            idSupplier: String,
            cost: BigDecimal,
            variation1: BigDecimal,
            variation2: BigDecimal,
            variation3: BigDecimal,
            variation4: BigDecimal,
            idDepartment: String
         }
      ],
      externalId: String,
      descriptionReceipt: String,
      internalId: String,
      barcodes: [
         {
            value: String,
            format: BarcodeFormat,
            salable: Boolean
         }
      ],
      prices: [
         {
            idSalesMode: String,
            idSalesPoint: Long,
            value: BigDecimal
         }
      ],
      attributes: [
         {
            idOption: String,
            position: Integer,
            values: [
               {
                  idValue: String
               }
            ]
         }
      ],
      modifiers: [
         {
            idOption: String,
            position: Integer,
            values: [
               {
                  idValue: String,
                  price: BigDecimal,
                  percentagePrice: BigDecimal,
                  isDefault: Boolean
               }
            ]
         }
      ],
      images: [
         {
            imageUrl: String
         }
      ]
   }
]
Required. Array containing products to be updated

Response

Parameter Type Description
batchResponse BatchResponse Id and ExternalId of the created and updated products.

Errors

Error Code Description
InvalidIdDepartment
InvalidIdCategory
InvalidCostIdDepartment
InvalidCostIdSupplier
InvalidPriceIdSalesMode
InvalidAttributeIdOption
InvalidAttributeIdValue
InvalidModifierIdOption
InvalidModifierIdValue
InvalidIdSalesPoint
ConflictValue
InvalidValue
InvalidId

Error responses may contain details data of following type BatchError.

DeleteProduct

Since version: 1.0.0

curl -X DELETE '<hostname>/products/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'

Delete the Product of the specified id.

HTTP Request

DELETE '<hostname>/products/:id'

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue

GetProduct

Since version: 1.0.0

curl -X GET '<hostname>/products/:id?'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve the Product of the specified id.

HTTP Request

GET '<hostname>/products/:id'

Response

Parameter Type Description
product Product Returned record.

Errors

Error Code Description
InvalidId

GetProducts

Since version: 1.0.0

curl -X GET '<hostname>/products?start=<Integer>&limit=<Integer>&sorts=<List[[Sort](#sort)]>&ids=<List[String]>&idsSalesPoint=<List[Long]>&idsCategory=<List[String]>&idsDepartment=<List[String]>&description=<String>&barcodes=<List[String]>&multiVariant=<Boolean>&tags=<List[String]>&menu=<Boolean>&externalId=<List[String]>&lastUpdateFrom=<Timestamp>&lastUpdateTo=<Timestamp>&enabledForChannels=<List[[ProductChannel](#productchannel)]>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve all the products.

HTTP Request

GET '<hostname>/products'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
ids List[String] List containing ids of products to retrieve.
idsSalesPoint List[Long] idsSalesPoint.
idsCategory List[String] Used to retrieve all the products belonging to specified categories.
idsDepartment List[String] Used to retrieve all the products belonging to specified departments.
description String Text, case not sensitive, which returned records description is like to.
barcodes List[String] Used to retrieve all the products having specified barcodes.
multiVariant Boolean Used to filter product with or without variants.
tags List[String] Used to filter products by tag.
menu Boolean
externalId List[String] Used to retrieve all the products having specified externalId.
lastUpdateFrom Timestamp lastUpdateFrom.
lastUpdateTo Timestamp lastUpdateTo.
enabledForChannels List[ProductChannel] Used to filter products by enabled channels (OR filter)

Response

Parameter Type Description
products List[Product] Collection of returned records.
totalCount Integer The total number of records matching filter parameters.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

ProductVariant Management

NewProductVariant

Since version: 1.0.0

curl -X POST '<hostname>/products/:idproduct/variants'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        description: String,
        descriptionReceipt: String,
        descriptionOrderTicket: String,
        internalId: String,
        costs: [
                 {
                          idSupplier: String,
                          cost: BigDecimal,
                          variation1: BigDecimal,
                          variation2: BigDecimal,
                          variation3: BigDecimal,
                          variation4: BigDecimal,
                          idDepartment: String
                 }
        ],
        barcodes: [
                 {
                          value: String,
                          format: BarcodeFormat,
                          salable: Boolean
                 }
        ],
        attributes: [
                 {
                          idOption: String,
                          idOptionValue: String
                 }
        ],
        prices: [
                 {
                          idSalesMode: String,
                          idSalesPoint: Long,
                          value: BigDecimal
                 }
        ]
    }'

Create a new ProductVariant.

HTTP Request

POST '<hostname>/products/:idproduct/variants'

Query Parameters

Parameter Type Description
description String Description of the product variant. Default is the description of the product.
descriptionReceipt String Required. Description shown on receipt. It’s recommended to not use special characters as some printers may not recognize them.
descriptionOrderTicket String Additional description for product variant
internalId String Internal id.
costs [
   {
      idSupplier: String,
      cost: BigDecimal,
      variation1: BigDecimal,
      variation2: BigDecimal,
      variation3: BigDecimal,
      variation4: BigDecimal,
      idDepartment: String
   }
]
List of costs
barcodes [
   {
      value: String,
      format: BarcodeFormat,
      salable: Boolean
   }
]
List of product barcodes. For each barcode all fields are required. If ‘salable’ is set to true the barcode can be scanned and recognized on selling interface.
attributes [
   {
      idOption: String,
      idOptionValue: String
   }
]
List of attribute values defining the variant. Option and values must be among the product available attributes and values. For each different attribute at most one value can be selected.
prices [
   {
      idSalesMode: String,
      idSalesPoint: Long,
      value: BigDecimal
   }
]
List of all product variant prices depending on sales mode.

Response

Parameter Type Description
id String Id of the product variant created.

Errors

Error Code Description
ConflictValue
InvalidValue
InvalidIdProduct
InvalidCostIdDepartment
InvalidCostIdSupplier
InvalidPriceIdSalesMode
InvalidAttribute

Error responses may contain details data of following type SyncError.

EditProductVariant

Since version: 1.0.0

curl -X PUT '<hostname>/products/:idproduct/variants/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        description: String,
        descriptionReceipt: String,
        descriptionOrderTicket: String,
        internalId: String,
        costs: [
                 {
                          idSupplier: String,
                          cost: BigDecimal,
                          variation1: BigDecimal,
                          variation2: BigDecimal,
                          variation3: BigDecimal,
                          variation4: BigDecimal,
                          idDepartment: String
                 }
        ],
        barcodes: [
                 {
                          value: String,
                          format: BarcodeFormat,
                          salable: Boolean
                 }
        ],
        attributes: [
                 {
                          idOption: String,
                          idOptionValue: String
                 }
        ],
        prices: [
                 {
                          idSalesMode: String,
                          idSalesPoint: Long,
                          value: BigDecimal
                 }
        ]
    }'

Update the ProductVariant of the specified id.

HTTP Request

PUT '<hostname>/products/:idproduct/variants/:id'

Query Parameters

Parameter Type Description
description String Description of the product variant. Default is the description of the product.
descriptionReceipt String Description shown on receipt. It’s recommended to not use special characters as some printers may not recognize them.
descriptionOrderTicket String Additional description for product variant
internalId String Internal id.
costs [
   {
      idSupplier: String,
      cost: BigDecimal,
      variation1: BigDecimal,
      variation2: BigDecimal,
      variation3: BigDecimal,
      variation4: BigDecimal,
      idDepartment: String
   }
]
List of costs
barcodes [
   {
      value: String,
      format: BarcodeFormat,
      salable: Boolean
   }
]
List of product barcodes. For each barcode all fields are required. If ‘salable’ is set to true the barcode can be scanned and recognized on selling interface.
attributes [
   {
      idOption: String,
      idOptionValue: String
   }
]
List of attribute values defining the variant. Option and values must be among the product available attributes and values. For each different attribute at most one value can be selected.
prices [
   {
      idSalesMode: String,
      idSalesPoint: Long,
      value: BigDecimal
   }
]
List of all product variant prices depending on sales mode.

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue
InvalidCostIdDepartment
InvalidCostIdSupplier
InvalidPriceIdSalesMode
InvalidAttribute

Error responses may contain details data of following type SyncError.

BatchProductVariant

Since version: 1.0.0

curl -X POST '<hostname>/products/:idproduct/variants/batch'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        create: [
                 {
                          description: String,
                          descriptionReceipt: String,
                          descriptionOrderTicket: String,
                          internalId: String,
                          costs: [
                                   {
                                            idSupplier: String,
                                            cost: BigDecimal,
                                            variation1: BigDecimal,
                                            variation2: BigDecimal,
                                            variation3: BigDecimal,
                                            variation4: BigDecimal,
                                            idDepartment: String
                                   }
                          ],
                          barcodes: [
                                   {
                                            value: String,
                                            format: BarcodeFormat,
                                            salable: Boolean
                                   }
                          ],
                          attributes: [
                                   {
                                            idOption: String,
                                            idOptionValue: String
                                   }
                          ],
                          prices: [
                                   {
                                            idSalesMode: String,
                                            idSalesPoint: Long,
                                            value: BigDecimal
                                   }
                          ]
                 }
        ],
        update: [
                 {
                          id: String,
                          description: String,
                          descriptionReceipt: String,
                          descriptionOrderTicket: String,
                          internalId: String,
                          costs: [
                                   {
                                            idSupplier: String,
                                            cost: BigDecimal,
                                            variation1: BigDecimal,
                                            variation2: BigDecimal,
                                            variation3: BigDecimal,
                                            variation4: BigDecimal,
                                            idDepartment: String
                                   }
                          ],
                          barcodes: [
                                   {
                                            value: String,
                                            format: BarcodeFormat,
                                            salable: Boolean
                                   }
                          ],
                          attributes: [
                                   {
                                            idOption: String,
                                            idOptionValue: String
                                   }
                          ],
                          prices: [
                                   {
                                            idSalesMode: String,
                                            idSalesPoint: Long,
                                            value: BigDecimal
                                   }
                          ]
                 }
        ]
    }'

Bulk creation/update of ProductVariant.

HTTP Request

POST '<hostname>/products/:idproduct/variants/batch'

Query Parameters

Parameter Type Description
create [
   {
      description: String,
      descriptionReceipt: String,
      descriptionOrderTicket: String,
      internalId: String,
      costs: [
         {
            idSupplier: String,
            cost: BigDecimal,
            variation1: BigDecimal,
            variation2: BigDecimal,
            variation3: BigDecimal,
            variation4: BigDecimal,
            idDepartment: String
         }
      ],
      barcodes: [
         {
            value: String,
            format: BarcodeFormat,
            salable: Boolean
         }
      ],
      attributes: [
         {
            idOption: String,
            idOptionValue: String
         }
      ],
      prices: [
         {
            idSalesMode: String,
            idSalesPoint: Long,
            value: BigDecimal
         }
      ]
   }
]
Required. Array containing variants to be created
update [
   {
      id: String,
      description: String,
      descriptionReceipt: String,
      descriptionOrderTicket: String,
      internalId: String,
      costs: [
         {
            idSupplier: String,
            cost: BigDecimal,
            variation1: BigDecimal,
            variation2: BigDecimal,
            variation3: BigDecimal,
            variation4: BigDecimal,
            idDepartment: String
         }
      ],
      barcodes: [
         {
            value: String,
            format: BarcodeFormat,
            salable: Boolean
         }
      ],
      attributes: [
         {
            idOption: String,
            idOptionValue: String
         }
      ],
      prices: [
         {
            idSalesMode: String,
            idSalesPoint: Long,
            value: BigDecimal
         }
      ]
   }
]
Required. Array containing variants to be updated

Response

Parameter Type Description
batchResponse BatchResponse Id and ExternalId of the created and updated product variants.

Errors

Error Code Description
ConflictValue
InvalidValue
InvalidIdProduct
InvalidCostIdDepartment
InvalidCostIdSupplier
InvalidPriceIdSalesMode
InvalidAttribute
InvalidId
InvalidIdSalesPoint

Error responses may contain details data of following type BatchError.

DeleteProductVariant

Since version: 1.0.0

curl -X DELETE '<hostname>/products/:idproduct/variants/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'

Delete the ProductVariant of the specified id.

HTTP Request

DELETE '<hostname>/products/:idproduct/variants/:id'

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue

GetProductVariant

Since version: 1.0.0

curl -X GET '<hostname>/products/:idproduct/variants/:id?'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve the ProductVariant of the specified id.

HTTP Request

GET '<hostname>/products/:idproduct/variants/:id'

Response

Parameter Type Description
variant ProductVariant Returned record.

Errors

Error Code Description
InvalidId

GetProductVariants

Since version: 1.0.0

curl -X GET '<hostname>/products/:idproduct/variants?start=<Integer>&limit=<Integer>&sorts=<List[[Sort](#sort)]>&ids=<List[String]>&externalId=<List[String]>&lastUpdateFrom=<Timestamp>&lastUpdateTo=<Timestamp>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve all the product variants.

HTTP Request

GET '<hostname>/products/:idproduct/variants'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. start.
sorts List[Sort] sort.
ids List[String] List containing ids of product variants to retrieve.
externalId List[String] Used to retrieve all the product variants having specified externalId.
lastUpdateFrom Timestamp lastUpdateFrom.
lastUpdateTo Timestamp lastUpdateTo.

Response

Parameter Type Description
variants List[ProductVariant] Collection of returned records.
totalCount Integer The total number of records matching filter parameters.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

SalesMode Management

NewSalesMode

Since version: 1.0.0

curl -X POST '<hostname>/salesmodes'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        description: String,
        idSalesPoint: Long
    }'

Create a new Salesmode.

HTTP Request

POST '<hostname>/salesmodes'

Query Parameters

Parameter Type Description
description String Required. Description.
idSalesPoint Long idSalesPoint.

Response

Parameter Type Description
id String Id of the created sales mode.

Errors

Error Code Description
InvalidIdSalesPoint
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

EditSalesMode

Since version: 1.0.0

curl -X PUT '<hostname>/salesmodes/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        description: String
    }'

Update the Salesmode of the specified id.

HTTP Request

PUT '<hostname>/salesmodes/:id'

Query Parameters

Parameter Type Description
description String Description.

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

BatchSalesMode

Since version: 1.0.0

curl -X POST '<hostname>/salesmodes/batch'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        create: [
                 {
                          description: String,
                          idSalesPoint: Long
                 }
        ],
        update: [
                 {
                          id: String,
                          description: String
                 }
        ]
    }'

Bulk creation/update of SalesMode.

HTTP Request

POST '<hostname>/salesmodes/batch'

Query Parameters

Parameter Type Description
create [
   {
      description: String,
      idSalesPoint: Long
   }
]
Required. Array containing sales mode to be created
update [
   {
      id: String,
      description: String
   }
]
Required. Array containing sales mode to be updated

Response

Parameter Type Description
batchResponse BatchResponse Id and ExternalId of the created and updated sales mode.

Errors

Error Code Description
InvalidIdSalesPoint
InvalidId
ConflictValue
InvalidValue

Error responses may contain details data of following type BatchError.

DeleteSalesMode

Since version: 1.0.0

curl -X DELETE '<hostname>/salesmodes/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'

Delete the Salesmode of the specified id.

HTTP Request

DELETE '<hostname>/salesmodes/:id'

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue

GetSalesMode

Since version: 1.0.0

curl -X GET '<hostname>/salesmodes/:id?'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve the Salesmode of the specified id.

HTTP Request

GET '<hostname>/salesmodes/:id'

Response

Parameter Type Description
salesMode SalesMode Returned record.

Errors

Error Code Description
InvalidId

GetSalesModes

Since version: 1.0.0

curl -X GET '<hostname>/salesmodes?start=<Integer>&limit=<Integer>&sorts=<List[[Sort](#sort)]>&ids=<List[String]>&idsSalesPoint=<List[Long]>&description=<String>&lastUpdateFrom=<Timestamp>&lastUpdateTo=<Timestamp>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve all the Salesmode.

HTTP Request

GET '<hostname>/salesmodes'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
ids List[String] List containing ids of sales modes to retrieve.
idsSalesPoint List[Long] idsSalesPoint.
description String Text, case not sensitive, which returned records description is like to.
lastUpdateFrom Timestamp lastUpdateFrom.
lastUpdateTo Timestamp lastUpdateTo.

Response

Parameter Type Description
salesModes List[SalesMode] Collection of returned records.
totalCount Integer The total number of records matching filter parameters.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

Supplier Management

NewSupplier

Since version: 1.0.0

curl -X POST '<hostname>/suppliers'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        name: String,
        vatNumber: String,
        taxCode: String,
        street: String,
        city: String,
        zipcode: String,
        district: String,
        country: String,
        phoneNumber: String,
        email: String,
        note: String,
        externalId: String,
        idSalesPoint: Long
    }'

Create a new Supplier.

HTTP Request

POST '<hostname>/suppliers'

Query Parameters

Parameter Type Description
name String Required.
vatNumber String Required.
taxCode String
street String
city String
zipcode String
district String
country String
phoneNumber String
email String
note String
externalId String externalId.
idSalesPoint Long idSalesPoint.

Response

Parameter Type Description
id String Id of the created supplier.

Errors

Error Code Description
InvalidIdSalesPoint
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

EditSupplier

Since version: 1.0.0

curl -X PUT '<hostname>/suppliers/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        name: String,
        vatNumber: String,
        taxCode: String,
        street: String,
        city: String,
        zipcode: String,
        district: String,
        country: String,
        phoneNumber: String,
        email: String,
        note: String,
        externalId: String
    }'

Update the Supplier of the specified id.

HTTP Request

PUT '<hostname>/suppliers/:id'

Query Parameters

Parameter Type Description
name String
vatNumber String
taxCode String
street String
city String
zipcode String
district String
country String
phoneNumber String
email String
note String
externalId String externalId.

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

BatchSupplier

Since version: 1.0.0

curl -X POST '<hostname>/suppliers/batch'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        create: [
                 {
                          name: String,
                          vatNumber: String,
                          taxCode: String,
                          street: String,
                          city: String,
                          zipcode: String,
                          district: String,
                          country: String,
                          phoneNumber: String,
                          email: String,
                          note: String,
                          externalId: String,
                          idSalesPoint: Long
                 }
        ],
        update: [
                 {
                          id: String,
                          name: String,
                          vatNumber: String,
                          taxCode: String,
                          street: String,
                          city: String,
                          zipcode: String,
                          district: String,
                          country: String,
                          phoneNumber: String,
                          email: String,
                          note: String,
                          externalId: String
                 }
        ]
    }'

Bulk creation/update of Supplier.

HTTP Request

POST '<hostname>/suppliers/batch'

Query Parameters

Parameter Type Description
create [
   {
      name: String,
      vatNumber: String,
      taxCode: String,
      street: String,
      city: String,
      zipcode: String,
      district: String,
      country: String,
      phoneNumber: String,
      email: String,
      note: String,
      externalId: String,
      idSalesPoint: Long
   }
]
Required. Array containing suppliers to be created
update [
   {
      id: String,
      name: String,
      vatNumber: String,
      taxCode: String,
      street: String,
      city: String,
      zipcode: String,
      district: String,
      country: String,
      phoneNumber: String,
      email: String,
      note: String,
      externalId: String
   }
]
Required. Array containing suppliers to be updated

Response

Parameter Type Description
batchResponse BatchResponse Id and ExternalId of the created and updated suppliers.

Errors

Error Code Description
InvalidIdSalesPoint
ConflictValue
InvalidValue
InvalidId

Error responses may contain details data of following type BatchError.

DeleteSupplier

Since version: 1.0.0

curl -X DELETE '<hostname>/suppliers/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'

Delete the Supplier of the specified id.

HTTP Request

DELETE '<hostname>/suppliers/:id'

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue

GetSuppliers

Since version: 1.0.0

curl -X GET '<hostname>/suppliers?start=<Integer>&limit=<Integer>&sorts=<List[[Sort](#sort)]>&ids=<List[String]>&idsSalesPoint=<List[Long]>&name=<String>&lastUpdateFrom=<Timestamp>&lastUpdateTo=<Timestamp>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve all suppliers.

HTTP Request

GET '<hostname>/suppliers'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
ids List[String] List containing ids of suppliers to retrieve.
idsSalesPoint List[Long] idsSalesPoint.
name String Text, case not sensitive, which returned records name is like to.
lastUpdateFrom Timestamp lastUpdateFrom.
lastUpdateTo Timestamp lastUpdateTo.

Response

Parameter Type Description
suppliers List[Supplier] Collection of returned records.
totalCount Integer The total number of records matching filter parameters.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

GetSupplier

Since version: 1.0.0

curl -X GET '<hostname>/suppliers/:id?'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve the Supplier of the specified id.

HTTP Request

GET '<hostname>/suppliers/:id'

Response

Parameter Type Description
supplier Supplier Returned record.

Errors

Error Code Description
InvalidId

SalesPoint Management

GetSalesPoint

Since version: 1.0.0

curl -X GET '<hostname>/salespoint?'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve all sales points.

HTTP Request

GET '<hostname>/salespoint'

Response

Parameter Type Description
salesPoint List[SalesPoint] Collection of returned records.
totalCount Integer The total number of records matching filter parameters.

Stock Management

GetStock

Since version: 1.0.0

curl -X GET '<hostname>/stocks/:idSalesPoint?start=<Integer>&limit=<Integer>&sorts=<List[[Sort](#sort)]>&idProduct=<List[String]>&idProductVariant=<List[String]>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve the Stock of a product or a product variant for the specified sales point

HTTP Request

GET '<hostname>/stocks/:idSalesPoint'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
idProduct List[String] List containing ids of products of which retrieve stock entity.
idProductVariant List[String] List containing ids of products variants of which retrieve stock entity.

Response

Parameter Type Description
stocks List[Stock]
totalCount Integer

Errors

Error Code Description
InvalidId
InvalidIdSalesPoint
InvalidParams

Error responses may contain details data of following type SortError.

EditStock

Since version: 1.0.0

curl -X PUT '<hostname>/stocks/:idSalesPoint'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        idProduct: String,
        idProductVariant: String,
        manageStock: Boolean,
        warningLevel: BigDecimal
    }'

Update the Stock configuration of a product or product variant for the specified sales point.

HTTP Request

PUT '<hostname>/stocks/:idSalesPoint'

Query Parameters

Parameter Type Description
idProduct String Required if product is not multivariant.
idProductVariant String Required if product is multivariant.
manageStock Boolean If set to false it’s not possible to create movements for product and it’s stock quantity will not be traced.
warningLevel BigDecimal Defines the quantity under which the product should be replenished.

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue
InvalidIdSalesPoint

Error responses may contain details data of following type SyncError.

BatchStock

Since version: 1.0.0

curl -X POST '<hostname>/stocks/:idSalesPoint/batch'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        update: [
                 {
                          idProduct: String,
                          idProductVariant: String,
                          manageStock: Boolean,
                          warningLevel: BigDecimal
                 }
        ]
    }'

Bulk update of Stock.

HTTP Request

POST '<hostname>/stocks/:idSalesPoint/batch'

Query Parameters

Parameter Type Description
update [
   {
      idProduct: String,
      idProductVariant: String,
      manageStock: Boolean,
      warningLevel: BigDecimal
   }
]
Required. Array containing stocks to be updated

Response

Parameter Type Description
batchResponse BatchResponse Id and ExternalId of the updated stocks.

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue
InvalidIdSalesPoint

Error responses may contain details data of following type BatchError.

StockMovement Management

GetStockMovements

Since version: 1.0.0

curl -X GET '<hostname>/stocks/:idSalesPoint/movements?start=<Integer>&limit=<Integer>&sorts=<List[[Sort](#sort)]>&idProduct=<List[String]>&idProductVariant=<List[String]>&datetimeFrom=<Timestamp>&datetimeTo=<Timestamp>&reason=<List[[MovementType](#movementtype)]>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve the stock movements of a product or a product variant for the specified sales point. At least one field among idProduct, idProductVariant and datetimeFrom must be specified

HTTP Request

GET '<hostname>/stocks/:idSalesPoint/movements'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
idProduct List[String] List containing ids of products of which retrieve stock movements.
idProductVariant List[String] List containing ids of product variants of which retrieve stock movements.
datetimeFrom Timestamp Only stock movement at or after this time will be considered. The time span must be smaller than a week.
datetimeTo Timestamp Only stock movement at or before this time will be considered. The time span must be smaller than a week.
reason List[MovementType] List containing the movement reason to filter.

Response

Parameter Type Description
stockMovements List[StockMovement] Collection of returned records.
totalCount Integer The total number of records matching filter parameters.

Errors

Error Code Description
InvalidId
InvalidIdSalesPoint
InvalidValue
InvalidParams

Error responses may contain details data of following type SortError.

NewStockMovement

Since version: 1.0.0

curl -X POST '<hostname>/stocks/:idSalesPoint/movements'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        idProduct: String,
        idProductVariant: String,
        quantity: BigDecimal,
        note: String,
        reason: MovementType,
        date: Timestamp
    }'

Create a new stock movement for the specified sales point.

HTTP Request

POST '<hostname>/stocks/:idSalesPoint/movements'

Query Parameters

Parameter Type Description
idProduct String Required if product is not multivariant.
idProductVariant String Required if product is multivariant.
quantity BigDecimal Amount moved. The quantity cannot decrease more of the current stock level.
note String
reason MovementType
date Timestamp Date of the movement. When the movement was made.

Response

Parameter Type Description
id String Id of the created stock movement.

Errors

Error Code Description
InvalidIdSalesPoint
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

BatchStockMovement

Since version: 1.0.0

curl -X POST '<hostname>/stocks/:idSalesPoint/movements/batch'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        create: [
                 {
                          idProduct: String,
                          idProductVariant: String,
                          quantity: BigDecimal,
                          note: String,
                          reason: MovementType,
                          date: Timestamp
                 }
        ]
    }'

Bulk update of StockMovement.

HTTP Request

POST '<hostname>/stocks/:idSalesPoint/movements/batch'

Query Parameters

Parameter Type Description
create [
   {
      idProduct: String,
      idProductVariant: String,
      quantity: BigDecimal,
      note: String,
      reason: MovementType,
      date: Timestamp
   }
]
Required. Array containing stock movements to be updated

Response

Parameter Type Description
batchResponse BatchResponse Id and ExternalId of the created stock movements.

Errors

Error Code Description
InvalidIdSalesPoint
InvalidValue
ConflictValue

Error responses may contain details data of following type BatchError.

Reconciliation Management

GetReconciliation

Since version: 1.0.0

curl -X GET '<hostname>/reconciliations/:id?'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve the Reconciliation of the specified id.

HTTP Request

GET '<hostname>/reconciliations/:id'

Response

Parameter Type Description
reconciliation Reconciliation Returned record.

Errors

Error Code Description
InvalidId

GetReconciliations

Since version: 1.0.0

curl -X GET '<hostname>/reconciliations?start=<Integer>&limit=<Integer>&sorts=<List[[Sort](#sort)]>&datetimeFrom=<Timestamp>&datetimeTo=<Timestamp>&idsSalesPoint=<List[Long]>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve reconciliation

HTTP Request

GET '<hostname>/reconciliations'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
datetimeFrom Timestamp Required. Only sales done at or after this time will be considered. The time span must be smaller than a year.
datetimeTo Timestamp Only sales done at or before this time will be considered. The time span must be smaller than a year.
idsSalesPoint List[Long] idsSalesPoint.

Response

Parameter Type Description
totalCount Integer Total number of reconciliation.
reconciliations List[Reconciliation] Returned records.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

SoldByTax Management

GetSoldByTax

Since version: 1.0.0

curl -X GET '<hostname>/reports/sold/taxes?start=<Integer>&limit=<Integer>&idsSalesPoint=<List[Long]>&datetimeFrom=<Timestamp>&datetimeTo=<Timestamp>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve sold by tax report

HTTP Request

GET '<hostname>/reports/sold/taxes'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
idsSalesPoint List[Long] idsSalesPoint.
datetimeFrom Timestamp Required. Only sales done at or after this time will be considered. The time span must be smaller than a year.
datetimeTo Timestamp Only sales done at or before this time will be considered. The time span must be smaller than a year.

Response

Parameter Type Description
currency Currency Currency.
totalCount Integer Total number of different taxes applied in the selected time span.
totalSold BigDecimal Total income in the selected time span.
totalRefund BigDecimal Total refund in the selected time span.
totalQuantity BigDecimal Total amount of items sold in the selected time span.
sold List[SoldByTax] Returned records.

Errors

Error Code Description
InvalidParams

SoldByCategory Management

GetSoldByCategory

Since version: 1.0.0

curl -X GET '<hostname>/reports/sold/categories?start=<Integer>&limit=<Integer>&idsSalesPoint=<List[Long]>&datetimeFrom=<Timestamp>&datetimeTo=<Timestamp>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve sold by category report

HTTP Request

GET '<hostname>/reports/sold/categories'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
idsSalesPoint List[Long] idsSalesPoint.
datetimeFrom Timestamp Required. Only sales done at or after this time will be considered. The time span must be smaller than a year.
datetimeTo Timestamp Only sales done at or before this time will be considered. The time span must be smaller than a year.

Response

Parameter Type Description
currency Currency Currency.
totalCount Integer Total number of different categories sold in the selected time span.
totalSold BigDecimal Total income from category sales in the selected time span.
totalRefund BigDecimal Total refund of category sales in the selected time span.
totalQuantity BigDecimal Total amount of items sold in the selected time span.
totalDepartmentSold BigDecimal Total income from departments sales (with no product) in the selected time span.
totalDepartmentRefund BigDecimal Total refund of departments sales (with no product) in the selected time span.
totalDepartmentQuantity BigDecimal Total amount of departments sales (with no product) in the selected time span.
sold List[SoldByCategory] Returned records.

Errors

Error Code Description
InvalidParams

SoldByDepartment Management

GetSoldByDepartment

Since version: 1.0.0

curl -X GET '<hostname>/reports/sold/departments?start=<Integer>&limit=<Integer>&idsSalesPoint=<List[Long]>&datetimeFrom=<Timestamp>&datetimeTo=<Timestamp>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve sold by department report

HTTP Request

GET '<hostname>/reports/sold/departments'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
idsSalesPoint List[Long] idsSalesPoint.
datetimeFrom Timestamp Required. Only sales done at or after this time will be considered. The time span must be smaller than a year.
datetimeTo Timestamp Only sales done at or before this time will be considered. The time span must be smaller than a year.

Response

Parameter Type Description
currency Currency Currency.
totalCount Integer Total number of different departments applied in the selected time span.
totalSold BigDecimal Total income in the selected time span.
totalRefund BigDecimal Total refund in the selected time span.
totalQuantity BigDecimal Total amount of items sold in the selected time span.
sold List[SoldByDepartment] Returned records.

Errors

Error Code Description
InvalidParams

SoldByProduct Management

GetSoldByProduct

Since version: 1.0.0

curl -X GET '<hostname>/reports/sold/products?start=<Integer>&limit=<Integer>&idsSalesPoint=<List[Long]>&datetimeFrom=<Timestamp>&datetimeTo=<Timestamp>&idProducts=<List[String]>&idDepartments=<List[String]>&idCategories=<List[String]>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve sold by product report

HTTP Request

GET '<hostname>/reports/sold/products'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
idsSalesPoint List[Long] idsSalesPoint.
datetimeFrom Timestamp Required. Only sales done at or after this time will be considered. The time span must be smaller than a year.
datetimeTo Timestamp Only sales done at or before this time will be considered. The time span must be smaller than a year.
idProducts List[String] List containing product it to consider.
idDepartments List[String] List of departments ids to which considered products must be related.
idCategories List[String] List of categories ids which considered products belong to.

Response

Parameter Type Description
currency Currency Currency.
totalCount Integer Total number of different products sold in the selected time span.
totalSold BigDecimal Total income from products sales in the selected time span.
totalRefund BigDecimal Total refund of products sales in the selected time span.
totalQuantity BigDecimal Total amount of items sold in the selected time span.
totalDepartmentSold BigDecimal Total income from departments sales (with no product) in the selected time span.
totalDepartmentRefund BigDecimal Total refund of departments sales (with no product) in the selected time span.
totalDepartmentQuantity BigDecimal Total amount of departments sales (with no product) in the selected time span.
sold List[SoldByProduct] Returned records.

Errors

Error Code Description
InvalidParams

SoldByPaymentType Management

GetSoldByPaymentType

Since version: 1.0.0

curl -X GET '<hostname>/reports/sold/paymenttypes?start=<Integer>&limit=<Integer>&idsSalesPoint=<List[Long]>&datetimeFrom=<Timestamp>&datetimeTo=<Timestamp>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve sold by payment type report

HTTP Request

GET '<hostname>/reports/sold/paymenttypes'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
idsSalesPoint List[Long] idsSalesPoint.
datetimeFrom Timestamp Required. Only sales done at or after this time will be considered. The time span must be smaller than a year.
datetimeTo Timestamp Only sales done at or before this time will be considered. The time span must be smaller than a year.

Response

Parameter Type Description
currency Currency Currency.
totalCount Integer Total number of different payment type used in the selected time span.
totalSold BigDecimal Total income in the selected time span.
sold List[SoldByPaymentType] Returned records.

Errors

Error Code Description
InvalidParams

Documents Management

GetReceipts

Since version: 1.0.0

curl -X GET '<hostname>/documents/receipts?start=<Integer>&limit=<Integer>&ids=<List[String]>&idsSalesPoint=<List[Long]>&datetimeFrom=<Timestamp>&datetimeTo=<Timestamp>&numbers=<List[Long]>&idOrganizations=<List[String]>&idCustomers=<List[String]>&sorts=<List[[Sort](#sort)]>&calculatedAmount=<Boolean>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve receipts

HTTP Request

GET '<hostname>/documents/receipts'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
ids List[String] Receipts ids.
idsSalesPoint List[Long] idsSalesPoint.
datetimeFrom Timestamp Required. Only sales done at or after this time will be considered. The time span must be smaller than 3 days.
datetimeTo Timestamp Only sales done at or before this time will be considered. The time span must be smaller than 3 days.
numbers List[Long] Used to retrieve all the receipts with specified numbers.
idOrganizations List[String] Used to retrieve all the receipts belonging to specified organizations.
idCustomers List[String] Used to retrieve all the receipts belonging to specified customers.
sorts List[Sort] List of sort policy.
calculatedAmount Boolean If set to true, each row as a calculated amount that includes discounts, variations and subtotals.

Response

Parameter Type Description
totalCount Integer Total number of receipts.
receipts List[Receipt] Returned records.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

GetInvoices

Since version: 1.0.0

curl -X GET '<hostname>/documents/invoices?start=<Integer>&limit=<Integer>&ids=<List[String]>&idsSalesPoint=<List[Long]>&datetimeFrom=<Timestamp>&datetimeTo=<Timestamp>&lastUpdateFrom=<Timestamp>&lastUpdateTo=<Timestamp>&status=<DocumentStatus>&numbers=<List[Long]>&idOrganizations=<List[String]>&idCustomers=<List[String]>&sorts=<List[[Sort](#sort)]>&calculatedAmount=<Boolean>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve invoices

HTTP Request

GET '<hostname>/documents/invoices'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
ids List[String] Invoices ids.
idsSalesPoint List[Long] idsSalesPoint.
datetimeFrom Timestamp Only sales done at or after this time will be considered. The time span must be smaller than 3 days.
datetimeTo Timestamp Only sales done at or before this time will be considered. The time span must be smaller than 3 days.
lastUpdateFrom Timestamp Only sales updated at or after this time will be considered. The time span must be smaller than 3 days.
lastUpdateTo Timestamp Only sales updated at or before this time will be considered. The time span must be smaller than 3 days.
status DocumentStatus Used to filter credit notes by their status.
numbers List[Long] Used to retrieve all the invoices with specified numbers.
idOrganizations List[String] Used to retrieve all the invoices belonging to specified organizations.
idCustomers List[String] Used to retrieve all the invoices belonging to specified customers.
sorts List[Sort] sort.
calculatedAmount Boolean If set to true, each row as a calculated amount that includes discounts, variations and subtotals.

Response

Parameter Type Description
totalCount Integer Total number of invoices.
invoices List[Invoice] Returned records.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

GetEInvoicesPresignedURL

Since version: 1.0.0

curl -X GET '<hostname>/documents/einvoices/url?start=<Integer>&limit=<Integer>&ids=<List[String]>&idsSalesPoint=<List[Long]>&datetimeFrom=<Timestamp>&datetimeTo=<Timestamp>&lastUpdateFrom=<Timestamp>&lastUpdateTo=<Timestamp>&status=<DocumentStatus>&numbers=<List[Long]>&idOrganizations=<List[String]>&idCustomers=<List[String]>&sorts=<List[[Sort](#sort)]>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve E-Invoices XML presigned URL

HTTP Request

GET '<hostname>/documents/einvoices/url'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
ids List[String] Invoices ids.
idsSalesPoint List[Long] idsSalesPoint.
datetimeFrom Timestamp Only sales done at or after this time will be considered. The time span must be smaller than 3 days.
datetimeTo Timestamp Only sales done at or before this time will be considered. The time span must be smaller than 3 days.
lastUpdateFrom Timestamp Only sales updated at or after this time will be considered. The time span must be smaller than 3 days.
lastUpdateTo Timestamp Only sales updated at or before this time will be considered. The time span must be smaller than 3 days.
status DocumentStatus Used to filter credit notes by their status.
numbers List[Long] Used to retrieve all the invoices with specified numbers.
idOrganizations List[String] Used to retrieve all the invoices belonging to specified organizations.
idCustomers List[String] Used to retrieve all the invoices belonging to specified customers.
sorts List[Sort] sort.

Response

Parameter Type Description
totalCount Integer Total number of invoices.
eInvoicesUrl List[EInvoicePresignedURL] Returned records.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

GetDDTs

Since version: 1.0.0

curl -X GET '<hostname>/documents/ddts?start=<Integer>&limit=<Integer>&idsSalesPoint=<List[Long]>&datetimeFrom=<Timestamp>&datetimeTo=<Timestamp>&status=<DocumentStatus>&numbers=<List[Long]>&idOrganizations=<List[String]>&idCustomers=<List[String]>&sorts=<List[[Sort](#sort)]>&calculatedAmount=<Boolean>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve DDTs

HTTP Request

GET '<hostname>/documents/ddts'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
idsSalesPoint List[Long] idsSalesPoint.
datetimeFrom Timestamp Required. Only sales done at or after this time will be considered. The time span must be smaller than 3 days.
datetimeTo Timestamp Only sales done at or before this time will be considered. The time span must be smaller than 3 days.
status DocumentStatus Used to filter credit notes by their status.
numbers List[Long] Used to retrieve all the invoices with specified numbers.
idOrganizations List[String] Used to retrieve all the invoices belonging to specified organizations.
idCustomers List[String] Used to retrieve all the invoices belonging to specified customers.
sorts List[Sort] sort.
calculatedAmount Boolean If set to true, each row as a calculated amount that includes discounts, variations and subtotals.

Response

Parameter Type Description
totalCount Integer Total number of ddts.
ddts List[DDT] Returned records.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

GetOrder

Since version: 1.0.0

curl -X GET '<hostname>/documents/orders/:id?calculatedAmount=<Boolean>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve the Order of the specified id.

HTTP Request

GET '<hostname>/documents/orders/:id'

Query Parameters

Parameter Type Description
calculatedAmount Boolean If set to true, each row as a calculated amount that includes discounts, variations and subtotals.

Response

Parameter Type Description
order Order Returned record.

Errors

Error Code Description
InvalidId

GetOrders

Since version: 1.0.0

curl -X GET '<hostname>/documents/orders?start=<Integer>&limit=<Integer>&idsSalesPoint=<List[Long]>&datetimeFrom=<Timestamp>&datetimeTo=<Timestamp>&status=<DocumentStatus>&numbers=<List[Long]>&idOrganizations=<List[String]>&idCustomers=<List[String]>&sorts=<List[[Sort](#sort)]>&calculatedAmount=<Boolean>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve orders

HTTP Request

GET '<hostname>/documents/orders'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
idsSalesPoint List[Long] idsSalesPoint.
datetimeFrom Timestamp Required. Only sales done at or after this time will be considered. The time span must be smaller than 3 days.
datetimeTo Timestamp Only sales done at or before this time will be considered. The time span must be smaller than 3 days.
status DocumentStatus Used to filter credit notes by their status.
numbers List[Long] Used to retrieve all the invoices with specified numbers.
idOrganizations List[String] Used to retrieve all the invoices belonging to specified organizations.
idCustomers List[String] Used to retrieve all the invoices belonging to specified customers.
sorts List[Sort] sort.
calculatedAmount Boolean If set to true, each row as a calculated amount that includes discounts, variations and subtotals.

Response

Parameter Type Description
totalCount Integer Total number of orders.
orders List[Order] Returned records.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

BatchOrder

Since version: 1.0.0

curl -X POST '<hostname>/documents/orders/batch'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        create: [
                 {
                          externalId: String,
                          internalWorkflowStatus: OrderInternalWorkflowStatus,
                          isExternalOrder: Boolean,
                          status: OrderStatus,
                          date: Timestamp,
                          dueDate: Timestamp,
                          deliveryMode: DeliveryMode,
                          destinationStreet: String,
                          destinationCountry: String,
                          destinationCity: String,
                          destinationZipcode: String,
                          destinationDistrict: String,
                          otherDeliveryDestination: String,
                          transportNote: String,
                          rejectionReason: String,
                          phoneNumber: String,
                          prepay: Boolean,
                          prepaymentStatus: PrepaymentStatus,
                          prepaymentTransactionId: String,
                          document: {
                                   idSalesPoint: Long
                                   idOrganization: String
                                   idCustomer: String
                                   taxFree: Boolean
                                   amount: BigDecimal
                                   note: String
                                   rows: [
                                            {
                                                     rowNumber: Integer,
                                                     idProductVariant: String,
                                                     idDepartment: String,
                                                     idTax: String,
                                                     idSalesMode: String,
                                                     quantity: BigDecimal,
                                                     price: BigDecimal,
                                                     subtotal: Boolean,
                                                     shippingCost: Boolean,
                                                     percentageVariation: BigDecimal,
                                                     variation: BigDecimal,
                                                     variationType: VariationType,
                                                     note: String,
                                                     rowModifierValues: [
                                                              {
                                                                       idModifierValue: String,
                                                                       price: BigDecimal,
                                                                       percentagePrice: BigDecimal
                                                              }
                                                     ]
                                            }
                                   ]
                          }
                 }
        ]
    }'

Bulk creation of Order.

HTTP Request

POST '<hostname>/documents/orders/batch'

Query Parameters

Parameter Type Description
create [
   {
      externalId: String,
      internalWorkflowStatus: OrderInternalWorkflowStatus,
      isExternalOrder: Boolean,
      status: OrderStatus,
      date: Timestamp,
      dueDate: Timestamp,
      deliveryMode: DeliveryMode,
      destinationStreet: String,
      destinationCountry: String,
      destinationCity: String,
      destinationZipcode: String,
      destinationDistrict: String,
      otherDeliveryDestination: String,
      transportNote: String,
      rejectionReason: String,
      phoneNumber: String,
      prepay: Boolean,
      prepaymentStatus: PrepaymentStatus,
      prepaymentTransactionId: String,
      document: {
         idSalesPoint: Long
         idOrganization: String
         idCustomer: String
         taxFree: Boolean
         amount: BigDecimal
         note: String
         rows: [
            {
               rowNumber: Integer,
               idProductVariant: String,
               idDepartment: String,
               idTax: String,
               idSalesMode: String,
               quantity: BigDecimal,
               price: BigDecimal,
               subtotal: Boolean,
               shippingCost: Boolean,
               percentageVariation: BigDecimal,
               variation: BigDecimal,
               variationType: VariationType,
               note: String,
               rowModifierValues: [
                  {
                     idModifierValue: String,
                     price: BigDecimal,
                     percentagePrice: BigDecimal
                  }
               ]
            }
         ]
      }
   }
]
Required. Array containing orders to be created (max 100)

Response

Parameter Type Description
batchResponse BatchCreateResponse Id and ExternalId of the created orders.

Errors

Error Code Description
ConflictValue
InvalidValue
InvalidIdSalesPoint
InvalidId
InputSizeExceeded
InvalidIdOrganization
InvalidIdCustomer
InvalidRowIdProduct
InvalidRowIdDepartment
InvalidRowIdTax
InvalidRowIdSalesMode
InvalidRowIdModifier

Error responses may contain details data of following type BatchCreateError.

GetQuotations

Since version: 1.0.0

curl -X GET '<hostname>/documents/quotations?start=<Integer>&limit=<Integer>&idsSalesPoint=<List[Long]>&datetimeFrom=<Timestamp>&datetimeTo=<Timestamp>&numbers=<List[Long]>&idOrganizations=<List[String]>&idCustomers=<List[String]>&sorts=<List[[Sort](#sort)]>&calculatedAmount=<Boolean>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve quotations

HTTP Request

GET '<hostname>/documents/quotations'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
idsSalesPoint List[Long] idsSalesPoint.
datetimeFrom Timestamp Required. Only sales done at or after this time will be considered. The time span must be smaller than 3 days.
datetimeTo Timestamp Only sales done at or before this time will be considered. The time span must be smaller than 3 days.
numbers List[Long] Used to retrieve all the invoices with specified numbers.
idOrganizations List[String] Used to retrieve all the invoices belonging to specified organizations.
idCustomers List[String] Used to retrieve all the invoices belonging to specified customers.
sorts List[Sort] sort.
calculatedAmount Boolean If set to true, each row as a calculated amount that includes discounts, variations and subtotals.

Response

Parameter Type Description
totalCount Integer Total number of quotations.
quotations List[Quotation] Returned records.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

GetCreditNotes

Since version: 1.0.0

curl -X GET '<hostname>/documents/creditnotes?start=<Integer>&limit=<Integer>&ids=<List[String]>&idsSalesPoint=<List[Long]>&datetimeFrom=<Timestamp>&datetimeTo=<Timestamp>&status=<DocumentStatus>&refundNumbers=<List[Long]>&idOrganizations=<List[String]>&idCustomers=<List[String]>&sorts=<List[[Sort](#sort)]>&calculatedAmount=<Boolean>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve credit notes

HTTP Request

GET '<hostname>/documents/creditnotes'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
ids List[String] Credit notes ids.
idsSalesPoint List[Long] idsSalesPoint.
datetimeFrom Timestamp Required. Only sales done at or after this time will be considered. The time span must be smaller than 3 days.
datetimeTo Timestamp Only sales done at or before this time will be considered. The time span must be smaller than 3 days.
status DocumentStatus Used to filter credit notes by their status.
refundNumbers List[Long] Used to retrieve all the credit notes with specified refund numbers.
idOrganizations List[String] Used to retrieve all the credit notes belonging to specified organizations.
idCustomers List[String] Used to retrieve all the credit notes belonging to specified customers.
sorts List[Sort] sort.
calculatedAmount Boolean If set to true, each row as a calculated amount that includes discounts, variations and subtotals.

Response

Parameter Type Description
totalCount Integer Total number of credit notes.
creditnotes List[CreditNote] Returned records.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

GetBills

Since version: 1.0.0

curl -X GET '<hostname>/documents/bills?start=<Integer>&limit=<Integer>&ids=<List[String]>&idsSalesPoint=<List[Long]>&datetimeFrom=<Timestamp>&datetimeTo=<Timestamp>&idOrganizations=<List[String]>&idCustomers=<List[String]>&sorts=<List[[Sort](#sort)]>&calculatedAmount=<Boolean>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve bills

HTTP Request

GET '<hostname>/documents/bills'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
ids List[String] Bills ids.
idsSalesPoint List[Long] idsSalesPoint.
datetimeFrom Timestamp Required. Only sales done at or after this time will be considered. The time span must be smaller than 3 days.
datetimeTo Timestamp Only sales done at or before this time will be considered. The time span must be smaller than 3 days.
idOrganizations List[String] Used to retrieve all the bills belonging to specified organizations.
idCustomers List[String] Used to retrieve all the bills belonging to specified customers.
sorts List[Sort] sort.
calculatedAmount Boolean If set to true, each row as a calculated amount that includes discounts, variations and subtotals.

Response

Parameter Type Description
totalCount Integer Total number of bills.
bills List[Bill] Returned records.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

Webhook Management

GetWebhook

Since version: 1.0.0

curl -X GET '<hostname>/webhooks/:id?'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve the Webhook of the specified id.

HTTP Request

GET '<hostname>/webhooks/:id'

Response

Parameter Type Description
webhook Webhook Returned record.

Errors

Error Code Description
InvalidId

GetWebhooks

Since version: 1.0.0

curl -X GET '<hostname>/webhooks?start=<Integer>&limit=<Integer>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve webhooks

HTTP Request

GET '<hostname>/webhooks'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.

Response

Parameter Type Description
totalCount Integer Total number of webhooks.
webhooks List[Webhook] Returned records.

Errors

Error Code Description
InvalidParams

NewWebhook

Since version: 1.0.0

curl -X POST '<hostname>/webhooks'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        description: String,
        idSalesPoints: List[Long],
        webhookEntity: WebHookEntity,
        eventSubscriptions: List[[WebHookEventSubscription](#webhookeventsubscription)],
        URL: String
    }'

Create a new Webhook.

HTTP Request

POST '<hostname>/webhooks'

Query Parameters

Parameter Type Description
description String Description.
idSalesPoints List[Long] idSalesPoint.
webhookEntity WebHookEntity Required. Cassa In Cloud entity subscribed.
eventSubscriptions List[WebHookEventSubscription] Required. List of events subscribed.
URL String Required. Webhook URL.

Response

Parameter Type Description
id String Id of the webhook created.

Errors

Error Code Description
InvalidIdSalesPoint
InvalidValue

EditWebhook

Since version: 1.0.0

curl -X PUT '<hostname>/webhooks/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        description: String,
        URL: String,
        status: WebHookStatus
    }'

Update the Webhook of the specified id.

HTTP Request

PUT '<hostname>/webhooks/:id'

Query Parameters

Parameter Type Description
description String Description.
URL String Webhook URL.
status WebHookStatus Webhook status.

Errors

Error Code Description
InvalidId
InvalidValue
InvalidStatus

DeleteWebhook

Since version: 1.0.0

curl -X DELETE '<hostname>/webhooks/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'

Set status of Webhook of the specified id to REVOKED.

HTTP Request

DELETE '<hostname>/webhooks/:id'

Errors

Error Code Description
InvalidId
InvalidValue
InvalidStatus

Entities

Attribute

Attribute is an option used to define a ProductVariant. This better suit the retail scenario where a product can have several variants as ‘Size’ or ‘Color’.

Parameter Type Description
id String Id.
position Integer Display order.
option Option The attribute extends an option.
values List[AttributeValue] Attribute possible values. This collection is a subset of the related option values. For instance two different products can have attributes based on the same option but with different values sets.

AttributeValue

Parameter Type Description
id String Id.
value OptionValue Attribute value is based on an option value.

Barcode

Parameter Type Description
value String Barcode.
format BarcodeFormat Barcode format.
salable Boolean If set to true, the barcode can be scanned and recognized on selling interface.

BatchCreateError

Parameter Type Description
createErrorDetails List[BatchErrorDetails]

BatchCreateResponse

Parameter Type Description
createDetails List[EntityDetails]

BatchError

Parameter Type Description
createErrorDetails List[BatchErrorDetails]
updateErrorDetails List[BatchErrorDetails]

BatchErrorDetails

Parameter Type Description
index Integer
id String
externalId String
msg String
syncErrorType String
conflictType String

BatchResponse

Parameter Type Description
createDetails List[EntityDetails]
updateDetails List[EntityDetails]

BatchUpdateError

Parameter Type Description
updateErrorDetails List[BatchErrorDetails]

BatchUpdateResponse

Parameter Type Description
updateDetails List[EntityDetails]

Bill

Parameter Type Description
id String Id.
document Document Body of the bill.
datetime Datetime Registration date.

Category

Category is a collection of products. It’s meant to globally define some properties and which modifiers are available to all of its products. These are in addition to product defined properties and modifiers, in case of conflict product defined properties and modifier have higher priority.

Parameter Type Description
id String Id.
description String Description.
externalId String externalId.
enableForRisto Boolean If set to true, all category products are available for the restaurant interface.
enableForSale Boolean If set to true, all category products are available for sale on Cassa In Cloud app.
enableForECommerce Boolean If set to true, all category products are available for sale on e-commerce.
enableForMobileCommerce Boolean If set to true, all category products are available for sale on mobile e-commerce.
enableForSelfOrderMenu Boolean If set to true, all category products are available for sale on Cassa In Cloud self order app.
enableForKiosk Boolean If set to true, all category products are available for sale on Cassa In Cloud kiosk app.
idSalesPoint Long idSalesPoint.
lastUpdate Timestamp lastUpdate.
modifiers List[Modifier] A collection of modifiers available to all category products.
imageUrl String Link to an image connected to the category.

Cost

Each product or variant could have a cost

Parameter Type Description
id String Id.
idSupplier String Id of related supplier.
cost BigDecimal Cost
variation1 BigDecimal First variation.
variation2 BigDecimal Second variation.
variation3 BigDecimal Third variation.
variation4 BigDecimal Forth variation.
idDepartment String Id related department.

CreditNote

Parameter Type Description
id String Id.
status DocumentStatus
refundNumber Long Number of the credit note.
receiptNumber Long Number of the receipt to which the credit note refers.
referenceDocumentNumber String Reference document number.
referenceDocumentDate Timestamp Reference document date.
receiptZNumber Long Receipt Z Number.
splitPayment Boolean Split payment enabled.
date Timestamp Creation date.
datetime Datetime Registration date.
document Document Body of the credit note.
documentNumbering DocumentNumbering Credit note prefix or suffix, can be null.
extraDataNature ExtraDataNature
extraDataCCC String
extraDataCUP String
extraDataCIG String

Currency

Parameter Type Description
code String Code ISO 4217.
name String Name.
numberOfDecimals Integer Number of decimals.

CustomPayment

Parameter Type Description
id String Id.
description String Description.
collectable Boolean If set to true, the custom payment is collectable.
changeEnabled Boolean If set to true, the custom payment is enabled to generate change.

Customer

Parameter Type Description
id String Id.
idOrganization String Id of related organization.
organization Organization Related organization.
name String Name.
dateOfBirth Datetime Date of birth.
gender CustomerGender Gender.
vatNumber String Vat number.
fiscalCode String Fiscal code.
address String Address.
city String City.
zipcode String Zip code.
district String District.
country String Country code ISO 3166-1 alpha-2.
phoneNumber String Phone number.
email String Email.
note String Note.
idSalesMode String Id of related sales mode.
bankAccountHolder String Bank account holder.
bankAccountInstitute String Bank account institute.
bankAccountIBAN String Bank account IBAN.
discount1 BigDecimal First percentage discount applied on sales.
discount2 BigDecimal Second percentage discount applied on sales.
discount3 BigDecimal Third percentage discount applied on sales.
discount4 BigDecimal Fourth percentage discount applied on sales.
externalId String externalId.
idSalesPoint Long idSalesPoint.
lastUpdate Timestamp lastUpdate.

DDT

DDT document.

Parameter Type Description
id String Id.
status DocumentStatus
number Long Number of the document.
date Timestamp Creation date.
datetime Datetime Registration date.
transportReason String If shipping is set to true, reason of the transport.
transporter Transporter If shipping is set to true, transporter.
destinationStreet String If shipping is set to true, destination street of the delivery.
destinationCountry String If shipping is set to true, destination country of the delivery.
destinationCity String If shipping is set to true, destination city of the delivery.
destinationZipcode String If shipping is set to true, destination zipcode of the delivery.
destinationDistrict String If shipping is set to true, destination district of the delivery.
carrierName String If shipping is set to true, name of the carrier (legal person).
carrierFirstname String If shipping is set to true, first name of the carrier (natural person).
carrierLastname String If shipping is set to true, last name of the carrier (natural person).
carrierVatNumber String If shipping is set to true, vat number of the carrier.
carrierCountry String If shipping is set to true, country of the carrier.
weight BigDecimal If shipping is set to true, total weight.
packages Integer If shipping is set to true, number of packages in the ddt.
appearance String If shipping is set to true, appearance of the items.
transportNote String If shipping is set to true, additional transport notes.
document Document Body of the ddt.
documentNumbering DocumentNumbering DDT prefix or suffix, can be null.

Department

Parameter Type Description
id String Id.
description String Description.
descriptionLabel String String used to display department buttons on selling interface.
descriptionReceipt String Description shown on receipt. It’s recommended to not use special characters as some printers may not recognize them.
idTax String Id of the Tax applied on department.
tax Tax Tax applied on department.
color String Department color, expressed as hexadecimal value, show on button background on sale interface.
amountLimit BigDecimal Optional value used to set amount limit on a department sale (without specifying product). This could help to prevent user errors when inputing prices manually.
externalId String externalId.
idSalesPoint Long idSalesPoint.
lastUpdate Timestamp lastUpdate.

Document

Represent the body of a receipt, invoice, credit note or bill.

Parameter Type Description
id String Id.
idSalesPoint Long idSalesPoint.
idOrganization String Id of the Organization(#organization) to which the document refers. At least one between idOrganization and idCustomer is required.
idCustomer String Id of the Customer(#customer) to which the document refers. At least one between idOrganization and idCustomer is required.
taxFree Boolean If set to true, tax free VAT is applied to all the rows of the document.
confirmed Boolean If set to true, document is confirmed, otherwise is draft.
amount BigDecimal Total amount of the document.
change BigDecimal Change of the document.
rows List[Row] List of rows of the document.
payments List[Payment] List of payments associated to the document.
orderSummary OrderSummary
userType UserType Type of the user who creates the document.
user User Details of the user who creates the document.
note String Additional note.
documentReason DocumentReason Details of the document reason of the document.

DocumentNumbering

Represent a document numbering line, that can be a prefix or suffix. Each document type has it’s own document numbering lines.

Parameter Type Description
id String Id.
prefix String The document numbering is a prefix of the number of the document. Only one between prefix and suffix is defined.
suffix String The document numbering is a suffix of the number of the document. Only one between prefix and suffix is defined.
documentNumberingType DocumentNumberingType Type of the document to which the document numbering refers.

DocumentReason

Parameter Type Description
id String Id.
description String Name of the document reason.

EInvoicePresignedURL

Parameter Type Description
invoiceId String Invoice Id.
eInvoiceURL String EInvoice URL.

EntityDetails

Parameter Type Description
index Integer
id String
externalId String

Invoice

Fiscal invoice document.

Parameter Type Description
id String Id.
status DocumentStatus
number Long Number of the document.
date Timestamp Creation date.
datetime Datetime Registration date.
dueDatetime Datetime Expiration date.
deferred Boolean If set to true then the invoice is a deferred invoice. Deferred invoice has no body (document is null) but has the list of the related receipts (deferredReceipts).
payed Boolean If set to true, the invoices has been payed.
shipping Boolean If set to true the the invoice is a shipping invoice.
transportReason String If shipping is set to true, reason of the transport.
transporter Transporter If shipping is set to true, transporter.
destinationStreet String If shipping is set to true, destination street of the delivery.
destinationCountry String If shipping is set to true, destination country of the delivery.
destinationCity String If shipping is set to true, destination city of the delivery.
destinationZipcode String If shipping is set to true, destination zipcode of the delivery.
destinationDistrict String If shipping is set to true, destination district of the delivery.
carrierName String If shipping is set to true, name of the carrier (legal person).
carrierFirstname String If shipping is set to true, first name of the carrier (natural person).
carrierLastname String If shipping is set to true, last name of the carrier (natural person).
carrierVatNumber String If shipping is set to true, vat number of the carrier.
carrierCountry String If shipping is set to true, country of the carrier.
weight BigDecimal If shipping is set to true, total weight.
packages Integer If shipping is set to true, number of packages in the invoice.
appearance String If shipping is set to true, appearance of the items.
transportNote String If shipping is set to true, additional transport notes.
document Document Body of the invoice.
deferredReceipts List[String] List of id of the receipts related to the invoice.
documentNumbering DocumentNumbering Invoice prefix or suffix, can be null.
extraDataDocumentId String
extraDataDate Datetime
extraDataNature ExtraDataNature
extraDataCCC String
extraDataCUP String
extraDataCIG String

Modifier

Modifier is an option that can be applied ‘on the fly’ to a product. Modifiers better suit the restaurant scenario, where products can have additions or removals.

Parameter Type Description
id String Id.
position Integer Display order.
option Option The modifier extends an option.
values List[ModifierValue] Modifier possible values. This collection is a subset of the related option values. For instance two different products can have modifier based on the same option but with different values sets.

ModifierValue

Modifier value extends option value defining its price.

Parameter Type Description
id String Id.
price BigDecimal Incremental price change applied to the product if the current modifier value is selected. Only one between incremental and percentage price should be defined.
percentagePrice BigDecimal Percentage price change applied to the product if the current modifier value is selected. Only one between incremental and percentage price should be defined.
value OptionValue Modifier value is based on an option value.
isDefault Boolean only for optional modifier. If set to true, the modifier is added by default on sale.

Option

An option is a custom criteria used to describe a product. For instance ‘Size’ can be an option for a t-shirt and ‘Topping’ can be an option for coffee. An option can be used as Attribute or Modifier

Parameter Type Description
id String Id.
description String Description.
externalId String externalId.
idSalesPoint Long idSalesPoint.
lastUpdate Timestamp lastUpdate.
values List[OptionValue] List of the all the possible option values.

OptionValue

Defines a value for an option. For instance ‘XS’, ‘S’, ‘M’, ‘L’ can be values of the ‘Size’ option.

Parameter Type Description
id String Id.
type OptionValueType Specifies whether the selected value is an addition or a removal or a neutral change to the original product.
value String Option value.
position Integer Display order.
externalId String externalId.
lastUpdate Timestamp lastUpdate.

Order

Order document.

Parameter Type Description
id String Id.
number Long Number
idDocumentNumbering String ID Document Numbering
documentNumbering DocumentNumbering Document Numbering
internalWorkflowStatus OrderInternalWorkflowStatus Internal Workflow Status
externalChannel ExternalChannel Channel for external-channel orders
externalWorkflowStatus ExternalWorkflowStatus External Workflow Status
status OrderStatus Order Status
date Timestamp Creation date.
datetime Datetime Registration date.
dueDate Timestamp Due Date
dueDatetime Datetime Due Datetime
deliveryMode DeliveryMode Delivery mode for external-channel orders
destinationStreet String Delivery street for external-channel orders
destinationCountry String Delivery country for external-channel orders
destinationCity String Delivery city for external-channel orders
destinationZipcode String Delivery zip code for external-channel orders
destinationDistrict String Delivery district for external-channel orders
otherDeliveryDestination String Delivery destination for external-channel orders with other delivery mode
transportNote String Transport note for external-channel orders
rejectionReason String Rejection reason for external-channel orders
phoneNumber String Phone number for external-channel orders
prepay Boolean Prepay for external-channel orders
prepaymentType PrepaymentType Prepayment type for external-channel orders
prepaymentStatus PrepaymentStatus Prepayment status for external-channel orders
prepaymentTransactionId String Prepayment transaction Id for external-channel orders
document Document Body of the order.

OrderSummary

Parameter Type Description
openingTime Datetime Opening time of the table.
closingTime Datetime Closing time of the table.
amount BigDecimal Total amount of the order.
covers Integer Number of covers of the table.
tableName String Table name.

Organization

Parameter Type Description
id String Id.
name String Name.
address String Address.
city String City.
zipcode String Zip code.
district String District.
country String Country code ISO 3166-1 alpha-2.
splitPayment Boolean Split payment.
vatNumber String Vat number.
fiscalCode String Fiscal code.
eInvoiceCode String Invoice code.
pec String Pec.
phoneNumber String Phone number.
email String Email.
note String Note.
idSalesMode String Id of related sales mode.
bankAccountHolder String Bank account holder.
bankAccountInstitute String Bank account institute.
bankAccountIBAN String Bank account IBAN.
discount1 BigDecimal First percentage discount applied on sales.
discount2 BigDecimal Second percentage discount applied on sales.
discount3 BigDecimal Third percentage discount applied on sales.
discount4 BigDecimal Fourth percentage discount applied on sales.
idSalesPoint Long idSalesPoint.
lastUpdate Timestamp lastUpdate.

OutgoingMovement

Parameter Type Description
id String Id.
idProduct String Related product (‘multivariant’ set to false).
idProductVariant String Related product variant (‘multivariant’ set to true).
quantity BigDecimal Moved amount.
date Timestamp Outgoing movement time stamp.
reason MovementType Outgoing movement reason.
idSalesPoint Long idSalesPoint.
lastUpdate Timestamp lastUpdate.

Payment

Parameter Type Description
paymentType PaymentType Payment type.
amount BigDecimal Amount of the payment.
paymentNote String Note associated to the payment.
bankAccountHolder String Bank account holder info for some payment types.
bankAccountInstitute String Bank account institute info for some payment types.
bankAccountIBAN String Bank account IBAN info for some payment types.
change BigDecimal Change amount of the payment.
customPayment CustomPayment Details of custom payment.
ticket Ticket Details of ticket.

Price

For every product must be defined at least one default price (with no related sales mode).

Parameter Type Description
idSalesMode String Id of related sales mode.
idSalesPoint Long idSalesPoint.
value BigDecimal Price.

Product

Product is the main entity of the system, at the base of whole sales process. It is a salable object, manageable in warehouse, which can be analyzed through some reports (sales, warehouse stock, supplies …).

A product is defined by this properties:

Some properties usage depends on product variability configurations (descriptionReceipt, barcodes, internalId).

In warehouse management the base unit for multivariant products are its product variants.

Parameter Type Description
id String Id.
description String Description.
descriptionLabel String String used to display department buttons on selling interface.
descriptionExtended String Extended description shown on product detail.
idDepartment String Id of the related department.
department Department Related department which define tax fee on product.
idCategory String Id of the category to which product belongs.
category Category Category to which product belongs.
icon String Optional value. Product icon id. See icons for a list of possible values.
soldByWeight Boolean If set to true, the price is determined by the amount (weight) of product sold.
defaultTare Long If set, this value specify the product default tare weight.
multivariant Boolean If set to true, the product allows variants. See ProductVariant for more details.
color String Product color, expressed as hexadecimal value, show on button background on selling interface.
enableForRisto Boolean If set to true, this product is available for the restaurant interface.
enableForSale Boolean If set to true, this product is available for sale on Cassa In Cloud app.
enableForECommerce Boolean If set to true, this product is available for sale on e-commerce.
enableForMobileCommerce Boolean If set to true, this product is available for sale on mobile e-commerce.
enableForSelfOrderMenu Boolean If set to true, this product is available for sale on Cassa In Cloud self order app.
enableForKiosk Boolean If set to true, this product is available for sale on Cassa In Cloud kiosk app.
tags List[String] Used to group and to help searching products.
descriptionReceipt String Description shown on receipt. If ‘multivariant’ is set to true, the receipt description is taken from product variant. It’s recommended to not use special characters as some printers may not recognize them.
internalId String If ‘multivariant’ is set to true, the internal id is taken from product variant.
barcodes List[Barcode] List of barcodes that identify product. If ‘multivariant’ is set to true, the barcodes are taken from product variant.
alternatives List[String] List of ID of alternative products.
costs List[Cost] List of costs.
relateds List[String] List of ID of related products.
variants List[ProductVariant] Product variants. Only set if ‘multivariant’ is true.
attributes List[Attribute] List of all available attributes for the product.
modifiers List[Modifier] List of all available modifier for the product.
prices List[Price] List of all product prices depending on sales mode. Contains at least base price (with no sales mode).
images List[ProductImage] List of all images related to the product.
externalId String externalId.
idSalesPoint Long idSalesPoint.
lastUpdate Timestamp lastUpdate.

ProductImage

List of images url related to the product.

Parameter Type Description
imageUrl String

ProductVariant

A product variant is defined by a combination of the product attributes values for products defined as multivariant.

Parameter Type Description
id String Id.
description String Description.
descriptionReceipt String Description shown on receipt. It’s recommended to not use special characters as some printers may not recognize them.
descriptionOrderTicket String Description over ticket
internalId String Internal id.
barcodes List[Barcode] List of product barcodes.
costs List[Cost] List of costs.
attributes List[SkuAttribute] The attributes values defining the variant. For instance if a product has ‘Size’, ‘Color’ and ‘Material’ as attributes then a possible variant is [ Size M, Color Black, Material Cotton] or [ Size L, Color White].
prices List[Price] List of all product prices depending on sales mode. If no prices are defined, it will inherit parent product prices.

Quotation

Order document.

Parameter Type Description
id String Id.
title String Quotation title.
number Long Quotation number
idDocumentNumbering String Id document numbering
expirationDate Timestamp Due Date
expirationDateTime Datetime Due Datetime
documentNumbering DocumentNumbering Document Numbering
document Document Body of the invoice.

Receipt

Fiscal receipt document.

Parameter Type Description
id String Id.
number Long Number of the document.
date Timestamp Creation date.
datetime Datetime Registration date.
zNumber Long Z Number.
taxCode String Tax Code.
vatNumber String Vat Number.
document Document Body of the receipt.

Reconciliation

Parameter Type Description
id String Id
idSalesAccount String Id Sales Account.
number Long Number.
receiptsCount Integer Receipts count.
receiptsAmount BigDecimal Receipts amount.
notCachedAmount BigDecimal Not cached amount.
firstInvoice String First invoice.
lastInvoice String Last invoice.
invoicesCount Integer Invoices count.
invoicesFromReceiptsAmount BigDecimal Invoices from receipts amount.
directInvoicesAmount BigDecimal Direct invoices amount.
creditNotesCount Integer Credit notes count.
creditNotesAmount BigDecimal Credit notes amount.
canceledCount Integer Canceled count.
canceledAmount BigDecimal Canceled amount.
idUserFO Integer Id User FO.
referenceDate Datetime Reference date.
date Timestamp Date.
taxes List[ReconciliationTax] Taxes.

ReconciliationTax

Parameter Type Description
idTax String Tax id.
originalReceiptsAmount BigDecimal Amount of original receipts.
originalNotCashedAmount BigDecimal Amount of original not cached receipts.
originalInvoicesAmount BigDecimal Amount of original invoices.
originalCanceledAmount BigDecimal Amount of original canceled.
receiptsAmount BigDecimal Amount of receipts.
notCashedAmount BigDecimal Amount of not cached.
invoicesAmount BigDecimal Amount of invoices.
canceledAmount BigDecimal Amount of canceled.
creditNotesAmount BigDecimal Credit notes amount.
tax Tax Taxes.

Row

Every document is composed of one or multiple rows. Any row represents a product sale, department sale, cover charge or subtotal. The amount of the row must be calculated taking into account price, quantity, percentage variation, variation, modifiers and subtotal percentage variations.

Parameter Type Description
id String Id.
subtotal Boolean If set to true, the row is a subtotal.
refund Boolean If set to true, the row is a return.
menu Boolean If set to true, the row contains a menu item.
coverCharge Boolean If set to true, the row is a cover charge.
idProduct String Id of the Product. Could be null if the row represents a subtotal, department sales or cover charge.
idProductVariant String Id of the ProductVariant if the product is ‘multivariant’. Could be null if the row represents a subtotal, department sales or cover charge.
idCategory String Id of the Category of the product at the time of sale..
idDepartment String Id of the Department. If idProduct and idProductVariant are both null the row represents a department sale.
idTax String Id of the Tax applied on department at the time of sale.
idSalesMode String Id of the SalesMode at the time of sale.
stockMovementEnabled Boolean If set to true, the row generate a stock movement equal to the row quantity.
idStockMovement String Id of the StockMovement.
idOutgoingMovement String Id of the OutgoingMovement.
rowNumber Integer Row number, useful to order the rows.
quantity BigDecimal Quantity of the row.
price BigDecimal Price of the row.
percentageVariation BigDecimal Percentage variation applied on the row. If < 0 then is surcharge otherwise is a discount.
variation BigDecimal Variation applied on the row. If < 0 then is surcharge otherwise is a discount.
variationType VariationType Type of the variation applied.
rowModifierValues List[RowModifierValue] List of the modifiers applied to the row.
note String Additional note.
calculatedAmount BigDecimal Calculated amount including discounts, variations and subtotals.
shippingCost Boolean If set to true, the row is a shipping cost.

RowModifierValue

Parameter Type Description
idModifierValue String Id of the Modifier applied to the row.
price BigDecimal Incremental price change of the modifier at the time of sale. Only one between incremental and percentage price is defined.
percentagePrice BigDecimal Percentage price change of the modifier at the time of sale. Only one between incremental and percentage price is defined.

SalesMode

Sales modes allows too apply different set of prices. If a product does not specify a price for the selected sales mode the default price will be applied.

Parameter Type Description
id String Id.
description String Description.
idSalesPoint Long idSalesPoint.
lastUpdate Timestamp lastUpdate.

SalesPoint

Parameter Type Description
id Long Id.
name String Name.
description String Description.
latitude BigDecimal Latitude.
longitude BigDecimal Longitude.
brand String Brand.
street String Street.
city String City.
zipcode String Zip code.
district String District.
country String Country code ISO 3166-1 alpha-2.
vatNumber String Vat number.
taxCode String Tax code.
phoneNumber String Phone number.
email String Email.
currency Currency Currency.

SkuAttribute

A sku attribute is an option value used to define product variants.

Parameter Type Description
idOption String
idOptionValue String
option Option This option refers to an attribute.
value OptionValue This value must be among the attribute available values.

SoldByCategory

Parameter Type Description
idCategory String Category id.
category Category Category.
quantity BigDecimal Amount of category items sold.
profit BigDecimal Profit.
percentTotal BigDecimal Percentage of total amount.

SoldByDepartment

Parameter Type Description
idDepartment String Department id.
department Department Department.
quantity BigDecimal Amount of department sales.
profit BigDecimal Profit.
percentTotal BigDecimal Percentage of total amount.

SoldByPaymentType

Parameter Type Description
paymentType PaymentType Payment Type.
customPayment CustomPayment Details of custom payment.
collected Boolean If true the payment is collected.
profit BigDecimal Profit.
percentTotal BigDecimal Percentage of total amount.

SoldByProduct

Parameter Type Description
idProduct String Product id.
product Product Product.
quantity BigDecimal Amount of product sold.
profit BigDecimal Profit.
percentTotal BigDecimal Percentage of total amount.

SoldByTax

Parameter Type Description
idTax String Tax id.
tax Tax Tax.
quantity BigDecimal Amount of items sold applying this tax.
profit BigDecimal Profit.
taxable BigDecimal Income.
vat BigDecimal Vat applied.
percentTotal BigDecimal Percentage of total amount.

Sort

Parameter Type Description
key String
direction Integer

SortError

Parameter Type Description
msg String
allowedSort List[String]

Stock

Stock entity is related to a product or to a product variant (if product is multivariant), it’s key is composed by ‘idProduct’ and ‘idProductVariant’ fields. It defines product stock properties.

Parameter Type Description
idProduct String Id of the product.
idProductVariant String Id of the variant if the product is ‘multivariant’.
manageStock Boolean If set to false it’s not possible to create movements for product and it’s stock quantity will not be traced.
warningLevel BigDecimal Defines the quantity under which the product should be replenished.
incomingQuantity BigDecimal Incoming quantity
outgoingQuantity BigDecimal Outgoing quantity
quantity BigDecimal Product stock quantity.

StockMovement

Parameter Type Description
id String Id.
idProduct String Related product (‘multivariant’ set to false).
idProductVariant String Related product variant (‘multivariant’ set to true).
quantity BigDecimal Moved amount.
cost BigDecimal Product cost at movement time.
date Timestamp Movement time stamp.
note String Note.
reason MovementType Movement reason.
idSalesPoint Long idSalesPoint.
lastUpdate Timestamp lastUpdate.

Supplier

Parameter Type Description
id String Id.
name String Name.
vatNumber String Vat number.
taxCode String Tax code.
street String Street.
city String City.
zipcode String Zip code.
district String District.
country String Country code ISO 3166-1 alpha-2.
phoneNumber String Phone number.
email String Email.
note String Note.
externalId String externalId.
idSalesPoint Long idSalesPoint.
lastUpdate Timestamp lastUpdate.

SyncError

Parameter Type Description
id String
msg String
errorType String

Tax

Parameter Type Description
id String Id.
description String Description.
rate BigDecimal Ratio, expressed as percentage, at which tax is applied.
externalId String externalId.
nature NaturaIvaEsente Type of exemption, valid only if rate is zero.
noFiscalPrint Boolean If true the receipt row will not be printed, valid only if rate is zero.
noFiscalPrintOnMixedReceipt Boolean If true the receipt row will not be printed even in mixed receipts, valid only if rate is zero.
idSalesPoint Long idSalesPoint.
lastUpdate Timestamp lastUpdate.

Ticket

Parameter Type Description
id String Id.
description String Description.
quantity Integer Number ticket used to pay.
value BigDecimal Amount value of each ticket used to pay.

User

Parameter Type Description
id String Id.
name String Name of the user.

Webhook

Parameter Type Description
id String Id.
idsSalesPoint List[Long] List of idSalesPoint that defines the visibility level of webhook on entity; if the list contains at least one element, webhook visibility is at sales points level, otherwise at account (all sales point are included).
description String Description.
secret String Secret key to allow origin security check.
webhookEntity WebHookEntity Cassa In Cloud entity subscribed.
eventSubscriptions List[WebHookEventSubscription] Events subscribed.
webhookURL String Webhook URL (possibly HTTPS) called when events happens.
created Timestamp Webhook creation Date.
revoked Timestamp Webhook revoke Date.
suspended Timestamp Webhook suspension Date.
status WebHookStatus Webhook status.

Enumerations

BarcodeFormat


EAN13
CODE39

CustomerGender


MALE
FEMALE

DeliveryMode


PICKUP
DELIVERY
OTHER

DocumentNumberingType


INVOICE
CREDITNOTE
ORDER
DDT
QUOTATION
PURCHASE_INVOICE
PURCHASE_ORDER
PURCHASE_DDT

DocumentStatus


DRAFT
CONFRIMED

ExternalChannel


CN_MOBILE_COMMERCE
CN_API
CN_APP
CN_MYCN

ExternalWorkflowStatus


REQUESTED
REJECTED
ACCEPTED
PROCESSING
READY
SHIPPING
SHIPPED
DELIVERING
CANCELED
COMPLETED

ExtraDataNature


DATI_ORDINE_ACQUISTO
DATI_CONTRATTO
DATI_CONVENZIONE
DATI_RICEZIONE
DATI_FATTURE_COLLEGATE

MovementType


SALE
SUPPLY
THEFT
LOSS
CORRECTION
RETURN_FROM_CUSTOMER
RETURN_TO_SUPPLIER
TRANSFER
DEFECTIVE
FREE_SAMPLE
CONSUMABLES
SELF_CONSUMPTION
TASTING
EXPIRED

NaturaIvaEsente


N_1
N_2
N_3
N_4
N_5
N_6
N_7

OptionValueType

Specify whether the selected value is an addition or a removal or a neutral change to the original product. It can be used to group the modifiers applied to a product.


POSITIVE
NEGATIVE
NEUTRAL

OrderInternalWorkflowStatus


PENDING
REJECTED
ADJUSTED
APPROVED

OrderStatus


NOT_PROCESSED
PARTIALLY_PROCESSED
PROCESSED
UNCONFIRMED

PaymentType


CASH
BANKCHECK
CASHCARD
CREDITCARD
TICKET
DEFERRED
FIDELITYCARD
VOUCHER
BANK_TRANSFER
RIBA_30
RIBA_60
PAYPAL
CUSTOM
OTHER

PrepaymentStatus


WAITING
FAILED
PAYED
REFUNDED

PrepaymentType


TSPAY
CN_CREDIT

ProductChannel


RISTO
SALE
ECOMMERCE
MOBILE_COMMERCE
SELF_ORDER
KIOSK

Transporter


VECTOR
SENDER
RECEIVER

UserType


USER_APP
USER_FO
USER_ECOMMERCE
USER_API
USER_MOBILE_COMMERCE

VariationType


CUSTOMER
ORGANIZATION
FIDELITY_CIRCUIT
ROUNDING

WebHookEntity


BILL
RECEIPT
CREDIT_NOTE
INVOICE
DDT
ORDER
QUOTATION
RECONCILIATION
STOCK_MOVEMENT
CUSTOMER
ORGANIZATION

WebHookEventSubscription


CREATE
UPDATE
DELETE

WebHookStatus


RUNNING
SUSPENDED
STOPPED