Skip to main content

Cash Drawer API (0)

Download OpenAPI specification:Download

Can be used to record sale transactions using a cash drawer or to track the opening and closing of a cash drawer.

Insert or update cash drawer configuration

Inserts or updates the cash drawer configuration for the store.

Authorizations:
newStoreAccessToken
path Parameters
store_id
required
string

The identifier for the store.

Request Body schema: application/json
cash_drawer_type
required
string
Enum: "integrated" "non_integrated"

The kind of cash drawer used by the store, whether integrated or not.

cash_management_enabled
required
boolean

Defines if the cash management feature will be enabled or not in the store.

Responses

Request samples

Content type
application/json
{
  • "cash_drawer_type": "integrated",
  • "cash_management_enabled": true
}

Response samples

Content type
application/json
{
  • "error_code": "string",
  • "message": "string",
  • "request_id": "string"
}

Get cash drawer configuration

Get the cash drawer configuration for the store.

Authorizations:
newStoreAccessToken
path Parameters
store_id
required
string

The identifier for the store.

Responses

Response samples

Content type
application/json
{
  • "cash_drawer_type": "integrated",
  • "cash_management_enabled": true
}

List transaction types

Returns all possible transaction types together with the corresponding list of reasons. The list includes both configured and not configured transaction types.

Authorizations:
newStoreAccessToken

Responses

Response samples

Content type
application/json
{
  • "transaction_types": {
    }
}

Get cash drawers

Returns the cash drawers assigned to the store.

Authorizations:
newStoreAccessToken
query Parameters
store_id
required
string

The search term to filter cash drawers by store ID.

Responses

Response samples

Content type
application/json
{
  • "cash_drawers": [
    ]
}

Add new cash drawer

Creates a new cash drawer assigned to a store.

Authorizations:
newStoreAccessToken
Request Body schema: application/json
cash_drawer_id
required
string non-empty

The external ID of the cash drawer. For example it can be a barcode for integrated cash drawers or a generated ID for non-integrated ones.

name
required
string non-empty

The human readable name of the cash drawer.

currency
required
string = 3 characters

The default currency of the cash drawer, using ISO-4217 Currency Code.

float
required
number non-empty decimal places <= 2

The default float amount for the cash drawer.

store_id
required
string [ 1 .. 256 ] characters

The store ID where the drawer is installed.

type
required
string
Enum: "integrated" "non_integrated"

The kind of cash drawer, whether it is integrated or not.

Responses

Request samples

Content type
application/json
{
  • "cash_drawer_id": "4G9OZ",
  • "name": "Not a shoe box",
  • "currency": "USD",
  • "float": 250,
  • "store_id": "7c9f2605-9fb3-5444-8fee-47fe51608efe",
  • "type": "integrated"
}

Response samples

Content type
application/json
{
  • "error_code": "string",
  • "message": "string",
  • "request_id": "string"
}

Update cash drawer

Update the cash drawer configuration.

Authorizations:
newStoreAccessToken
path Parameters
drawer_id
required
string

The identifier for the cash drawer.

Request Body schema: application/json
name
required
string non-empty

The human readable name of the cash drawer.

float
required
number non-empty decimal places <= 2

The default float amount for the cash drawer.

Responses

Request samples

Content type
application/json
{
  • "name": "Not a shoe box",
  • "float": 250
}

Response samples

Content type
application/json
{
  • "error_code": "string",
  • "message": "string",
  • "request_id": "string"
}

Get cash drawer

Returns the cash drawer configuration.

Authorizations:
newStoreAccessToken
path Parameters
drawer_id
required
string

The identifier for the cash drawer.

Responses

Response samples

Content type
application/json
{
  • "cash_drawer_id": "de70517a",
  • "name": "Kesha",
  • "currency": "USD",
  • "float": 200,
  • "status": "active",
  • "type": "integrated"
}

Decommission cash drawer

Decommission a cash drawer from a store.

Authorizations:
newStoreAccessToken
path Parameters
drawer_id
required
string

The identifier for the cash drawer.

Responses

Response samples

Content type
application/json
{
  • "error_code": "string",
  • "message": "string",
  • "request_id": "string"
}

Initiate cash sale or return transaction

Creates a draft cash transaction.

Authorizations:
newStoreAccessToken
path Parameters
drawer_id
required
string

The identifier for the cash drawer.

Request Body schema: application/json
order_id
required
string non-empty

The order ID for which the cash transaction is initiated.

required
object (Monetary amount object.)

The amount expected to be cashed in. A negative amount can be specified in case of a return.

required
object (Monetary amount object.)

The amount actually handed over by the customer to the store associate.

Responses

Request samples

Content type
application/json
{
  • "order_id": "9533082b-aaca-487b-95c6-d97ad8581bee",
  • "amount": {
    },
  • "given": {
    }
}

Response samples

Content type
application/json
{
  • "transaction_id": "11a96e22-0275-418d-9035-7c5ad4b6050e",
  • "change": {
    }
}

Initiate a non-sale transaction, for example to adjust the float or bill exchange

Creates a draft cash transaction.

Authorizations:
newStoreAccessToken
path Parameters
drawer_id
required
string

The identifier for the cash drawer.

Request Body schema: application/json
Any of
transaction_type
required
string
Enum: "add_to_float" "add_petty_cash" "transfer_in" "adjustment_in" "remove_petty_cash" "cash_pull" "transfer_out" "adjustment_out" "no_sale"

The type of the non-sale transaction.

reason_code
string non-empty

The reason code of the non-sale transaction.

required
object (Monetary amount object.)

The amount that will be added to the cash drawer.

object (Monetary amount object.)

The amount that will be removed from the cash drawer.

Responses

Request samples

Content type
application/json
{
  • "transaction_type": "remove_petty_cash",
  • "reason_code": "post_office",
  • "amount_out": {
    }
}

Response samples

Content type
application/json
{
  • "transaction_id": "11a96e22-0275-418d-9035-7c5ad4b6050e"
}

Perform a cash count

Initiates the process of counting the cash in a cash drawer.

Authorizations:
newStoreAccessToken
path Parameters
drawer_id
required
string

The identifier for the cash drawer.

Request Body schema: application/json
reason
required
string
Enum: "intra_day_balance" "end_of_day_balance"

The reason why the associate is performing the cash count.

Responses

Request samples

Content type
application/json
{
  • "reason": "end_of_day_balance"
}

Response samples

Content type
application/json
{
  • "count_id": "fbe79ca6-3801-47e9-bd1a-f20de995c5f6"
}

Track cash drawer activity

Register a change in the cash drawer state.

Authorizations:
newStoreAccessToken
path Parameters
drawer_id
required
string

The identifier for the cash drawer.

Request Body schema: application/json
timestamp
required
string <date-time>

The time when this activity happened.

event
required
string
Enum: "open" "close"

The event on the cash drawer.

correlation
required
string
Enum: "transaction" "count"

The reason for the event.

correlation_id
required
string non-empty

The ID of the related count or transaction operation.

Responses

Request samples

Content type
application/json
{
  • "timestamp": "2019-10-11T10:11:17Z",
  • "event": "open",
  • "correlation": "transaction",
  • "correlation_id": "11a96e22-0275-418d-9035-7c5ad4b6050e"
}

Response samples

Content type
application/json
{
  • "event_id": "11a96e22-0275-418d-9035-7c5ad4b6050e"
}

Activates a cash drawer

Enables the cash drawer for daily usage.

Authorizations:
newStoreAccessToken
path Parameters
drawer_id
required
string

The identifier for the cash drawer.

Request Body schema: application/json
required
object (Monetary amount object.)

The float amount that will be inserted into the drawer.

value
required
number non-empty decimal places <= 2
currency
required
string = 3 characters

The currency for the transaction, using ISO-4217 Currency Code.

Responses

Request samples

Content type
application/json
{
  • "float_amount": {
    }
}

Response samples

Content type
application/json
{
  • "error_code": "string",
  • "message": "string",
  • "request_id": "string"
}

Deactivates a cash drawer

Disables the cash drawer for daily usage.

Authorizations:
newStoreAccessToken
path Parameters
drawer_id
required
string

The identifier for the cash drawer.

Request Body schema: application/json
count_id
required
string non-empty

The ID of the related end of day count operation

Responses

Request samples

Content type
application/json
{
  • "count_id": "3533082b-aaca-487b-95c6-d97ad8581bee"
}

Response samples

Content type
application/json
{
  • "error_code": "string",
  • "message": "string",
  • "request_id": "string"
}

Daily cash reports

Represents all cash reports generated for the cash drawer.

Authorizations:
newStoreAccessToken
path Parameters
drawer_id
required
string

The identifier for the cash drawer.

Responses

Response samples

Content type
application/json
{
  • "reports": [
    ],
  • "pagination_info": {
    }
}

Get cash transaction

Fetches the cash transaction for the specified ID.

Authorizations:
newStoreAccessToken
path Parameters
transaction_id
required
string

The identifier for the transaction.

drawer_id
required
string

The identifier for the cash drawer.

Responses

Response samples

Content type
application/json
{
  • "transaction_id": "11a96e22-0275-418d-9035-7c5ad4b6050e",
  • "cash_drawer_id": "de70517a",
  • "associate_id": "fdd516b62b38",
  • "order_id": "9533082b-aaca-487b-95c6-d97ad8581bee",
  • "amount_in": {
    },
  • "amount_out": {
    },
  • "amount_balance": {
    },
  • "reason": "sale",
  • "status": "completed",
  • "created_at": "2019-10-11T10:11:17Z",
  • "finished_at": "2019-10-11T10:13:17Z"
}

Finish cash sale or exchange transaction

Concludes a transaction, either by completing or canceling it.

Authorizations:
newStoreAccessToken
path Parameters
transaction_id
required
string

The identifier for the transaction.

drawer_id
required
string

The identifier for the cash drawer.

Request Body schema: application/json
status
required
string
Enum: "completed" "canceled"

The desired final status of the transaction.

Responses

Request samples

Content type
application/json
{
  • "status": "completed"
}

Response samples

Content type
application/json
{
  • "error_code": "string",
  • "message": "string",
  • "request_id": "string"
}

Record a cash count

Update a cash count with the counted amount.

Authorizations:
newStoreAccessToken
path Parameters
count_id
required
string

The identifier for the cash count.

drawer_id
required
string

The identifier for the cash drawer.

Request Body schema: application/json
required
object (Monetary amount object.)

The amount that was counted by the associate.

value
required
number non-empty decimal places <= 2
currency
required
string = 3 characters

The currency for the transaction, using ISO-4217 Currency Code.

Responses

Request samples

Content type
application/json
{
  • "counted_amount": {
    }
}

Response samples

Content type
application/json
{
  • "discrepancy": true,
  • "expected_amount": {
    },
  • "discrepancy_amount": {
    }
}

Set cash count action

Initiates a recount, submits the final count or cancels the cash count.

Authorizations:
newStoreAccessToken
path Parameters
action
required
string
Enum: "_recount" "_submit" "_cancel"

The specific cash count action to perform.

count_id
required
string

The identifier for the cash count.

drawer_id
required
string

The identifier for the cash drawer.

Responses

Response samples

Content type
application/json
{
  • "error_code": "string",
  • "message": "string",
  • "request_id": "string"
}