NAV Navbar
Logo
shell

Introduction

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

Authentication

Using Api-Key to Access Cassa in Cloud APIs

Cassa in Cloud 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 Cassa in Cloud Authorization Server, extracts a token from the response, and sends the token to the Cassa in Cloud API that you want to access.

Basic steps

All applications follow a basic pattern when accessing a Cassa in Cloud 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 Cassa in Cloud Authorization Server.

Before your application can access private data using a Cassa in Cloud 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 Cassa in Cloud 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 Cassa in Cloud 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 Cassa in Cloud 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 Cassa in Cloud 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

Limits

General quota limits

Each APIs has a limited number of calls in a time windows with a size of 10 minutes. At the end of the time window the call count is reset. The limits for each API are as follows:

Maximum body length

The boby request of an API call has a maximum length of 100Kb. When the max length is exceeded, a 413 response is returned.

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

Cassa in Cloud Webhooks can be configured and analyzed (log and usage limitations) from MyCassa in Cloud’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, Cassa in Cloud signs the message by computing an HMAC (with SHA-1 algorithm) of the secret (you can find it in webhook detail) + 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. Useful tools for HMAC checking are available online (i.e. hmac-generator, …)

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, Cassa in Cloud retries (max 3 times) to ensure consumers get the updates they are subscribing to. For the following HTTP responses status codes, Cassa in Cloud 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.

Cassa in Cloud Entity Model

The Cassa in Cloud model is composed of many entities, which describe the following contexts:

Account data (configuration)

A Cassa in Cloud account could have one or more sales points, which share the same currency (configured via back-office). Some entities can be configured with a level of visibility, which means that an entity may only be visible in a single sales point (setting idSalesPoint property with sales point id) or in the whole account (setting idSalesPoint property to null).

Master data (configuration)

The main entity around which the configuration part of the system revolves is the product. However, its relations first require the creation of some other entities:

Personal data

In the personal data context there are three entities:

Warehouse

In relation to the main master data entity product there is also warehouse management. A product can be managed in the warehouse system creating stock entity with manageStock property as true.

For a product with warehouse enabled, it’s possible to create stock movement or outgoing movement; this movements can be created directly via movement entity creation or indirectly via document creation.

Stock status and warning level info (of a product with warehouse management enabled) are stored inside stock entity.

Documents

Documents context is the core part of the system. A document can be related with all other parts of the system; consequently, as was said for the product entity, before creating a document it is necessary to make sure that the entities involved in it (product, customer, organization, custom payments, …) have already been created.

The documents context contains:

Sold Reports

Sold data can be consulted through some reports that group them according to a specific entity:

Fidelity

Cassa in cloud fidelity system is composed by two main concepts:

To interact with this two functionality, an user can use two types of identifiers (one excludes the other):

An user can be anonymous or registered in the system as a customer.

The flows of the points or the prepaid credit take place within a fidelity circuit, each of them has a visibility level on a single sales point or on whole account. Each identifiers works within a circuit, one of them being the default for mobile commerce app.

An user has a prepaid account for each sales points that is visible to it by visibility level of the user or by the identifier that it owns. An user prepaid account can be recharged or used as a payment method and each of these operations generates a transaction.

An user can partecipate to a points campaign if it has at least one identifier visible in the campaign. A campaign visibility is made by a sales points group and by a list of circuits. Each sales done inside the campaign life with a fidelity identifier (cards or mobile commerce app) visible to it, produces points transactions that increment user points account. When an user reaches the minimum points amount needed by desired prize, a prize redeem can be done.

Prizes must be created before than campaigns. In campaign creation the prizes configuration consists in prizes selection from existing, then setting prize details (points threshold, extra price, ecc…).

Webhooks

Cassa in Cloud API system allows users to register for events (creation, update, delete) that occur in the system relating to the entities involved with webhooks.

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,
        ventilazione: Boolean,
        atecoCode: String,
        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 and mandatory 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.
ventilazione Boolean If true the tax is configured with “ventilazione” for separate accounting.
atecoCode String If ventilazione = true this code is mandatory and identifies an economic activity.
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,
                          ventilazione: Boolean,
                          atecoCode: String,
                          idSalesPoint: Long
                 }
        ],
        update: [
                 {
                          id: String,
                          description: String,
                          externalId: String,
                          nature: NaturaIvaEsente,
                          noFiscalPrint: Boolean,
                          noFiscalPrintOnMixedReceipt: Boolean,
                          ventilazione: Boolean,
                          atecoCode: String
                 }
        ]
    }'

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,
      ventilazione: Boolean,
      atecoCode: String,
      idSalesPoint: Long
   }
]
Required. Array containing taxes to be created
update [
   {
      id: String,
      description: String,
      externalId: String,
      nature: NaturaIvaEsente,
      noFiscalPrint: Boolean,
      noFiscalPrintOnMixedReceipt: Boolean,
      ventilazione: Boolean,
      atecoCode: String
   }
]
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,
        ventilazione: Boolean,
        atecoCode: String
    }'

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 and mandatory 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.
ventilazione Boolean If true the tax is configured with “ventilazione” for separate accounting.
atecoCode String If ventilazione = true this code is mandatory and identifies an economic activity.

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,
        salesType: SalesType
    }'

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.
salesType SalesType Department sales type (goods or services).

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,
        salesType: SalesType
    }'

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.
salesType SalesType Department sales type (goods or services).

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,
                          salesType: SalesType
                 }
        ],
        update: [
                 {
                          id: String,
                          description: String,
                          descriptionLabel: String,
                          descriptionReceipt: String,
                          idTax: String,
                          color: String,
                          amountLimit: BigDecimal,
                          externalId: String,
                          salesType: SalesType
                 }
        ]
    }'

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,
      salesType: SalesType
   }
]
Required. Array containing department to be created
update [
   {
      id: String,
      description: String,
      descriptionLabel: String,
      descriptionReceipt: String,
      idTax: String,
      color: String,
      amountLimit: BigDecimal,
      externalId: String,
      salesType: SalesType
   }
]
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)]>&itemListVisibility=<Boolean>'
    -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)
itemListVisibility Boolean Used to apply itemList visibility rules for categories of account visibility level

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 Required. SplitPayment default configuration for organization’s sales documents
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 SalesMode.
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 default configuration for organization’s sales documents
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 SalesMode.
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,
        lotteryCode: String
    }'

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 SalesMode.
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.
lotteryCode String

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,
        lotteryCode: String
    }'

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 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.
idSalesMode String Id of related SalesMode.
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.
lotteryCode String

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,
                          lotteryCode: String
                 }
        ],
        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,
                          lotteryCode: String
                 }
        ]
    }'

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,
      lotteryCode: String
   }
]
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,
      lotteryCode: String
   }
]
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
                 }
        ],
        menu: Boolean,
        composition: Boolean,
        soldOnlyInCompositions: Boolean,
        courses: [
                 {
                          description: String,
                          position: Integer,
                          min: Integer,
                          max: Integer,
                          orderTicketCourse: Integer,
                          courseChoices: [
                                   {
                                            idProduct: String,
                                            idCategory: String,
                                            quantity: BigDecimal
                                   }
                          ]
                 }
        ],
        components: [
                 {
                          description: String,
                          position: Integer,
                          min: Integer,
                          max: Integer,
                          orderTicketCourse: Integer,
                          componentChoices: [
                                   {
                                            idProduct: String,
                                            idCategory: String,
                                            price: {
                                                     idSalesMode: String
                                                     idSalesPoint: Long
                                                     value: BigDecimal
                                            }
                                   }
                          ]
                 }
        ]
    }'

Create a new Product.

HTTP Request

POST '<hostname>/products'

Query Parameters

Parameter Type Description
description String Required. Product name.
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. For each cost ‘idSupplier’ and ‘cost’ are required fields. See Cost for further details.
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 format is not specified, barcode is a free alphanumeric sequence. 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 must be a valid URL.
menu Boolean If set to true, composition must be false.
composition Boolean If set to true, menu must be false.
soldOnlyInCompositions Boolean It can be true only if menu and composition are both false
courses [
   {
      description: String,
      position: Integer,
      min: Integer,
      max: Integer,
      orderTicketCourse: Integer,
      courseChoices: [
         {
            idProduct: String,
            idCategory: String,
            quantity: BigDecimal
         }
      ]
   }
]
List of all courses of the specified menu product (Must be null if menu is false)
components [
   {
      description: String,
      position: Integer,
      min: Integer,
      max: Integer,
      orderTicketCourse: Integer,
      componentChoices: [
         {
            idProduct: String,
            idCategory: String,
            price: {
               idSalesMode: String
               idSalesPoint: Long
               value: BigDecimal
            }
         }
      ]
   }
]
List of all components of the specified composite product (Must be null if composition is false)

Response

Parameter Type Description
id String Id of the product created.

Errors

Error Code Description
InvalidIdDepartment
InvalidIdCategory
InvalidCostIdDepartment
InvalidCourseChoiceIdProduct
InvalidCourseChoiceIdCategory
InvalidCostIdSupplier
InvalidPriceIdSalesMode
InvalidPriceIdSalesPoint
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
                 }
        ],
        menu: Boolean,
        composition: Boolean,
        soldOnlyInCompositions: Boolean,
        courses: [
                 {
                          description: String,
                          position: Integer,
                          min: Integer,
                          max: Integer,
                          orderTicketCourse: Integer,
                          courseChoices: [
                                   {
                                            idProduct: String,
                                            idCategory: String,
                                            quantity: BigDecimal
                                   }
                          ]
                 }
        ],
        components: [
                 {
                          description: String,
                          position: Integer,
                          min: Integer,
                          max: Integer,
                          orderTicketCourse: Integer,
                          componentChoices: [
                                   {
                                            idProduct: String,
                                            idCategory: String,
                                            price: {
                                                     idSalesMode: String
                                                     idSalesPoint: Long
                                                     value: BigDecimal
                                            }
                                   }
                          ]
                 }
        ]
    }'

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.
menu Boolean If set to true, composition must be false.
composition Boolean If set to true, menu must be false.
soldOnlyInCompositions Boolean It can be true only if menu and composition are both false
courses [
   {
      description: String,
      position: Integer,
      min: Integer,
      max: Integer,
      orderTicketCourse: Integer,
      courseChoices: [
         {
            idProduct: String,
            idCategory: String,
            quantity: BigDecimal
         }
      ]
   }
]
List of all courses of the specified menu product (Must be null if menu is false)
components [
   {
      description: String,
      position: Integer,
      min: Integer,
      max: Integer,
      orderTicketCourse: Integer,
      componentChoices: [
         {
            idProduct: String,
            idCategory: String,
            price: {
               idSalesMode: String
               idSalesPoint: Long
               value: BigDecimal
            }
         }
      ]
   }
]
List of all components of the specified composite product (Must be null if composition is false)

Errors

Error Code Description
InvalidId
InvalidIdDepartment
InvalidIdCategory
InvalidCostIdDepartment
InvalidCourseChoiceIdProduct
InvalidCourseChoiceIdCategory
InvalidCostIdSupplier
InvalidPriceIdSalesMode
InvalidPriceIdSalesPoint
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,
                          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
                                   }
                          ],
                          menu: Boolean,
                          composition: Boolean,
                          soldOnlyInCompositions: Boolean,
                          courses: [
                                   {
                                            description: String,
                                            position: Integer,
                                            min: Integer,
                                            max: Integer,
                                            orderTicketCourse: Integer,
                                            courseChoices: [
                                                     {
                                                              idProduct: String,
                                                              idCategory: String,
                                                              quantity: BigDecimal
                                                     }
                                            ]
                                   }
                          ],
                          components: [
                                   {
                                            description: String,
                                            position: Integer,
                                            min: Integer,
                                            max: Integer,
                                            orderTicketCourse: Integer,
                                            componentChoices: [
                                                     {
                                                              idProduct: String,
                                                              idCategory: String,
                                                              price: {
                                                                       idSalesMode: String
                                                                       idSalesPoint: Long
                                                                       value: BigDecimal
                                                              }
                                                     }
                                            ]
                                   }
                          ]
                 }
        ],
        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,
                          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
                                   }
                          ],
                          menu: Boolean,
                          composition: Boolean,
                          soldOnlyInCompositions: Boolean,
                          courses: [
                                   {
                                            description: String,
                                            position: Integer,
                                            min: Integer,
                                            max: Integer,
                                            orderTicketCourse: Integer,
                                            courseChoices: [
                                                     {
                                                              idProduct: String,
                                                              idCategory: String,
                                                              quantity: BigDecimal
                                                     }
                                            ]
                                   }
                          ],
                          components: [
                                   {
                                            description: String,
                                            position: Integer,
                                            min: Integer,
                                            max: Integer,
                                            orderTicketCourse: Integer,
                                            componentChoices: [
                                                     {
                                                              idProduct: String,
                                                              idCategory: String,
                                                              price: {
                                                                       idSalesMode: String
                                                                       idSalesPoint: Long
                                                                       value: BigDecimal
                                                              }
                                                     }
                                            ]
                                   }
                          ]
                 }
        ]
    }'

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,
      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
         }
      ],
      menu: Boolean,
      composition: Boolean,
      soldOnlyInCompositions: Boolean,
      courses: [
         {
            description: String,
            position: Integer,
            min: Integer,
            max: Integer,
            orderTicketCourse: Integer,
            courseChoices: [
               {
                  idProduct: String,
                  idCategory: String,
                  quantity: BigDecimal
               }
            ]
         }
      ],
      components: [
         {
            description: String,
            position: Integer,
            min: Integer,
            max: Integer,
            orderTicketCourse: Integer,
            componentChoices: [
               {
                  idProduct: String,
                  idCategory: String,
                  price: {
                     idSalesMode: String
                     idSalesPoint: Long
                     value: BigDecimal
                  }
               }
            ]
         }
      ]
   }
]
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,
      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
         }
      ],
      menu: Boolean,
      composition: Boolean,
      soldOnlyInCompositions: Boolean,
      courses: [
         {
            description: String,
            position: Integer,
            min: Integer,
            max: Integer,
            orderTicketCourse: Integer,
            courseChoices: [
               {
                  idProduct: String,
                  idCategory: String,
                  quantity: BigDecimal
               }
            ]
         }
      ],
      components: [
         {
            description: String,
            position: Integer,
            min: Integer,
            max: Integer,
            orderTicketCourse: Integer,
            componentChoices: [
               {
                  idProduct: String,
                  idCategory: String,
                  price: {
                     idSalesMode: String
                     idSalesPoint: Long
                     value: BigDecimal
                  }
               }
            ]
         }
      ]
   }
]
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
InvalidCourseChoiceIdProduct
InvalidCourseChoiceIdCategory
InvalidCostIdSupplier
InvalidPriceIdSalesMode
InvalidPriceIdSalesPoint
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]>&tagsAll=<List[String]>&menu=<Boolean>&composition=<Boolean>&soldOnlyInComposition=<Boolean>&externalId=<List[String]>&lastUpdateFrom=<Timestamp>&lastUpdateTo=<Timestamp>&enabledForChannels=<List[[ProductChannel](#productchannel)]>&itemListVisibility=<Boolean>'
    -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 at least one tag from list.
tagsAll List[String] Used to filter products by all tags in list.
menu Boolean Used to filter menu products
composition Boolean Used to filter composition products
soldOnlyInComposition Boolean Used to filter products sold only in composition products
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)
itemListVisibility Boolean Used to apply itemList visibility rules for categories of account visibility level

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,
        externalId: 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 internalId.
externalId String externalId.
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
InvalidPriceIdSalesPoint
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,
        externalId: 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 internalId.
externalId String externalId.
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
InvalidPriceIdSalesPoint
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,
                          externalId: 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,
                          externalId: 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,
      externalId: 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,
      externalId: 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
InvalidPriceIdSalesPoint
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,
        idDepartment: String,
        externalId: String
    }'

Create a new Salesmode.

HTTP Request

POST '<hostname>/salesmodes'

Query Parameters

Parameter Type Description
description String Required. Description.
idSalesPoint Long idSalesPoint.
idDepartment String Id of the Department.
externalId String externalId.

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,
        idDepartment: String,
        externalId: String
    }'

Update the Salesmode of the specified id.

HTTP Request

PUT '<hostname>/salesmodes/:id'

Query Parameters

Parameter Type Description
description String Description.
idDepartment String Id of the Department.
externalId String externalId.

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,
                          idDepartment: String,
                          externalId: String
                 }
        ],
        update: [
                 {
                          id: String,
                          description: String,
                          idDepartment: String,
                          externalId: String
                 }
        ]
    }'

Bulk creation/update of SalesMode.

HTTP Request

POST '<hostname>/salesmodes/batch'

Query Parameters

Parameter Type Description
create [
   {
      description: String,
      idSalesPoint: Long,
      idDepartment: String,
      externalId: String
   }
]
Required. Array containing sales mode to be created
update [
   {
      id: String,
      description: String,
      idDepartment: String,
      externalId: 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>&idsDepartment=<List[String]>&externalId=<List[String]>'
    -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.
idsDepartment List[String] Id of the Department.
externalId List[String] Used to retrieve all the sales modes having specified externalId.

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. Supplier name
vatNumber String Required. 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.

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 Supplier 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.

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?hasActiveLicense=<Boolean>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve all sales points enabled in api-key definition.

HTTP Request

GET '<hostname>/salespoint'

Query Parameters

Parameter Type Description
hasActiveLicense Boolean Retrieve only active sales points.

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 movements at or after this day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than a week.
datetimeTo Timestamp Only stock movements at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date 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 Note.
reason MovementType Reason of the movement (movement type).
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.

Currency Management

GetCurrencies

Since version: 1.0.0

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

Retrieve all the currencies

HTTP Request

GET '<hostname>/currencies'

Query Parameters

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

Response

Parameter Type Description
currencies List[Currency] 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.

AdditionalCurrency Management

GetAdditionalCurrency

Since version: 1.0.0

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

Retrieve the AdditionalCurrency of the specified id.

HTTP Request

GET '<hostname>/additionalcurrency/:id'

Response

Parameter Type Description
additionalcurrency AdditionalCurrency Returned record.

Errors

Error Code Description
InvalidId

GetAdditionalCurrencies

Since version: 1.0.0

curl -X GET '<hostname>/additionalcurrencies?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 additionalCurrencies.

HTTP Request

GET '<hostname>/additionalcurrencies'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
ids List[String] List containing ids of additionalCurrencies 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
additionalcurrencies List[AdditionalCurrency] 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.

NewAdditionalCurrency

Since version: 1.0.0

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

Create a new AdditionalCurrency.

HTTP Request

POST '<hostname>/additionalcurrency'

Query Parameters

Parameter Type Description
idCurrency Long Required. Id of the Currency
idSalesPoint Long idSalesPoint.
rate BigDecimal Required. Change rate tax factor.

Response

Parameter Type Description
id String Id of the created additionalcurrency.

Errors

Error Code Description
InvalidIdSalesPoint
InvalidIdCurrency
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

EditAdditionalCurrency

Since version: 1.0.0

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

Update the AdditionalCurrency of the specified id.

HTTP Request

PUT '<hostname>/additionalcurrency/:id'

Query Parameters

Parameter Type Description
rate BigDecimal Required. Change rate tax factor

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

BatchAdditionalCurrency

Since version: 1.0.0

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

Bulk creation/update of AdditionalCurrency.

HTTP Request

POST '<hostname>/additionalcurrency/batch'

Query Parameters

Parameter Type Description
create [
   {
      idCurrency: Long,
      idSalesPoint: Long,
      rate: BigDecimal
   }
]
Required. Array containing additionalCurrency to be created
update [
   {
      id: String,
      rate: BigDecimal
   }
]
Required. Array containing additionalCurrency to be updated

Response

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

Errors

Error Code Description
InvalidIdSalesPoint
InvalidId
InvalidIdCurrency
ConflictValue
InvalidValue

Error responses may contain details data of following type BatchError.

DeleteAdditionalCurrency

Since version: 1.0.0

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

Delete the AdditionalCurrency of the specified id.

HTTP Request

DELETE '<hostname>/additionalcurrency/:id'

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue

Tag Management

NewTag

Since version: 1.0.0

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

Create a new Tag.

HTTP Request

POST '<hostname>/tag'

Query Parameters

Parameter Type Description
value String Tag’s value.

Errors

Error Code Description
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

DeleteTag

Since version: 1.0.0

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

Delete the Tag that matches the specified value.

HTTP Request

DELETE '<hostname>/tag/:value'

Errors

Error Code Description
ConflictValue
InvalidValue

BatchTag

Since version: 1.0.0

curl -X POST '<hostname>/tag/batch'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        create: [
                 {
                          value: String
                 }
        ]
    }'

Bulk creation of Tag.

HTTP Request

POST '<hostname>/tag/batch'

Query Parameters

Parameter Type Description
create [
   {
      value: String
   }
]
Required. Array containing tags to be created

Errors

Error Code Description
ConflictValue
InvalidValue

Error responses may contain details data of following type BatchCreateError.

GetTags

Since version: 1.0.0

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

Retrieve all the tags within search parameters.

HTTP Request

GET '<hostname>/tags'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
value String Search by exact value.
query String Search by query.
lastUpdateFrom Timestamp lastUpdateFrom.
lastUpdateTo Timestamp lastUpdateTo.

Response

Parameter Type Description
tags List[String] 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.

FidelityCircuit Management

GetFidelityCircuit

Since version: 1.0.0

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

Retrieve the FidelityCircuit of the specified id.

HTTP Request

GET '<hostname>/fidelitycircuit/:id'

Response

Parameter Type Description
fidelitycircuit FidelityCircuit Returned record.

Errors

Error Code Description
InvalidId
FidelityAccountNotConfigured
InvalidIdSalesPoint

GetFidelityCircuits

Since version: 1.0.0

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

Retrieve all the fidelityCircuits.

HTTP Request

GET '<hostname>/fidelitycircuits'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
ids List[String] List containing ids of fidelityCircuits to retrieve.
idsSalesPoint List[Long] idsSalesPoint.

Response

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

Errors

Error Code Description
InvalidParams
FidelityAccountNotConfigured
InvalidIdSalesPoint

Error responses may contain details data of following type SortError.

NewFidelityCircuit

Since version: 1.0.0

curl -X POST '<hostname>/fidelitycircuit'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        idSalesPoint: Long,
        name: String,
        externalId: String,
        freeReloadEnabled: Boolean,
        freeReloadBonus: BigDecimal,
        freeReloadThreshold: BigDecimal,
        freeReloadIdDepartment: String,
        appDefault: Boolean,
        variation: BigDecimal
    }'

Create a new FidelityCircuit.

HTTP Request

POST '<hostname>/fidelitycircuit'

Query Parameters

Parameter Type Description
idSalesPoint Long [idSalesPointIdSalesPoint].
name String Name of the circuit.
externalId String externalId.
freeReloadEnabled Boolean If true the circuit allows free reload transaction.
freeReloadBonus BigDecimal Required if freeReloadEnabled is true. Bonus amount for all transactions that exceed the freeReloadThreshold limit.
freeReloadThreshold BigDecimal Required if freeReloadEnabled is true. Threshold that allows customer to have the freeReloadBonus.
freeReloadIdDepartment String Required if freeReloadEnabled is true. Default department for free reload sales
appDefault Boolean Loyalty App default circuit enables reload amounts usages to make reloads using the App.
variation BigDecimal Every customer who uses a payment device on this circuit will have this discount.

Response

Parameter Type Description
id Long Id of the created fidelitycircuit.

Errors

Error Code Description
InvalidIdSalesPoint
InvalidIdDepartment
ConflictValue
InvalidValue
FidelityAccountNotConfigured

Error responses may contain details data of following type FidelityError.

EditFidelityCircuit

Since version: 1.0.0

curl -X PUT '<hostname>/fidelitycircuit/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        idSalesPoint: Long,
        name: String,
        externalId: String,
        freeReloadEnabled: Boolean,
        freeReloadBonus: BigDecimal,
        freeReloadThreshold: BigDecimal,
        freeReloadIdDepartment: String,
        appDefault: Boolean,
        variation: BigDecimal
    }'

Update the FidelityCircuit

HTTP Request

PUT '<hostname>/fidelitycircuit/:id'

Query Parameters

Parameter Type Description
idSalesPoint Long [idSalesPointIdSalesPoint].
name String Name of the circuit.
externalId String externalId.
freeReloadEnabled Boolean If true the circuit allows free reload transaction.
freeReloadBonus BigDecimal Required if freeReloadEnabled is true. Bonus amount for all transactions that exceed the freeReloadThreshold limit.
freeReloadThreshold BigDecimal Required if freeReloadEnabled is true. Threshold that allows customer to have the freeReloadBonus.
freeReloadIdDepartment String Required if freeReloadEnabled is true. Default department for free reload sales
appDefault Boolean Loyalty App default circuit enables reload amounts usages to make reloads using the App.
variation BigDecimal Every customer who uses a payment device on this circuit will have this discount.

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue
InvalidIdSalesPoint
FidelityAccountNotConfigured

Error responses may contain details data of following type FidelityError.

DeleteFidelityCircuit

Since version: 1.0.0

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

Delete the FidelityCircuit of the specified id.

HTTP Request

DELETE '<hostname>/fidelitycircuit/:id'

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue
FidelityAccountNotConfigured

Error responses may contain details data of following type FidelityError.

FidelityCard Management

GetFidelityCard

Since version: 1.0.0

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

Retrieve the FidelityCard of the specified id.

HTTP Request

GET '<hostname>/fidelitycard/:id'

Response

Parameter Type Description
fidelityCard FidelityCard Returned record.

Errors

Error Code Description
InvalidId
FidelityAccountNotConfigured
InvalidIdSalesPoint

GetFidelityCards

Since version: 1.0.0

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

Retrieve all the FidelityCards.

HTTP Request

GET '<hostname>/fidelitycards'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
ids List[Long] List of fidelity card id.
idsSalesPoint List[Long] idsSalesPoint.
idsFidelityCircuit List[Long] List of fidelity circuit id
code List[String] Fidelity card code.
idCustomer List[String] ID of the customer who owns the fidelity card.

Response

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

Errors

Error Code Description
InvalidParams
InvalidIdSalesPoint
FidelityAccountNotConfigured

Error responses may contain details data of following type SortError.

NewFidelityCard

Since version: 1.0.0

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

Create a new FidelityCard.

HTTP Request

POST '<hostname>/fidelitycard'

Query Parameters

Parameter Type Description
idSalesPoint Long Id of the sales point that accepts the fidelity card. If not specified, the fidelity card is enabled on each point of sale.
code String Code of the card.
externalId String externalId.
idFidelityCircuit Long Id of the circuit associated to the fidelity card.
idCustomer String ID of the customer who owns the fidelity card.

Response

Parameter Type Description
id Long Id of the created fidelitycard.

Errors

Error Code Description
InvalidIdSalesPoint
ConflictValue
InvalidValue
FidelityAccountNotConfigured
InvalidIdCustomer

Error responses may contain details data of following type FidelityError.

EditFidelityCard

Since version: 1.0.0

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

Update the FidelityCard

HTTP Request

PUT '<hostname>/fidelitycard/:id'

Query Parameters

Parameter Type Description
code String The fidelity card’s code.
externalId String externalId.

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue
FidelityAccountNotConfigured

Error responses may contain details data of following type FidelityError.

DeleteFidelityCard

Since version: 1.0.0

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

Delete the FidelityCard of the specified id.

HTTP Request

DELETE '<hostname>/fidelitycard/:id'

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue
FidelityAccountNotConfigured

Error responses may contain details data of following type FidelityError.

AppCustomerDevice Management

GetAppCustomerDevices

Since version: 1.0.0

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

Retrieve all the AppCustomerDevices.

HTTP Request

GET '<hostname>/appcustomerdevices'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
ids List[Long] List of app customer device id.
idsSalesPoint List[Long] idsSalesPoint.
idCustomer String ID of the customer who owns the device.

Response

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

Errors

Error Code Description
InvalidParams
InvalidIdSalesPoint
FidelityAccountNotConfigured

Error responses may contain details data of following type SortError.

GetAppCustomerDevice

Since version: 1.0.0

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

Retrieve the AppCustomerDevice of the specified id.

HTTP Request

GET '<hostname>/appcustomerdevice/:id'

Response

Parameter Type Description
appCustomerDevice AppCustomerDevice Returned record.

Errors

Error Code Description
InvalidId
FidelityAccountNotConfigured
InvalidIdSalesPoint

FidelityPrize Management

GetFidelityPrizes

Since version: 1.0.0

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

Retrieve all the FidelityPrizes.

HTTP Request

GET '<hostname>/fidelityprizes'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
ids List[Long] List of fidelity prize id.

Response

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

Errors

Error Code Description
InvalidParams
FidelityAccountNotConfigured

Error responses may contain details data of following type SortError.

GetFidelityPrize

Since version: 1.0.0

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

Retrieve the FidelityPrize of the specified id.

HTTP Request

GET '<hostname>/fidelityprize/:id'

Response

Parameter Type Description
fidelityPrize FidelityPrize Returned record.

Errors

Error Code Description
InvalidId
FidelityAccountNotConfigured
InvalidIdSalesPoint

NewFidelityPrize

Since version: 1.0.0

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

Create a new FidelityPrize .

HTTP Request

POST '<hostname>/fidelityprize'

Query Parameters

Parameter Type Description
name String Prize name.
description String Prize long description.
image String Prize url image.

Response

Parameter Type Description
id Long Id of the created fidelityprize.

Errors

Error Code Description
ConflictValue
InvalidValue
FidelityAccountNotConfigured

Error responses may contain details data of following type FidelityError.

EditFidelityPrize

Since version: 1.0.0

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

Update the FidelityPrize

HTTP Request

PUT '<hostname>/fidelityprize/:id'

Query Parameters

Parameter Type Description
name String Prize name.
description String Prize long description.
image String Prize url image.

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue
FidelityAccountNotConfigured

Error responses may contain details data of following type FidelityError.

FidelityPointsProgram Management

GetFidelityPointsPrograms

Since version: 1.0.0

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

Retrieve all the FidelityPointsProgram.

HTTP Request

GET '<hostname>/fidelitypointsprograms'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
ids List[Long] List of fidelity points program id.
idsSalesPoint List[Long] idsSalesPoint.
name String Name of the fidelity points program.
idsFidelityCircuits List[Long] List of the fidelity circuits on a fidelity points program.

Response

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

Errors

Error Code Description
InvalidParams
FidelityAccountNotConfigured
InvalidIdSalesPoint

Error responses may contain details data of following type SortError.

GetFidelityPointsProgram

Since version: 1.0.0

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

Retrieve the FidelityPointsProgram of the specified id.

HTTP Request

GET '<hostname>/fidelitypointsprogram/:id'

Response

Parameter Type Description
fidelityPointsProgram FidelityPointsProgram Returned record.

Errors

Error Code Description
InvalidId
FidelityAccountNotConfigured
InvalidIdSalesPoint

FidelityPointsTransaction Management

GetFidelityPointsTransactions

Since version: 1.0.0

curl -X GET '<hostname>/fidelitypointstransactions?start=<Integer>&limit=<Integer>&sorts=<List[[Sort](#sort)]>&ids=<List[Long]>&dateFrom=<Timestamp>&dateTo=<Timestamp>&idFidelityCard=<List[Long]>&idAppCustomerDevice=<List[Long]>&idCustomer=<String>&fidelityPointsTransactionType=<FidelityPointsTransactionType>&idFidelityPointsProgram=<List[Long]>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve all the FidelityPointsTransaction.

HTTP Request

GET '<hostname>/fidelitypointstransactions'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
ids List[Long] List of fidelity points transaction id.
dateFrom Timestamp Only transactions created at or after this time will be considered.
dateTo Timestamp Only transactions created at or before this time will be considered.
idFidelityCard List[Long] Id of the fidelity card on which the transaction has been made
idAppCustomerDevice List[Long] Id of the AppCustomerDevice on which the transaction has been made
idCustomer String Id of the Customer that has made the transaction
fidelityPointsTransactionType FidelityPointsTransactionType The type of the transaction
idFidelityPointsProgram List[Long] Id of the fidelity points program on which the transaction has been made.

Response

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

Errors

Error Code Description
InvalidParams
FidelityAccountNotConfigured
InvalidIdSalesPoint
InvalidValue
InvalidIdCustomer

Error responses may contain details data of following type FidelityError.

NewFidelityPointsTransaction

Since version: 1.0.0

curl -X POST '<hostname>/fidelitypointstransaction'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        idFidelityPointsProgram: Long,
        idSalesPoint: Long,
        fidelityPointsTransactionType: FidelityPointsTransactionType,
        amount: BigDecimal,
        note: String,
        extraPrice: BigDecimal,
        idFidelityCard: Long,
        idAppCustomerDevice: Long,
        idCustomer: String
    }'

Create a new FidelityPointsTransaction.

HTTP Request

POST '<hostname>/fidelitypointstransaction'

Query Parameters

Parameter Type Description
idFidelityPointsProgram Long Id of the fidelity points program on which make the transaction.
idSalesPoint Long Id of the sales point on which make the transaction.
fidelityPointsTransactionType FidelityPointsTransactionType The type of the FidelityPointsTransaction.
amount BigDecimal Positive amount of the transaction
note String Note for the Fidelity Points transaction
extraPrice BigDecimal Additional price in addition to the points
idFidelityCard Long Id of the fidelity card on which make the transaction
idAppCustomerDevice Long Id of the app customer device on which make the transaction
idCustomer String Id of the Customer that makes the transaction

Response

Parameter Type Description
fidelityPointsAccount FidelityPointsAccount Returned record.

Errors

Error Code Description
InvalidIdSalesPoint
ConflictValue
InvalidValue
FidelityAccountNotConfigured
InvalidIdCustomer

Error responses may contain details data of following type FidelityError.

GetFidelityPointsTransaction

Since version: 1.0.0

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

Retrieve the FidelityPointsTransaction of the specified id.

HTTP Request

GET '<hostname>/fidelitypointstransaction/:id'

Response

Parameter Type Description
fidelityPointsTransaction FidelityPointsTransaction Returned record.

Errors

Error Code Description
InvalidId
FidelityAccountNotConfigured
InvalidIdSalesPoint

FidelityPrepaidTransaction Management

GetFidelityPrepaidTransactions

Since version: 1.0.0

curl -X GET '<hostname>/fidelityprepaidtransactions?start=<Integer>&limit=<Integer>&sorts=<List[[Sort](#sort)]>&idFidelityCard=<List[Long]>&idAppCustomerDevice=<List[Long]>&fidelityPrepaidTransactionType=<FidelityPrepaidTransactionType>&idCustomer=<String>&idsSalesPoint=<List[Long]>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve all the FidelityPrepaidTransaction.

HTTP Request

GET '<hostname>/fidelityprepaidtransactions'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
idFidelityCard List[Long] Id of the fidelityCard on which the transaction has been made
idAppCustomerDevice List[Long] Id of the AppCustomerDevice on which the transaction has been made
fidelityPrepaidTransactionType FidelityPrepaidTransactionType The type of the fidelity prepaid transaction
idCustomer String id of the Customer that has made the transaction
idsSalesPoint List[Long] idsSalesPoint.

Response

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

Errors

Error Code Description
InvalidParams
FidelityAccountNotConfigured
InvalidIdCustomer
InvalidIdSalesPoint

Error responses may contain details data of following type SortError.

GetFidelityPrepaidTransaction

Since version: 1.0.0

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

Retrieve the FidelityPrepaidTransaction of the specified id.

HTTP Request

GET '<hostname>/fidelityprepaidtransaction/:id'

Response

Parameter Type Description
fidelityPrepaidTransaction FidelityPrepaidTransaction Returned record.

Errors

Error Code Description
InvalidId
FidelityAccountNotConfigured
InvalidIdSalesPoint

NewFidelityPrepaidTransaction

Since version: 1.0.0

curl -X POST '<hostname>/fidelityprepaidtransaction'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        idFidelityCard: Long,
        idAppCustomerDevice: Long,
        fidelityPrepaidTransactionType: FidelityPrepaidTransactionType,
        idSalesPoint: Long,
        amount: BigDecimal
    }'

Create a new FidelityPrepaidTransaction .

HTTP Request

POST '<hostname>/fidelityprepaidtransaction'

Query Parameters

Parameter Type Description
idFidelityCard Long id of the FidelityCard on which make the transaction
idAppCustomerDevice Long id of the AppCustomerDevice on which make the transaction
fidelityPrepaidTransactionType FidelityPrepaidTransactionType The type of the fidelity prepaid transaction
idSalesPoint Long punto vendita su cui si fa transa
amount BigDecimal Amount of the fidelity prepaid transaction

Response

Parameter Type Description
id Long Id of the created fidelityPrepaidTransaction.
fidelityPrepaidAccount FidelityPrepaidAccount Returned fidelity points account with the updated info

Errors

Error Code Description
ConflictValue
InvalidValue
FidelityAccountNotConfigured
InvalidIdSalesPoint

Error responses may contain details data of following type FidelityError.

FidelityPrizeRedeem Management

GetFidelityPrizeRedeems

Since version: 1.0.0

curl -X GET '<hostname>/fidelityprizeredeems?start=<Integer>&limit=<Integer>&sorts=<List[[Sort](#sort)]>&id=<List[Long]>&idCustomer=<String>&idFidelityPointsProgram=<Long>&idFidelityPrizeConfig=<Long>&status=<FidelityPrizeRedeemStatus>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve all the FidelityPrizeRedeem.

HTTP Request

GET '<hostname>/fidelityprizeredeems'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
id List[Long] List of fidelity prize redeem id
idCustomer String Id of the Customer that has redeem a prize
idFidelityPointsProgram Long id of the fidelity points program
idFidelityPrizeConfig Long Id of the prize configurate for the fidelity points program
status FidelityPrizeRedeemStatus Status of the redeem

Response

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

Errors

Error Code Description
InvalidParams
FidelityAccountNotConfigured
InvalidIdSalesPoint
InvalidIdCustomer

Error responses may contain details data of following type SortError.

NewFidelityPrizeRedeem

Since version: 1.0.0

curl -X POST '<hostname>/fidelityprizeredeem'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        idSalesPoint: Long,
        idCustomer: String,
        status: FidelityPrizeRedeemStatus,
        redeemDate: Timestamp,
        deliveryDate: Timestamp,
        note: String,
        idFidelityPointsProgramPrize: Long
    }'

Create a new FidelityPrizeRedeem. It internally creates a FidelityPointsTransaction.

HTTP Request

POST '<hostname>/fidelityprizeredeem'

Query Parameters

Parameter Type Description
idSalesPoint Long Id of the sales point on which create a fidelity prize redeem.
idCustomer String Customer id for which to create the redeem.
status FidelityPrizeRedeemStatus Status of the redeem.
redeemDate Timestamp Timestamp of the redeem creation date.
deliveryDate Timestamp Date of the redeem delivery in case the redeem status is DELIVERED.
note String Additional note
idFidelityPointsProgramPrize Long idFidelityPrizeConfig

Response

Parameter Type Description
fidelityPointsAccount FidelityPointsAccount Returned fidelity points account with the updated info.

Errors

Error Code Description
ConflictValue
InvalidValue
FidelityAccountNotConfigured
InvalidIdCustomer

Error responses may contain details data of following type FidelityError.

EditFidelityPrizeRedeem

Since version: 1.0.0

curl -X PUT '<hostname>/fidelityprizeredeem/:id'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        status: FidelityPrizeRedeemStatus,
        deliveryDate: Timestamp,
        note: String
    }'

Update the FidelityPrizeRedeem. It internally creates a FidelityPointsTransaction.

HTTP Request

PUT '<hostname>/fidelityprizeredeem/:id'

Query Parameters

Parameter Type Description
status FidelityPrizeRedeemStatus The status name
deliveryDate Timestamp Date of the redeem delivery in case the redeem status is DELIVERED
note String Additional note to the redeem

Response

Parameter Type Description
fidelityPointsAccount FidelityPointsAccount Returned fidelity points account with the updated info in case the redeem status is CANCELED

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue
FidelityAccountNotConfigured

Error responses may contain details data of following type FidelityError.

FidelityPointsAccount Management

GetFidelityPointsAccounts

Since version: 1.0.0

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

Retrieve all the FidelityPointsAccount.

HTTP Request

GET '<hostname>/fidelitypointsaccounts'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
ids List[Long] List of fidelity points account id
idSalesPoint Long Id of the SalesPoint that contains the fidelity points program with their related fidelity points account
idCustomer String Id of the customer that has a fidelity points account
idsFidelityPointsPrograms List[Long] List of the fidelity points programs id

Response

Parameter Type Description
fidelityPointsAccount List[FidelityPointsAccount] Returned fidelity points account with the updated info.
totalCount Integer The total number of records matching filter parameters.

Errors

Error Code Description
InvalidParams
FidelityAccountNotConfigured
InvalidIdSalesPoint
InvalidIdCustomer

Error responses may contain details data of following type SortError.

FidelityPrepaidAccount Management

GetFidelityPrepaidAccounts

Since version: 1.0.0

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

Retrieve all the FidelityPrepaidAccount.

HTTP Request

GET '<hostname>/fidelityprepaidaccounts'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
ids List[Long] List of fidelity prepaid account id
idSalesPoint Long The id sales point where there are the fidelity prepaid accounts
idCustomer String The id of the Customer that has the fidelity prepaid account

Response

Parameter Type Description
fidelityPrepaidAccount List[FidelityPrepaidAccount] Collection of the returned record.
totalCount Integer The total number of records matching filter parameters.

Errors

Error Code Description
InvalidParams
FidelityAccountNotConfigured
InvalidIdSalesPoint
InvalidIdCustomer
InvProva

Error responses may contain details data of following type SortError.

FidelityPointsProgramPrize Management

GetFidelityPointsProgramPrizes

Since version: 1.0.0

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

Retrieve all the FidelityPointsProgramPrizes.

HTTP Request

GET '<hostname>/fidelitypointsprogramprizes'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
sorts List[Sort] sort.
idFidelityPointsProgram Long Id of the fidelity points program that contains the FidelityPointsProgramPrize

Response

Parameter Type Description
fidelityPointsProgramPrize List[FidelityPointsProgramPrize] Returned record.
totalCount Integer The total number of records matching filter parameters.

Errors

Error Code Description
InvalidParams
FidelityAccountNotConfigured
InvalidIdSalesPoint
InvalidValue

Error responses may contain details data of following type SortError.

Documents Management

GetReceipts

Since version: 1.0.0

curl -X GET '<hostname>/documents/receipts?start=<Integer>&limit=<Integer>&ids=<List[String]>&idsSalesPoint=<List[Long]>&idsDevice=<List[Long]>&datetimeFrom=<Timestamp>&datetimeTo=<Timestamp>&numbers=<List[Long]>&idOrganizations=<List[String]>&idCustomers=<List[String]>&sorts=<List[[Sort](#sort)]>&calculatedAmount=<Boolean>&idOrderSummary=<List[String]>'
    -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.
idsDevice List[Long] Used to retrieve all the bills produced from specified devices
datetimeFrom Timestamp Required if ids filter is not set. Only sales done at or after this day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than 3 days.
datetimeTo Timestamp Only sales done at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date 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.
idOrderSummary List[String] Used to retrieve summary documents.

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]>&idsDevice=<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>&idOrderSummary=<List[String]>&eInvoiceStatus=<EInvoiceStatus>'
    -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.
idsDevice List[Long] Used to retrieve all the bills produced from specified devices
datetimeFrom Timestamp Only sales done at or after this day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than 3 days.
datetimeTo Timestamp Only sales done at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date must be smaller than 3 days.
lastUpdateFrom Timestamp Only sales updated at or after this day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than 3 days.
lastUpdateTo Timestamp Only sales updated at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date 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.
idOrderSummary List[String] Used to retrieve summary documents.
eInvoiceStatus EInvoiceStatus Used to filter invoices by the status of the e-invoice associated to the document.

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 day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than 3 days.
datetimeTo Timestamp Only sales done at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date must be smaller than 3 days.
lastUpdateFrom Timestamp Only sales updated at or after this day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than 3 days.
lastUpdateTo Timestamp Only sales updated at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date 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]>&idsDevice=<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.
idsDevice List[Long] Used to retrieve all the bills produced from specified devices
datetimeFrom Timestamp Required. Only sales done at or after this day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than 3 days.
datetimeTo Timestamp Only sales done at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date 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]>&idsDevice=<List[Long]>&datetimeFrom=<Timestamp>&datetimeTo=<Timestamp>&status=<DocumentStatus>&numbers=<List[Long]>&idOrganizations=<List[String]>&idCustomers=<List[String]>&idTables=<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.
idsDevice List[Long] Used to retrieve all the bills produced from specified devices
datetimeFrom Timestamp Required. Only sales done at or after this day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than 3 days.
datetimeTo Timestamp Only sales done at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date 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 orders belonging to specified organizations.
idCustomers List[String] Used to retrieve all the orders belonging to specified customers.
idTables List[String] Used to retrieve all the orders belonging to specified table.
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,
                          idTable: String,
                          document: {
                                   idSalesPoint: Long
                                   idOrganization: String
                                   idCustomer: String
                                   taxFree: Boolean
                                   amount: BigDecimal
                                   note: String
                                   email: 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
                                                              }
                                                     ],
                                                     menu: Boolean,
                                                     composition: Boolean,
                                                     rowCourseChoices: [
                                                              {
                                                                       idCourse: String,
                                                                       idProductVariant: String,
                                                                       idProduct: String,
                                                                       idCategory: String,
                                                                       idDepartment: String,
                                                                       idTax: String,
                                                                       multiplier: BigDecimal,
                                                                       choiceModifierValues: [
                                                                                {
                                                                                         idModifierValue: String,
                                                                                         price: BigDecimal,
                                                                                         percentagePrice: BigDecimal
                                                                                }
                                                                       ]
                                                              }
                                                     ],
                                                     rowComponentChoices: [
                                                              {
                                                                       idComponent: String,
                                                                       idProductVariant: String,
                                                                       idProduct: String,
                                                                       idCategory: String,
                                                                       idDepartment: String,
                                                                       idTax: String,
                                                                       quantity: BigDecimal,
                                                                       price: BigDecimal,
                                                                       componentPrice: BigDecimal,
                                                                       choiceModifierValues: [
                                                                                {
                                                                                         idModifierValue: String,
                                                                                         price: BigDecimal,
                                                                                         percentagePrice: BigDecimal
                                                                                }
                                                                       ]
                                                              }
                                                     ]
                                            }
                                   ]
                          }
                 }
        ]
    }'

Bulk creation of Order. There are two types of orders: documental and external. Documental orders are simple sale order used for documental purposes; this orders can be visible only on MyCN portal (not in POS mobile app) and their mandatory fields follows the documented rules. The other type of orders are external orders: this orders are visible and manageable to POS mobile app and their mandatory fields follow rules based on external order settings set in MyCN portal. To create an external order the first thing to do is set ‘isExternalOrder’ property to TRUE. Some fields are mandatory only for external orders like dueDate and deliveryMode; dueDate must be a future date and must follow rules set up from MyCN portal (working hours, capacity limits, minimum order processing time).

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,
      idTable: String,
      document: {
         idSalesPoint: Long
         idOrganization: String
         idCustomer: String
         taxFree: Boolean
         amount: BigDecimal
         note: String
         email: 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
                  }
               ],
               menu: Boolean,
               composition: Boolean,
               rowCourseChoices: [
                  {
                     idCourse: String,
                     idProductVariant: String,
                     idProduct: String,
                     idCategory: String,
                     idDepartment: String,
                     idTax: String,
                     multiplier: BigDecimal,
                     choiceModifierValues: [
                        {
                           idModifierValue: String,
                           price: BigDecimal,
                           percentagePrice: BigDecimal
                        }
                     ]
                  }
               ],
               rowComponentChoices: [
                  {
                     idComponent: String,
                     idProductVariant: String,
                     idProduct: String,
                     idCategory: String,
                     idDepartment: String,
                     idTax: String,
                     quantity: BigDecimal,
                     price: BigDecimal,
                     componentPrice: BigDecimal,
                     choiceModifierValues: [
                        {
                           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

Sub-errors types:

  • due date (only for for external orders - mandatory, future date considering minimum elaboration time and working hours): ‘MISSING_DUE_DATE’, ‘INVALID_DUE_DATE’.
  • capacity limits: ‘MAXIMUM_CAPACITY_REACHED’.
  • delivery mode (): ‘MISSING_DELIVERY_MODE’, ‘INVALID_DELIVERY_MODE’, ‘MISSING_DESTINATION’.
InvalidIdSalesPoint
InvalidId
InputSizeExceeded
InvalidIdOrganization
InvalidIdCustomer
InvalidRowIdProduct
InvalidRowIdDepartment
InvalidRowIdTax
InvalidRowIdSalesMode
InvalidRowIdModifier
InvalidRowCourseIdCourse
InvalidRowCourseIdProductVariant
InvalidRowCourseIdProduct
InvalidRowCourseIdCategory
InvalidRowCourseIdDepartment
InvalidRowCourseIdTax
InvalidRowCourseChoiceModifierIdModifier

Error responses may contain details data of following type BatchCreateError.

EditOrderPrepayment

Since version: 1.0.0

curl -X PUT '<hostname>/documents/orders/:id/prepayment'
    -H 'Content-Type:application/json'
    -H 'X-Requested-With: *'
    -H 'X-Version: 1.0.0'
    -H 'Authorization: Bearer <bearer-token>'
    -d '{
        prepay: Boolean,
        prepaymentStatus: PrepaymentStatus,
        prepaymentTransactionId: String,
        prepaymentType: PrepaymentType
    }'

Update the Order prepayment data of the specified id.

HTTP Request

PUT '<hostname>/documents/orders/:id/prepayment'

Query Parameters

Parameter Type Description
prepay Boolean True/false represents the status of prepayment.
prepaymentStatus PrepaymentStatus Prepayment status of the order.
prepaymentTransactionId String Prepayment transaction id of the order.
prepaymentType PrepaymentType Prepayment type of the order.

Errors

Error Code Description
InvalidId
ConflictValue
InvalidValue

Error responses may contain details data of following type SyncError.

GetQuotations

Since version: 1.0.0

curl -X GET '<hostname>/documents/quotations?start=<Integer>&limit=<Integer>&idsSalesPoint=<List[Long]>&idsDevice=<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.
idsDevice List[Long] Used to retrieve all the bills produced from specified devices
datetimeFrom Timestamp Required. Only sales done at or after this day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than 3 days.
datetimeTo Timestamp Only sales done at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date 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]>&idsDevice=<List[Long]>&datetimeFrom=<Timestamp>&datetimeTo=<Timestamp>&status=<DocumentStatus>&refundNumbers=<List[Long]>&idOrganizations=<List[String]>&idCustomers=<List[String]>&sorts=<List[[Sort](#sort)]>&calculatedAmount=<Boolean>&eInvoiceStatus=<EInvoiceStatus>'
    -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.
idsDevice List[Long] Used to retrieve all the bills produced from specified devices
datetimeFrom Timestamp Required. Only sales done at or after this day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than 3 days.
datetimeTo Timestamp Only sales done at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date 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.
eInvoiceStatus EInvoiceStatus Used to filter credit notes by the status of the e-invoice associated to the document.

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]>&idsDevice=<List[Long]>&datetimeFrom=<Timestamp>&datetimeTo=<Timestamp>&idOrganizations=<List[String]>&idCustomers=<List[String]>&sorts=<List[[Sort](#sort)]>&calculatedAmount=<Boolean>&idOrderSummary=<List[String]>&summaryDocument=<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.
idsDevice List[Long] Used to retrieve all the bills produced from specified devices
datetimeFrom Timestamp Required. Only sales done at or after this day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than 3 days.
datetimeTo Timestamp Only sales done at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date 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.
idOrderSummary List[String] Used to retrieve summary documents.
summaryDocument Boolean If set to true, retrieve the summary bill with the idOrderSummary associated (default=false).

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.

PurchaseDocument Management

GetPurchaseInvoices

Since version: 1.0.0

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

Retrieve purchase invoices

HTTP Request

GET '<hostname>/purchasedocuments/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 purchases done at or after this day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than 3 days.
datetimeTo Timestamp Only purchases done at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date must be smaller than 3 days.
lastUpdateFrom Timestamp Only purchases updated at or after this day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than 3 days.
lastUpdateTo Timestamp Only purchases updated at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date 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.
idSuppliers List[String] Used to retrieve all the purchase invoices belonging to specified supplier.
sorts List[Sort] sort.

Response

Parameter Type Description
totalCount Integer Total number of Purchase invoice.
purchaseInvoices List[PurchaseInvoice] Returned records.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

GetPurchaseDDT

Since version: 1.0.0

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

Retrieve the DDT of the specified id.

HTTP Request

GET '<hostname>/purchasedocuments/ddts/:id'

Response

Parameter Type Description
ddt PurchaseDDT Returned record.

Errors

Error Code Description
InvalidId

GetPurchaseDDTs

Since version: 1.0.0

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

Retrieve DDTs

HTTP Request

GET '<hostname>/purchasedocuments/ddts'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
idsSalesPoint List[Long] idsSalesPoint.
datetimeFrom Timestamp Required. Only purchases done at or after this day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than 3 days.
datetimeTo Timestamp Only purchases done at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date 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.
idSuppliers List[String] Used to retrieve all the purchase ddts belonging to specified supplier.
sorts List[Sort] sort.

Response

Parameter Type Description
totalCount Integer Total number of Purchase ddts.
purchaseDdts List[PurchaseDDT] Returned records.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

GetPurchaseOrders

Since version: 1.0.0

curl -X GET '<hostname>/purchasedocuments/orders?start=<Integer>&limit=<Integer>&idsSalesPoint=<List[Long]>&datetimeFrom=<Timestamp>&datetimeTo=<Timestamp>&status=<DocumentStatus>&numbers=<List[Long]>&idSuppliers=<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>/purchasedocuments/orders'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
idsSalesPoint List[Long] idsSalesPoint.
datetimeFrom Timestamp Required. Only purchases done at or after this day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than 3 days.
datetimeTo Timestamp Only purchases done at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date 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.
idSuppliers List[String] Used to retrieve all the purchase orders belonging to specified supplier.
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 Purchase orders.
purchaseOrders List[PurchaseOrder] Returned records.

Errors

Error Code Description
InvalidParams

Error responses may contain details data of following type SortError.

BatchPurchaseDDT

Since version: 1.0.0

curl -X POST '<hostname>/purchasedocuments/ddts/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,
                          status: DocumentStatus,
                          date: Timestamp,
                          destinationStreet: String,
                          destinationCountry: String,
                          destinationCity: String,
                          destinationZipcode: String,
                          destinationDistrict: String,
                          supplierNumber: String,
                          needInvoice: Boolean,
                          packages: Integer,
                          weight: BigDecimal,
                          appearance: String,
                          transportReason: String,
                          transporter: Transporter,
                          carrierName: String,
                          carrierFirstname: String,
                          carrierLastname: String,
                          carrierVatNumber: String,
                          carrierCountry: String,
                          transportNote: String,
                          costs: Boolean,
                          purchaseDocument: {
                                   idSalesPoint: Long
                                   idSupplier: String
                                   taxFree: Boolean
                                   amount: BigDecimal
                                   note: String
                                   supplierDate: Timestamp
                                   supplierDateTime: Timestamp
                                   rows: [
                                            {
                                                     rowNumber: Integer,
                                                     idProductVariant: String,
                                                     idDepartment: String,
                                                     idTax: String,
                                                     quantity: BigDecimal,
                                                     cost: BigDecimal,
                                                     subtotal: Boolean,
                                                     percentageVariation: BigDecimal,
                                                     variation: BigDecimal,
                                                     note: String
                                            }
                                   ]
                          }
                 }
        ]
    }'

Bulk creation of Order.

HTTP Request

POST '<hostname>/purchasedocuments/ddts/batch'

Query Parameters

Parameter Type Description
create [
   {
      externalId: String,
      status: DocumentStatus,
      date: Timestamp,
      destinationStreet: String,
      destinationCountry: String,
      destinationCity: String,
      destinationZipcode: String,
      destinationDistrict: String,
      supplierNumber: String,
      needInvoice: Boolean,
      packages: Integer,
      weight: BigDecimal,
      appearance: String,
      transportReason: String,
      transporter: Transporter,
      carrierName: String,
      carrierFirstname: String,
      carrierLastname: String,
      carrierVatNumber: String,
      carrierCountry: String,
      transportNote: String,
      costs: Boolean,
      purchaseDocument: {
         idSalesPoint: Long
         idSupplier: String
         taxFree: Boolean
         amount: BigDecimal
         note: String
         supplierDate: Timestamp
         supplierDateTime: Timestamp
         rows: [
            {
               rowNumber: Integer,
               idProductVariant: String,
               idDepartment: String,
               idTax: String,
               quantity: BigDecimal,
               cost: BigDecimal,
               subtotal: Boolean,
               percentageVariation: BigDecimal,
               variation: BigDecimal,
               note: String
            }
         ]
      }
   }
]
Required. Array containing orders to be created (max 100)

Response

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

Errors

Error Code Description
ConflictValue
InvalidValue
InvalidIdSalesPoint
InvalidId
InputSizeExceeded
InvalidIdSupplier
InvalidRowIdProduct
InvalidRowIdDepartment
InvalidRowIdTax
InvalidRowIdModifier

Error responses may contain details data of following type BatchCreateError.

Risto Management

GetRooms

Since version: 1.0.0

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

Retrieve all the restaurant rooms

HTTP Request

GET '<hostname>/risto/rooms'

Query Parameters

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

Response

Parameter Type Description
rooms List[Room] 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.

GetTables

Since version: 1.0.0

curl -X GET '<hostname>/risto/tables?start=<Integer>&limit=<Integer>&idsSalesPoint=<List[Long]>&sorts=<List[[Sort](#sort)]>&ids=<List[String]>&name=<String>&idsRoom=<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 restaurant tables

HTTP Request

GET '<hostname>/risto/tables'

Query Parameters

Parameter Type Description
start Integer Required. start.
limit Integer Required. limit.
idsSalesPoint List[Long] Required. idsSalesPoint.
sorts List[Sort] sort.
ids List[String] List containing ids of categories to retrieve.
name String Text, case not sensitive, which returned records name is like to.
idsRoom List[String] List of restaurant rooms ids to which considered table must be related.
externalId List[String] Used to retrieve all the tables having specified externalId.
lastUpdateFrom Timestamp lastUpdateFrom.
lastUpdateTo Timestamp lastUpdateTo.

Response

Parameter Type Description
tables List[Table] 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.

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]>&idsDevice=<List[Long]>'
    -H 'Content-Type:application/json'
    -H 'X-Version: 1.0.0' 
    -H 'Authorization: Bearer <bearer-token>'

Retrieve reconciliations

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 reconciliations done at or after this day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than a year.
datetimeTo Timestamp Only reconciliations done at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date must be smaller than a year.
idsSalesPoint List[Long] idsSalesPoint.
idsDevice List[Long] Used to retrieve all the reconciliations produced from specified devices

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 day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than a year.
datetimeTo Timestamp Only sales done at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date 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 day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than a year.
datetimeTo Timestamp Only sales done at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date 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 day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than a year.
datetimeTo Timestamp Only sales done at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date 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]>&menuMode=<MenuReportMode>'
    -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 day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than a year.
datetimeTo Timestamp Only sales done at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date 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.
menuMode MenuReportMode Data aggregation mode for menu products

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 day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than a year.
datetimeTo Timestamp Only sales done at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date 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

SoldByDocumentType Management

GetSoldByDocumentType

Since version: 1.0.0

curl -X GET '<hostname>/reports/sold/documenttypes?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 document type report

HTTP Request

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

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 day will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the beginning of the day. The time interval between from and to date must be smaller than a year.
datetimeTo Timestamp Only sales done at or before this time will be considered. Values supported are only timestamp (in milliseconds) and string with format “YYYY-MM-DD” (double quotes is mandatory). Time is set by API at the end of the day. The time interval between from and to date must be smaller than a year.

Response

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

Errors

Error Code Description
InvalidParams

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

AdditionalCurrency

An AdditionalCurrency defines an alternative currency available in sale interface to view prices, costs and amounts converted in another currency.

Parameter Type Description
id String Id.
idCurrency Long Id of the Currency applied on department.
currency Currency Currency applied on department.
idSalesPoint Long idSalesPoint.
lastUpdate Timestamp lastUpdate.
rate BigDecimal Rate of the currency

AppCustomerDevice

AppCustomerDevice defines a loyalty app installation on a device.

Parameter Type Description
id Long Id.
idCustomer String The id of the customer that is the owner of the app customer device
idSalesPoint Long idSalesPoint.
idFidelityCircuit Long The id of the Fidelity Circuit which the App Customer Device refers to
idDevice String Mobile device identifier
manifacturer String Brand of the device
model String Model of the device
os String Operating system of the device
activationDate Timestamp Device registration date in the fidelity system

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

The Barcode is an identification code of a Product.

Parameter Type Description
value String Barcode value.
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

Bill document.

Parameter Type Description
id String Id.
document Document Body of the bill.
date Timestamp Creation date.
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 Category name.
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.

ChoiceModifierValue

List of modifiers associated with that choice

Parameter Type Description
idModifier String Id of the Modifier related to the choice modifier value.
idModifierValue String Id of the choice modifier value referred to this choice modifier value.
price BigDecimal Price of the modifier value.
percentagePrice BigDecimal Percentage price of the modifier value.

Component

Component serves as a representation of an individual item within a composite product.

Parameter Type Description
id String Id.
idProduct String Id of the product related to the component.
description String Name of the component.
position Integer Used to sort the components inside the composition.
min Integer Minimum number of choices that this component accepts.
max Integer Maximum number of choices that this component accepts.
componentChoices List[ComponentChoice] List of component choices referred to this composition.

ComponentChoice

ComponentChoice serves as a representation of an specific choice within a component.

Parameter Type Description
id String Id.
idComponent String Id of the component referred to this component choice.
idProduct String Id of the product related to this component choice (if it’s set, idCategory must be null).
idCategory String Id of the category related to this component choice (if it’s set, idProduct must be null).
product Product Represents the product related to this component choice (set only if idProduct is set and category must be null).
category Category Represents the category related to this component choice (set only if idCategory is set and product must be null).
price Price Represent the custom price of the single component choice: the total price of a composite product is the sum of the prices of the selected choices.

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.

Course

Course represents a specific dish within a menu.

Parameter Type Description
id String Id.
idProduct String Id of the product related to the course.
description String Name of the course.
position Integer Used to sort the courses inside the menu.
min Integer Minimum number of choices that this course accepts.
max Integer Maximum number of choices that this course accepts.
orderTicketCourse Integer Represents the position of the course inside the menu.
courseChoices List[CourseChoice] List of course choices referred to this course.

CourseChoice

CourseChoice represents a specific choice within a course.

Parameter Type Description
id String Id.
idCourse String Id of the course referred to this course choice.
idProduct String Id of the product related to this course choice (if it’s set, idCategory must be null).
idCategory String Id of the category related to this course choice(if it’s set, idProduct must be null).
quantity BigDecimal Represents the quantity that the single choice impacts on the course.
product Product Represents the product related to this course choice (set only if idProduct is set and category must be null).
category Category Represents the category related to this course choice (set only if idCategory is set and product must be null).

CreditNote

Credit Note document.

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 Credit Note extra data nature.
extraDataCCC String Credit Note extra data CCC.
extraDataCUP String Credit Note extra data CUP.
extraDataCIG String Credit Note extra data CIG.
eInvoiceStatus EInvoiceStatus EInvoice status.

Currency

A Currency defines the currency configured in the account, referenced for prices, costs and amounts in configuration, reports, sales and purchases.

Parameter Type Description
id Long Id of the currency
code String Code ISO 4217.
name String Name.
numberOfDecimals Integer Number of decimals.

CustomPayment

A CustomPayment is a custom payment defined by the user to cover payments not present in the default ones.

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

Customer

A Customer is natural person which sales documents can be registered.

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.
lotteryCode String Alphanumeric code essential to participate in the receipt lottery.

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 Destination Country code ISO 3166-1 alpha-2. 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 Carrier Country code ISO 3166-1 alpha-2. 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

A Department represents a sales area of a set of Products. A Department has a Tax associated (mandatory relation) and It can be related to many Products

Parameter Type Description
id String Id.
description String Department name.
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.
salesType SalesType Department sales type (goods or services).

Document

Represent the body of a sales document.

Parameter Type Description
id String Id.
idSalesPoint Long idSalesPoint.
idDevice Long Id of the device from which the document was produced.
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[DocumentRow] List of rows of the document.
payments List[Payment] List of payments associated to the document.
orderSummary OrderSummary Table info related to document.
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.
externalId String externalId.
email String Email address to which the smart receipt is sent.
documentConnectionSources DocumentConnections Documents from which this was generated.
documentConnectionDestinations DocumentConnections Documents generated from this.

DocumentConnections

Document connetions

Parameter Type Description
orders List[Order] List of orders connected to the document.
invoices List[Invoice] List of invoices connected to the document.
ddts List[DDT] List of ddts connected to the document.
quotations List[Quotation] List of quotations connected to the document.
receipts List[Receipt] List of receipts connected to the document.
bills List[Bill] List of bills connected to 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

Document reason of the document.

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

DocumentRow

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.
composition Boolean If set to true, the row contains a composition 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.
salesType SalesType Sales type (goods or services) of the Department.
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.
sharedPaymentReason String Indicates the reason behind a shared payment on a restaurant bill
rowCourseChoices List[RowCourseChoice] Represents a list of selections made within a course of a menu item
rowComponentChoices List[RowComponentChoice] Represents a list of selections made within a component of a composition item

EInvoicePresignedURL

E-Invoice XML file.

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

EntityDetails

Parameter Type Description
index Integer
id String
externalId String

FidelityCard

FidelityCard defines a physical card identifier for fidelity system. A fidelity card could be anonymous or related to a Customer.

Parameter Type Description
id Long Id.
lastUpdate Timestamp lastUpdate.
idSalesPoint Long Id of the sales point that accepts the fidelity card. If not specified, the fidelity card is enabled on each point of sale.
code String Code of the card.
activationDate Timestamp Date of fidelity card activation.
activationChannel FidelityChannel Channel of fidelity card activation.
externalId String externalId.
idFidelityCircuit Long Id of the circuit associated to the fidelity card.
idCustomer String ID of the customer who owns the fidelity card.

FidelityCircuit

FidelityCircuit defines a circuit in which prepaid and points transactions take place.

Parameter Type Description
id Long Id.
idSalesPoint Long idSalesPoint.
lastUpdate Timestamp lastUpdate.
name String Name of the fidelity circuit
externalId String externalId.
freeReloadEnabled Boolean If true the circuit allows free reload transaction. If false, the given freeReloadBonus, freeReloadThreshold, freeReloadIdDepartment were ignored
freeReloadBonus BigDecimal Required if freeReloadEnabled is true. Bonus amount for all transactions that exceed the freeReloadThreshold limit.
freeReloadThreshold BigDecimal Required if freeReloadEnabled is true. Threshold that allows customer to have the freeReloadBonus.
freeReloadIdDepartment String Required if freeReloadEnabled is true. Default department for free reload sales
appDefault Boolean Loyalty App default circuit enables reload amounts usages to make reloads using the App.
variation BigDecimal Every customer who uses a payment device on this circuit will have this discount.

FidelityError

Error codes descriptions:
2 Forbidden request due to lack of permissions or account/sales points visibilty.
5 Missing mandatory parameters in current request.
10 Device not found.
200 Fidelity module not found for this device activation.
201 Fidelity configuration not found for selected salespoint.
202 Fidelity sales point not found.
203 Fidelity communication not found.
204 Fidelity promo not found.
205 Promo validity expired.
206 Promo limit exceeded.
207 The fidelity card cannot be assigned to given customer.
208 Some fidelity customers with this name already exists.
209 Unable to create an account level fidelity card with initial amount.
210 Unable to create an card due to a negative or wrong initial amount.
211 Fidelity card not found.
212 Fidelity customer not found.
213 Fidelity customer data are wrong or uncompleted.
214 Fidelity prepaid account not found.
215 Missing required ID app customer device.
216 Missing required promo usages.
217 Some fidelity cards with this code already exists.
218 Missing fidelity identifier reference.
219 Fidelity communication not visible.
220 Fidelity points account not found.
300 Free reload id department is required.
301 The specified fidelity circuit doesn’t exist.
303 IdFidelityCard or IdAppCustomerDevice are required.
304 Only one between IdFidelityCard or IdAppCustomerDevice is required.
306 Cannot delete a circuit with cards or app associated.
307 Cannot delete a circuit which is appDefault.
309 appDefault can be true only if circuit has an account visibility.
308 Only CORRECTION or PRIZE_REDEEM types are admitted.
310 idFidelityPrizeRedeem is required.
311 Only DELIVERED or ORDERED status are admitted.
312 DeliveryDate is required.
313 Cannot edit FidelityPrizeRedeem with CANCELED status.
312 DeliveryDate is required.

Parameter Type Description
msg String Error description
errorType Integer Error type, see above for more information

FidelityIdentifier

Parameter Type Description
idFidelityAccount String Id of the FidelityAccount
idFidelitySalesPoint String Id of the FidelitySalesPoint
idFidelityCircuit String Id of the FidelityCircuit
idFidelityCustomer String Id of the FidelityCustomer
idFidelityCard String Id of the FidelityCard
lastUpdate String last update

FidelityPointsAccount

FidelityPointsAccount defines an account of points in a fidelity points context

Parameter Type Description
id Long Id.
idCustomer String The customer that has the fidelity points account
amount BigDecimal The remaining points amount
lastUpdate Timestamp lastUpdate.
idFidelityPointsProgram Long The fidelity points program which fidelity points account refers to

FidelityPointsProgram

FidelityPointsProgram defines a points collection campaign.

Parameter Type Description
id Long Id.
name String Fidelity points program description
validityStartDate Timestamp Date from which the points program starts his validity
validityEndDate Timestamp Date from which the points program ends his validity
pointsValidityEndDate Timestamp Without points validity end date, default date will be the validity end date.
pointsConversionFactor BigDecimal Used with currencyConversionFactor for the currency to points conversion. Example: 1� corresponds to 10 points
currencyConversionFactor BigDecimal Used with pointsConversionFactor for the currency to points conversion. Example: 1� corresponds to 10 points
combinable Boolean If false this points program is not combinable with other campaign and then users must select only one points program for each transaction.
priority Integer In case of multiple not combinable points programs, the one with the lowest priority will be automatically selected.
idsSalesPoints List[Long] The points program will only be visible on selected sales points, using devices of selected circuits. Sales points can only be selected if at least an usable circuit inside it is selected and if the fidelity classic module is active.
idsFidelityCircuits List[Long] List of fidelity circuits ids that defines which fidelity identifiers (cards, devices, …) can be used to earn points.

FidelityPointsProgramPrize

FidelityPointsProgramPrize defines a relation between FidelityPointsProgram and FidelityPrize.

Parameter Type Description
id Long Id.
idFidelityPrize Long Id of the prize associated in the points program.
creationDate Timestamp Time stamp of the creation date.
points BigDecimal Number of points required to redeem the prize.
extraPrice BigDecimal Extra price required to redeem the prize.

FidelityPointsTransaction

FidelityPointsTransaction defines a transaction of points in a fidelity points campaign context.

Parameter Type Description
id Long Id.
idFidelityCard Long The Id of the FidelityCard of the transaction
idAppCustomerDevice Long The Id of the AppCustomerDevice of the transaction
idFidelityPointsProgram Long The Id of the FidelityPointsProgram where the transaction is made
idSalesPoint Long idSalesPoint.
date Timestamp The Fidelity Points Transaction time stamp
fidelityPointsTransactionType FidelityPointsTransactionType The Fidelity Points Transaction type
amount BigDecimal The amount of the Fidelity Points Transaction.
note String Additional note to the Fidelity Points Transaction.
extraPrice BigDecimal Additional price optionally added to the prize redeem
idFidelityPrizeRedeem Long The id of the Fidelity Prize Redeem in case the status is PRIZE_REDEEM

FidelityPrepaidAccount

FidelityPrepaidAccount defines an account of prepaid credit in a fidelity prepaid context.

Parameter Type Description
id Long Id.
idCustomer String The id of the customer that has the fidelity prepaid account
idSalesPoint Long idSalesPoint.
amount BigDecimal The remaining amount
lastUpdate Timestamp lastUpdate.

FidelityPrepaidTransaction

FidelityPrepaidTransaction defines a transaction of prepaid credit in a fidelity prepaid context.

Parameter Type Description
id Long Id.
idFidelityCard Long The id of the FidelityCard that makes the transaction
idSalesPoint Long idSalesPoint.
idCustomer String The Id of the Customer that makes the transaction
date Timestamp The Fidelity Prepaid Transaction time stamp
fidelityPrepaidTransactionType FidelityPrepaidTransactionType The type of the Fidelity Prepaid Transaction
amount BigDecimal The amount to add
idAppCustomerDevice Long The id of the AppCustomerDevice that makes the transaction

FidelityPrize

FidelityPrize defines a prize in fidelity points system. A prize could be related to many FidelityPointsProgram with FidelityPointsProgramPrize entity.

Parameter Type Description
id Long Id.
name String Prize name.
description String Prize long description.
image String Prize url image.

FidelityPrizeRedeem

FidelityPrizeRedeem defines a redeem of a points campaign prize.

Parameter Type Description
id Long Id.
idFidelityPrizeConfig Long
idCustomer String Id of the customer that has redeem the prize
status FidelityPrizeRedeemStatus Status of the redeem
lastUpdate Timestamp lastUpdate.
redeemDate Timestamp Redeem creation date
deliveryDate Timestamp Redeem setting status to delivery date
idFidelityPointsTransactions List[Long] List of the of the fidelity points transaction id
note String Additional note to the redeem
fidelityPointsProgramPrize FidelityPointsProgramPrize The FidelityPrizeConfig

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 Destination Country code ISO 3166-1 alpha-2. 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 Carrier Country code ISO 3166-1 alpha-2. 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 Invoice extra data document ID.
extraDataDate Datetime Invoice extra data date.
extraDataNature ExtraDataNature Invoice extra data nature.
extraDataCCC String Invoice extra data CCC.
extraDataCUP String Invoice extra data CUP.
extraDataCIG String Invoice extra data CIG.
splitPayment Boolean If set to true the invoice is in split payment.
eInvoiceStatus EInvoiceStatus EInvoice status.

Modifier

Modifier is an Option that can be applied ‘on the fly’ to an 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 OptionValue 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 an 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 for multivariants Products or Modifier.

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

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 name.
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
code String Order code
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
deliveryChannel String Delivery channel/vector
deliveryMode DeliveryMode Delivery mode for external-channel orders
destinationStreet String Delivery street for external-channel orders
destinationCountry String Destination Country code ISO 3166-1 alpha-2. 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
idTable String ID Table
document Document Body of the order.

OrderSummary

OrderSummery defines table info related to sales documents.

Parameter Type Description
id String Id.
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.
idTable String ID Table.
tableName String Table name.
code String Code of the order.

Organization

An Organization is legal person which sales documents can be registered.

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 email.
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

Outgoing Movement defines a Product or a ProductVariant (if product is multivariant) load or unload outgoing movement in warehouse.

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

A document could have one or multiple payments.

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 Product name.
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.
menu Boolean If set to true, this product is a menu, and composition must be false.
composition Boolean If set to true, this product is a composite product, and menu must be false.
courses List[Course] List of courses of a product with menu=true
components List[Component] List of components of a product with composition=true.
soldOnlyInCompositions Boolean If set to true, this product can be sold only in components from composition; it’s not present in product with menu=true or composition=true.

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 internalId.
externalId String externalId.
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.

PurchaseDDT

Purchase DDT document.

Parameter Type Description
id String Id.
status DocumentStatus Document status (confirmed or draft).
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 Destination Country code ISO 3166-1 alpha-2. 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 Carrier Country code ISO 3166-1 alpha-2. 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.
purchaseDocument PurchaseDocument Body of the DDT.
documentNumbering DocumentNumbering DDT prefix or suffix, can be null.
costs Boolean If set to true, cost management on document rows is enabled (default=false).
needInvoice Boolean If true, an invoice corresponding to the DDT is emitted

PurchaseDocument

Represent the body of a purchase document.

Parameter Type Description
id String Id.
idSalesPoint Long idSalesPoint.
idSupplier String Id of the Supplier(#supplier) to which the document refers.
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.
rows List[PurchaseDocumentRow] List of rows of the document.
userType UserType Type of the user who creates the document.
user User Details of the user who creates the document.
note String Additional note.
externalId String externalId.
documentConnectionSources PurchaseDocumentConnections Documents from which this was generated.
documentConnectionDestinations PurchaseDocumentConnections Documents generated from this.

PurchaseDocumentConnections

Purchase document connetions

Parameter Type Description
orders List[PurchaseOrder] List of purchase orders connected to the document.
invoices List[PurchaseInvoice] List of purchase invoices connected to the document.
ddts List[PurchaseDDT] List of purchase ddts connected to the document.

PurchaseDocumentRow

Every purchase document is composed of one or multiple rows. Any row represents a product purchase, department purchase or subtotal. The amount of the row must be calculated taking into account cost, quantity, percentage variation, variation 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.
idProduct String Id of the Product. Could be null if the row represents a subtotal, department purchase or cover charge.
idProductVariant String Id of the ProductVariant
idCategory String Id of the Category of the product at the time of purchase.
idDepartment String Id of the Department. If idProduct and idProductVariant are both null the row represents a department purchase.
salesType SalesType Department sales type (goods or services).
idTax String Id of the Tax applied on department at the time of purchase.
stockMovementEnabled Boolean If set to true, the row generate a stock movement equal to the row quantity.
idStockMovement String Id of the StockMovement.
idIncomingMovement String Id of the idIncomingMovement.
rowNumber Integer Row number, useful to order the rows.
quantity BigDecimal Quantity of the row.
cost BigDecimal Cost 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.
note String Additional note.

PurchaseInvoice

Fiscal purchase invoice document.

Parameter Type Description
id String Id.
status DocumentStatus Document status (confirmed or draft).
number Long Number of the document.
date Timestamp Creation date.
datetime Datetime Registration date.
dueDatetime Datetime Expiration date.
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 Destination Country code ISO 3166-1 alpha-2. 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 Carrier Country code ISO 3166-1 alpha-2. 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.
purchaseDocument PurchaseDocument Body of the invoice.
documentNumbering DocumentNumbering Invoice prefix or suffix, can be null.

PurchaseOrder

Purchase 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
status OrderStatus Order Status
date Timestamp Creation date.
datetime Datetime Registration date.
destinationStreet String Delivery street for external-channel orders
destinationCountry String Destination Country code ISO 3166-1 alpha-2. 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
transportNote String Transport note for external-channel orders
purchaseDocument PurchaseDocument Body of the order.

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.
lotteryCode String

Reconciliation

Entità che modella le chiusure contabili (chiusure di cassa). Non esistono limiti sul numero di chiusure contabili effettuabili nell'arco di una giornata contabile. Se reconciliationType è RT_10 tutti i campi sono conformi al tracciato telematico dei dati dei corrispettivi giornalieri (versione XML 7.0). I campi cashAmount, electronicAmount, discountOnPaymentAmount, ticketsAmount e ticketsCount sono valorizzati solo se reconciliation type è RT_10.

Parameter Type Description
id String Id
idSalesPoint Long idSalesPoint.
idDevice Long Id of the device from which the reconciliation was produced.
number Long Numero della chiusura contabile riportato sullo scontrino emesso dal registratore fiscale.
receiptsCount Integer Numero totale degli scontrini fiscali di vendita, annullo e note di credito emessi nella giornata. Se reconciliationType è diverso da RT o RT_10 il totale non comprende gli scontrini annullati e le note di credito.
receiptsAmount BigDecimal Importo totale di tutti gli scontrini fiscali emessi nella giornata. Il totale non considera gli scontrini annullati o le note di credito che di conseguenza non vengono sottratti.
notCachedAmount BigDecimal Importo totale di tutti i pagamenti non riscossi derivati da scontrini fiscali. Se reconciliation type è RT_10 vengono considerati i soli pagamenti di tipo non riscosso servizi (PaymentType VOUCHER, CUSTOM con collectableType di tipo UNCOLLECTED_SERVICES) e gli eventuali scontrini annullati vengono decurtati. In caso contrario vengono considerati tutti i pagamenti non riscossi (PaymentType VOUCHER, TICKET, DEFERRED, VOUCHER_GOODS, FIDELITYCARD e CUSTOM con collectableType di tipo UNCOLLECTED_SERVICES o UNCOLLECTED_GOODS ) e gli scontrini annullati vengono ignorati.
firstInvoice String Numero sequenziale della prima fattura emessa nella giornata contabile.
lastInvoice String Numero sequenziale dell'ultima fattura emessa nella giornata contabile.
invoicesCount Integer Numero totale delle fatture emesse nella giornata contabile.
directInvoicesAmount BigDecimal Importo totale di tutte le fatture emesse nella giornata. Eventuali fatture eliminate non vengono considerate.
creditNotesCount Integer Numero totale di note di credito emesse nella giornata.
creditNotesAmount BigDecimal Importo totale di tutte le note di credito emesse nella giornata.
canceledCount Integer Numero totale di scontrini eliminati nella giornata.
canceledAmount BigDecimal Importo totale di tutti gli scontrini eliminati nella giornata.
idUserFO Integer Identificativo dell'operatore che ha eseguito la chiusura contabile.
referenceDate Datetime Data di riferimento della chiusura contabile al netto degli orari di esercizio definiti dal punto vendita.
date Timestamp Data di creazione della giornata contabile.
taxes List[ReconciliationTax] Dettaglio dei totali di giornata suddivisi per aliquota iva.
reconciliationType ReconciliationType Tipologia della chiusura contabile in relazione al registratore fiscale utilizzato sul punto vendita. Se reconciliationType è RT_10 tutti i campi sono conformi al tracciato telematico dei dati dei corrispettivi giornalieri (versione XML 7.0).
cashAmount BigDecimal Valido solo se reconciliationype è RT_10. Importo totale di tutti gli scontrini fiscali emessi con pagamento contante (PaymentType CASH, BANCKCHECK).
electronicAmount BigDecimal Valido solo se reconciliationype è RT_10. Importo totale di tutti gli scontrini fiscali emessi con pagamento elettronico (PaymentType CREDITCARD, CASHCARD, BANK_TRANSFER, RIBA_30, RIBA_60, PAYPAL, POSTE_PAY, CUSTOM con collectableType di tipo COLLECTED).
discountOnPaymentAmount BigDecimal Valido solo se reconciliationype è RT_10. Importo totale di tutti gli scontrini fiscali emessi con pagamento sconto a pagare (PaymentType FIDELITYCARD).
ticketsAmount BigDecimal Valido solo se reconciliationype è RT_10. Importo totale di tutti gli scontrini fiscali emessi con pagamento ticket (PaymentType TICKET).
ticketsCount Integer Valido solo se reconciliationype è RT_10. Numero totale di tutti i ticket incassati da scontrini fiscali.
deferredReceiptsAmount BigDecimal Valido solo se reconciliationype è RT_10. Importo totale di tutti gli scontrini differiti (scontrini cui seguirà fattura riepilogativa (PaymentType DEFERRED).

ReconciliationTax

Entità che modella i dettagli dei totali della chiusura contabile suddivisi per aliquota IVA. Per la definizione dei campi, se non esplicitamente indicato, si rimanda ai rispettivi campi definiti sulla Reconciliation.

Parameter Type Description
idTax String Identificativo dell'aliquota iva cui fanno riferimento i totali.
receiptsAmount BigDecimal
notCashedAmount BigDecimal
invoicesAmount BigDecimal
canceledAmount BigDecimal
creditNotesAmount BigDecimal
tax Tax Dettaglio aliquota
payments List[ReconciliationTaxPayment] Dettaglio per tipologia di pagamento.
departments List[ReconciliationTaxDepartment] Dettaglio dei totali suddivisi sui reparti che fanno riferimento all'aliquota iva specificata al campo Tax.
deferredReceiptsAmount BigDecimal

ReconciliationTaxDepartment

Entità che modella i dettagli dei totali della chiusura contabile suddivisi per reparto. Per la definizione dei campi, se non esplicitamente indicato, si rimanda ai rispettivi campi definiti sulla Reconciliation.

Parameter Type Description
idDepartment String Identificativo del reparto cui fanno riferimento i totali.
receiptsAmount BigDecimal
notCashedAmount BigDecimal
invoicesAmount BigDecimal
canceledAmount BigDecimal
creditNotesAmount BigDecimal

ReconciliationTaxPayment

Entità che modella i dettagli dei totali della chiusura contabile suddivisi per pagamento. Per la definizione dei campi, se non esplicitamente indicato, si rimanda ai rispettivi campi definiti sulla Reconciliation.

Parameter Type Description
paymentType PaymentType Tipologia di pagamento cui fanno riferimento i totali.
receiptsAmount BigDecimal
canceledAmount BigDecimal
customPayment CustomPayment Dettaglio del pagamento del caso in cui paymentType sia CUSTOM.

Room

Room defines a reastaurant’s area composed by a set of tables.

Parameter Type Description
id String Id
name String Name of the Room.
idSalesPoint Long idSalesPoint.

RowComponentChoice

RowCourseChoice represents a specific choice made inside a course in a menu item.

Parameter Type Description
idComponent String Id of the component referred to this component choice.
idProductVariant String Id of the ProductVariant if the product referred to this component choice is ‘multivariant.
idProduct String Id of the Product referred to this component choice.
idCategory String Id of the Category of the product referred to this component choice.
idDepartment String Id of the Department of the product referred to this component choice.
idTax String Id of the Tax of the product referred to this component choice.
idStockMovement String Id of the StockMovement of the product referred to this component choice.
idOutgoingMovement String Id of the OutgoingMovement of the product referred to this component choice.
quantity BigDecimal Represent the chosen quantity for a choice inside a component of a composite item.
price BigDecimal Represent the base product of a composite item.
componentPrice BigDecimal If set, represent the overrided price when the choice is made for a component of a composite item.
choiceModifierValues List[ChoiceModifierValue] List of modifiers associated with that choice

RowCourseChoice

RowCourseChoice represents a specific choice made inside a course in a menu item.

Parameter Type Description
idCourse String Id of the course referred to this course choice.
idProductVariant String Id of the ProductVariant if the product referred to this course choice is 'multivariant.
idProduct String Id of the Product referred to this course choice.
idCategory String Id of the Category of the product referred to this course choice.
idDepartment String Id of the Department of the product referred to this course choice.
idTax String Id of the Tax of the product referred to this course choice.
idStockMovement String Id of the StockMovement of the product referred to this course choice.
idOutgoingMovement String Id of the OutgoingMovement of the product referred to this course choice.
multiplier BigDecimal Represents the weight of the choice made inside the course of a menu item.
choiceModifierValues List[ChoiceModifierValue] List of modifiers associated with that choice

RowModifierValue

Modifier applied to the row.

Parameter Type Description
idModifier String Id of the Modifier related to the modifier value.
idModifierValue String Id of the ModifierValue 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.
idDepartment String Id related department.
externalId String externalId.

SalesPoint

A SalesPoint defines a sales unit of the account, which could have many sales points.

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.
logoSmall String
logoBig String
img String

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.

SoldByDocumentType

Parameter Type Description
documentType DocumentType Document Type.
documentCount Long Amount of document produced.
profit BigDecimal Profit done with this document type.
percentTotal BigDecimal Percentage of total amount.

SoldByPaymentType

Parameter Type Description
paymentType PaymentType Payment Type.
customPayment CustomPayment Details of custom payment.
collectableType CollectableType Payment collectable type.
profit BigDecimal Profit.
percentTotal BigDecimal Percentage of total amount.

SoldByProduct

Parameter Type Description
isMenuEntry Boolean True if product was sold within a menu (field set only if report is filtered by menuMode with 'EXPLODED_BUT_SEPARATE’ value).
isCompositionEntry Boolean True if product was sold within a composition product (field set only if report is filtered by menuMode with ‘EXPLODED_BUT_SEPARATE’ value).
idProduct String Product id.
idMenuProduct String Menu product id in which the product was sold (field set only if report is filtered by menuMode with ‘EXPLODED_BUT_SEPARATE’ value).
product Product Product.
menuProduct Product Menu product in which the product was sold (field set only if report is filtered by menuMode with ‘EXPLODED_BUT_SEPARATE’ value).
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

Stock Movement defines a Product or a ProductVariant (if product is multivariant) load or unload movement in warehouse.

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

A Supplier is a legal or natural person which purchase documents can be registered.

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

Table

Reastaurant Table.

Parameter Type Description
id String Id
name String Name of the Table.
idSalesPoint Long idSalesPoint.
seatsAvailable Integer Number of seats available in the table.
externalId String External ID.
idRoom String Room ID.

Tax

Tax is the Value Added Tax, or VAT, a consumption tax assessed on the value added to goods and services. A Tax can be related to a Department, which can be related to an Product

Parameter Type Description
id String Id.
description String Tax name.
rate BigDecimal Rateo, 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.
ventilazione Boolean If true the tax is configured with “ventilazione” for separate accounting.
atecoCode String If ventilazione = true this code is mandatory and identifies an economic activity.
idSalesPoint Long idSalesPoint.
lastUpdate Timestamp lastUpdate.

Ticket

A Ticket is a custom ticket used as payment in documents.

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

User who creates the document.

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

CollectableType


COLLECTED
UNCOLLECTED_SERVICES
UNCOLLECTED_GOODS

CustomerGender


MALE
FEMALE

DeliveryMode


PICKUP
DELIVERY
TABLE
OTHER

DocumentNumberingType


INVOICE
CREDITNOTE
ORDER
DDT
QUOTATION
PURCHASE_INVOICE
PURCHASE_ORDER
PURCHASE_DDT

DocumentStatus


DRAFT
CONFIRMED

DocumentType


INVOICE
RECEIPT
BILL
RECEIPT_FOR_DEFERRED_INVOICE
CREDITNOTE

EInvoiceStatus


TO_EDIT
NOT_COMPUTED
IN_PROGRESS
SCHEDULED
WAITING_FOR_RESPONSE
REJECTED_FROM_SDI
SUCCESS

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

FidelityChannel


MYCASSANOVA
CASSANOVA
LOYALTYAPP

FidelityPointsTransactionType


ACHIEVEMENT
PRIZE_REDEEM
PRIZE_REDEEM_CANCELED
CORRECTION
INITIAL_AMOUNT

FidelityPrepaidTransactionType


RELOAD
SALE
CORRECTION
INITIAL_AMOUNT

FidelityPrizeRedeemStatus


ORDERED
DELIVERED
CANCELED


GROUPED
EXPLODED_WITH_ITEMS
EXPLODED_BUT_SEPARATE

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_2_1
N_2_2
N_3
N_3_1
N_3_2
N_3_3
N_3_4
N_3_5
N_3_6
N_4
N_5
N_6
N_6_1
N_6_2
N_6_3
N_6_4
N_6_5
N_6_6
N_6_7
N_6_8
N_6_9
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
VOUCHER_GOODS
BANK_TRANSFER
RIBA_30
RIBA_60
DISCOUNT_ON_PAYMENT
PAYPAL
POSTE_PAY
ROOM_CHARGE
CUSTOM
OTHER

PrepaymentStatus


WAITING
FAILED
PAYED
REFUNDED

PrepaymentType


TSPAY
STRIPE
SATISPAY
CN_CREDIT
OTHER

ProductChannel


RISTO
SALE
ECOMMERCE
MOBILE_COMMERCE
SELF_ORDER
KIOSK

ReconciliationType


MF
RT
RT_10
NON_FISCAL

SalesType


GOODS
SERVICES

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