TAPI - YAML Files
TAPI 2.3.0 - Current Version
Released on 02/24/2023
Release Notes Link
openapi: 3.0.0
info:
version: 2.3.0
title: Transactions API
description: |
The SpotOn Transactions API provides access to get and list order information.<br />
Use the ListOrders endpoint to get a list of all orders to which you have access, within a date and time range that you specify. <br/>
Use the GetOrder endpoint to get order details for a specific order, using the UUID you got from the ListOrders endpoint.<br/>
We use JWT to authenticate your requests. You can generate it using the auth endpoint described below. Please contact SpotOn to get the API key.
contact: { }
servers:
- description: SpotOn API URL. This URL will be provided by our team.
url: https://{environment}.appetize.com
paths:
/auth/transactions:
post:
summary: Authentication of API Key
tags:
- Auth
description: This auth endpoint will return the JWT token required to call Transactions API.
parameters:
- $ref: '#/components/parameters/x_api_key'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
auth_key:
type: string
example: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ2..."
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
message :
type : string
example: 'bad request'
code:
type: integer
example: 400
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
message :
type : string
example: 'unauthorized'
code:
type: integer
example: 401
/orders:
get:
tags:
- ListOrders
summary: Get a List of Orders
description: List orders to which you have access, as defined in your JWT.
operationId: listOrders
parameters:
- $ref: '#/components/parameters/start_date'
- $ref: '#/components/parameters/end_date'
- $ref: '#/components/parameters/start_sync_date'
- $ref: '#/components/parameters/end_sync_date'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/retrieval_status'
responses:
'200':
description: Success
content:
'application/com.appetize.transactions_api.listOrders.v1.0+json':
schema:
$ref: '#/components/schemas/list_transactions_result'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'415':
$ref: '#/components/responses/415'
'422':
$ref: '#/components/responses/422'
'500':
$ref: '#/components/responses/500'
/orders/{local_order_uuid}:
get:
tags:
- GetOrder
summary: Get a Specific Order
description: Get a specific order and its details.
operationId: getOrder
parameters:
- $ref: '#/components/parameters/local_order_uuid'
responses:
'200':
description: Success
content:
'application/com.appetize.transactions_api.getOrder.v1+json':
schema:
$ref: '#/components/schemas/order'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'415':
$ref: '#/components/responses/415'
'422':
$ref: '#/components/responses/422'
'500':
$ref: '#/components/responses/500'
/quarantine-orders/{local_order_uuid}/mark-dead-letter:
put:
tags:
- MarkDeadLetterQuarantineOrder
summary: Mark Order as Dead Letter
description: Mark a quarantine order as dead letter.
operationId: markDeadLetterQuarantineOrder
parameters:
- $ref: '#/components/parameters/local_order_uuid'
responses:
'200':
description: Success
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'415':
$ref: '#/components/responses/415'
'422':
$ref: '#/components/responses/422'
'500':
$ref: '#/components/responses/500'
/quarantine-orders:
get:
tags:
- ListQuarantineOrders
summary: Get a List of Quarantined Orders
description: List quarantine orders to which you have access, as defined in your JWT.
operationId: listQuarantineOrders
parameters:
- $ref: '#/components/parameters/start_date'
- $ref: '#/components/parameters/end_date'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/status'
responses:
'200':
description: Success
content:
'application/com.appetize.transactions_api.listQuarantineOrders.v1.0+json':
schema:
$ref: '#/components/schemas/list_quarantine_orders_result'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'415':
$ref: '#/components/responses/415'
'422':
$ref: '#/components/responses/422'
'500':
$ref: '#/components/responses/500'
/orders/{local_order_uuid}/reprocess:
post:
tags:
- Reprocess
summary: Reprocess a Specific Order
description: Reprocess an order that is stored in quarantine collection.
parameters:
- $ref: '#/components/parameters/local_order_uuid'
responses:
'200':
description: OK
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
message :
type : string
example: 'bad request'
code:
type: integer
example: 400
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
message :
type : string
example: 'unauthorized'
code:
type: integer
example: 401
components:
parameters:
corporate_id:
description: "The Corporate ID of the target transactions"
in: path
name: corporate_id
required: true
schema:
$ref: "#/components/schemas/corporate_id"
limit:
description: "The max number of results to be returned"
in: query
name: limit
schema:
$ref: "#/components/schemas/limit"
local_order_uuid:
description: "The order UUID of the target transaction"
in: path
name: local_order_uuid
required: true
schema:
$ref: "#/components/schemas/local_order_uuid"
page:
description: "Page number to be returned"
in: query
name: page
schema:
$ref: "#/components/schemas/page"
start_date:
description: "The lower bound for order creation date and time (UTC) to be returned"
in: query
name: start_date
schema:
$ref: "#/components/schemas/start_date"
end_date:
description: "The exclusive upper bound for order creation date and time (UTC) to be returned"
in: query
name: end_date
schema:
$ref: "#/components/schemas/end_date"
start_sync_date:
description: "The lower bound for order submission date and time (UTC) to be returned"
in: query
name: start_sync_date
schema:
$ref: "#/components/schemas/start_sync_date"
end_sync_date:
description: "The exclusive upper bound for order submission date and time (UTC) to be returned"
in: query
name: end_sync_date
schema:
$ref: "#/components/schemas/end_sync_date"
venue_id:
description: "The venue ID of the target transactions"
in: path
name: venue_id
required: true
schema:
$ref: "#/components/schemas/venue_id"
retrieval_status:
description: "Current retrieval status of the order. default value is completed"
in: query
name: retrieval_status
schema:
$ref: "#/components/schemas/retrieval_status"
x_api_key:
name: X-API-Key
in: header
required: true
schema:
type: string
status:
description: "Status of the quarantine order [DEADLETTER | DELETED]. Empty for orders with no status"
in: query
name: status
schema:
$ref: "#/components/schemas/status"
schemas:
corporate_id:
example: 1238
type: integer
custom_field:
description: "Connect-configured custom field"
properties:
key:
description: "Connect-configured Custom Field key"
example: Buyer
type: string
maxLength: 100
name:
description: "Connect-configured Custom Field name"
example: "Merchandise Buyer"
type: string
maxLength: 255
value:
example: "Sally M."
type: string
maxLength: 65535
type: object
discount:
properties:
amount:
description: "Currency amount of the discount applied multiplied by the quantity"
example: "-1.1"
type: string
format: float
index:
description: "Order of the discount applied"
example: 1
type: integer
name:
description: "Connect-configured reduction name"
example: "Gold Tier 10%"
type: string
maxLength: 255
reference:
description: "Connect-configured reference ID for the discount"
example: SomeUniqueValue
type: string
maxLength: 50
type:
description: "The type of discount applied"
enum:
- FLAT
- PERCENT
example: PERCENT
type: string
value:
description: "Value of the percent or flat amount to be discounted"
example: "0.1"
type: string
format: float
metadata:
description: "External data of the discount (no max length)"
example: "{\"id\":\"silver\",\"display_name\":\"Discount Validation Interface\",\"integration_id\":95,\"entry_method\":\"K\"}"
type: string
type: object
end_date:
description: "Date/time the transaction was created in UTC"
example: "2021-05-26T00:01:00Z"
type: string
start_date:
description: "Date/time the transaction was created in UTC"
example: "2021-05-24T00:01:00Z"
type: string
end_sync_date:
description: "Date/time the transaction was synced in UTC"
example: "2021-05-26T00:01:00Z"
type: string
start_sync_date:
description: "Date/time the transaction was synced in UTC"
example: "2021-05-24T00:01:00Z"
type: string
fee:
type: object
properties:
amount:
type: string
format: float
example: "5.50"
description: "Currency amount of the fee applied"
name:
type: string
example: "10% Corkage Fee"
description: "Connect-configured fee name"
maxLength: 255
index:
type: integer
example: 1
description: "Order of the fee applied"
class:
type: string
enum:
- FEE
- SERVICE CHARGE
- GRATUITY
- TIP
type:
type: string
example: "PERCENT"
description: "The type of fee applied"
enum:
- FLAT
- PERCENT
value:
type: string
format: float
example: "0.1"
description: "Value of the fee applied"
taxes:
type: array
items:
$ref: "#/components/schemas/tax"
item:
properties:
custom_fields:
items:
$ref: "#/components/schemas/custom_field"
type: array
discounts:
items:
$ref: "#/components/schemas/discount"
type: array
identifiers:
properties:
item_id:
description: "Connect-assigned unique item identifier"
example: 47391
type: integer
name:
description: "Connect-configured item name"
example: Cheeseburger
type: string
maxLength: 200
display_name:
description: "Connect-configured item display name"
example: Cheeseburger
type: string
maxLength: 200
sku:
description: "Connect-configured item SKU"
example: "5834b8503840"
type: string
external_id:
description: "Connect-configured item External ID"
example: "AA749f04948"
type: string
unique_id:
description: "Unique identifier for the item, which may or may not be unique. Items with the same ID will be grouped together in reports"
example: "AB123"
type: object
index:
description: "Relative position of the item in the cart, used in other references, one-based"
example: 1
type: integer
line_item_uuid:
description: "SpotOn-generated identifier for this item cart sale"
example: "ae76b6c4-6c35-42a5-93f9-ea6d60c642de"
format: uuid
type: string
operation:
description: "Indicates if this item is an item sale or an item refund"
enum:
- SALE
- REFUND
example: "SALE"
type: string
parent_item_uuid:
description: SpotOn-generated identifier for the parent. It is only present if the item is a modifier."
example: "91105ae1-c3bb-43bb-bd4b-2b13a693701d"
format: uuid
type: string
prices:
properties:
original:
description: "The extended price configured in Connect"
example: "12.0"
type: string
format: string
sold:
description: "The extended price net of all adjustements, discounts, and fees"
example: "11.45"
type: string
format: string
type: object
taxes:
type: array
items:
$ref: "#/components/schemas/tax"
quantity:
description: "Quantity of the item sold"
example: "2.0"
format: float
type: string
measure:
properties:
unit:
type: string
example: "lb"
description: "Connect-configured item unit"
default: "each"
tare:
type: string
example: "0.45"
description: "Connect-assigned tare weight"
is_manual:
type: boolean
example: true
description: "Indicate if net_weight was assigned manually"
net_weight:
type: string
example: "3.45"
description: "Quantity of the item sold"
kitchen_id:
description: "The kitchen ID associated with this item"
example: "123"
type: string
original_order_id:
description: "If this is a refunded item, the original id of the order were the purchase was made"
example: "12345678"
type: string
type: object
limit:
default: 100
example: 100
type: integer
maximum: 500
list_transactions_result:
properties:
orders:
type: array
items:
type: object
properties:
local_order_uuid:
$ref: "#/components/schemas/local_order_uuid"
corporate_id:
description: "Connect-assigned corporation ID"
example: 40
type: integer
external_vendor_id:
description: "Connect-configured External Vendor ID"
example: "BH0105"
nullable: true
type: string
vendor_id:
description: "Connect-assigned vendor ID"
example: 865
type: integer
venue_id:
description: "Connect-assigned venue ID"
example: 1371
type: integer
end_date:
description: "Date/time the transaction was created in UTC"
example: "2021-07-21T18:56:32Z"
type: string
sync_date:
description: "Date/time the transaction was synced in UTC"
example: "2021-07-21T18:56:32Z"
type: string
retrieval_status:
description: "If retrieved order has all available values or it is missing some"
example: "completed"
type: string
enum: [ completed, incomplete ]
pagination:
$ref: "#/components/schemas/pagination"
list_quarantine_orders_result:
properties:
orders:
type: array
items:
type: object
properties:
local_order_uuid:
$ref: "#/components/schemas/local_order_uuid"
corporate_id:
description: "Connect-assigned corporation ID"
example: 40
type: integer
external_vendor_id:
description: "Connect-configured External Vendor ID"
example: "BH0105"
nullable: true
type: string
vendor_id:
description: "Connect-assigned vendor ID"
example: 865
type: integer
venue_id:
description: "Connect-assigned venue ID"
example: 1371
type: integer
date:
description: "Date/time the transaction was quarantined in UTC"
example: "2021-07-21T18:56:32Z"
type: string
status:
description: "Status of the order"
example: ""
type: string
enum: [ DELETED, DEADLETTER ]
errors:
description: "The errors the order had"
type: array
items:
properties:
Fields:
description: "fields that are missing from the transaction"
type: array
items:
type: string
example: "order.user"
Errors:
type: string
description: "Error message from the consumer service"
example: "User id not exists"
pagination:
$ref: "#/components/schemas/pagination"
local_order_uuid:
description: "The presented device order UUID"
example: "ee23e571-ca78-4578-a0d1-8ecfe104d04f"
type: string
location:
description: "Identifiers for the location originating the ordere happened"
properties:
custom_fields:
items:
$ref: "#/components/schemas/custom_field"
type: array
vendor_id:
description: "Connect-assigned vendor ID"
example: 865
type: integer
vendor_name:
description: "Connect-configured vendor name"
example: Burgerland
type: string
maxLength: 200
venue_id:
description: "Connect-assigned venue ID"
example: 1371
type: integer
venue_name:
description: "Connect-configured venue name"
example: "Big Island Venue"
type: string
maxLength: 200
corporate_id:
description: "Connect-assigned corporation ID"
example: 40
type: integer
external_vendor_id:
description: "Connect-configured External Vendor ID"
example: "BH0105"
nullable: true
type: string
type: object
order:
properties:
items:
items:
$ref: "#/components/schemas/item"
type: array
local_order_id:
description: "The presented device order ID printed on receipts and shown in Connect"
example: "A0001999920063009000001"
type: string
local_order_uuid:
description: "The order UUID of the target transaction"
example: "ee23e571-bt75-4578-a0d1-7ecfe306d04f"
type: string
location:
$ref: "#/components/schemas/location"
order_id:
description: "The database identity value after the order is stored in Connect"
example: 1234
type: integer
payments:
items:
$ref: "#/components/schemas/payment"
type: array
fees:
type: array
items:
$ref: "#/components/schemas/fee"
origin:
description: SpotOn application where this order was created"
example: "spoton_android"
type: string
maxLength: 50
terminals:
items:
$ref: "#/components/schemas/terminal"
type: array
time:
properties:
end:
description: "Date/time the transaction was created in UTC"
example: "2020-11-21T14:00:00Z"
format: date-time
type: string
sync:
description: "Date/time the transaction was synced in UTC"
example: "2020-11-21T14:00:00Z"
format: date-time
type: string
timezone:
example: "America/New_York"
description: "Connect-configured venue time zone"
type: string
type: object
users:
items:
$ref: "#/components/schemas/user"
type: array
event:
description: "Event associated to the order"
properties:
id:
description: "Connect-assigned event ID"
example: 40
type: integer
order_type:
description: "The order type, as passed in from the client in the case of Ordering API, and as set in the terminal role in the case of Activate orders."
properties:
id:
description: "Connect-assigned order type ID"
example: 40
type: integer
name:
description: "Connect-assigned order type name"
example: "POS"
type: string
retrieval_status:
description: "If retrieved order has all available values or it is missing some"
example: "completed"
enum: [ completed, incomplete ]
type: string
seat_id:
description: "Connect-assigned seat ID"
example: 40
type: integer
customer_id:
description: "Connect-assigned customer ID"
example: "7037796"
type: string
type: object
page:
default: 1
example: 50
type: integer
pagination:
properties:
limit:
default: 50
example: 1
type: integer
page:
default: 1
example: 3
type: integer
total_pages:
example: 4
type: integer
total_results:
example: 4
type: integer
required:
- page
- limit
- total_results
- total_pages
type: object
payment:
description: "Instance of a payment made on the order"
properties:
amount:
description: "The amount of money which was paid on with this payment"
example: "43.74"
format: float
type: string
change:
description: "The amount of money which was given back to the customer in change"
example: "6.26"
format: float
type: string
tip:
description: "The amount of money which was given as tip"
example: "1.26"
format: float
type: string
index:
description: "Relative sequence of payment applied"
example: 1
type: integer
tender_id:
description: "Connect-configured tender id, or Connect-defined tender id if null"
type: integer
tender_name:
description: "Name of the tender"
example: CREDIT
type: string
maxLength: 200
metadata:
description: "External data of the payment (no max length)"
example: "{\"AuthCurrency\":\"USD\",\"CaptureMethod\":\"MANUAL\",\"DeviceTransactionID\":\"260521ED3-8F67B6C8-DB4F-41CB-879D-006EAFE4409F\",\"ReqCurrency\":\"USD\"}"
type: string
transaction_id:
description: "Transaction id of the payment (not in all payment methods)"
example: "260521ED3-8F67B6C8-DB4F-41CB-879D-006EAFE4409F"
type: string
maxLength: 100
type: object
tax:
type: object
description: "Tax assessed on an item, fee or other taxable good"
properties:
amount:
type: string
example: "0.53"
description: "The calculated mount of tax assessed"
class:
type: string
enum:
- INCLUSIVE
- EXCLUSIVE
type:
type: string
enum:
- PERCENTAGE
- FLAT
- TABLE
name:
type: string
example: "Incl State Tax 5%"
maxLength: 20
index:
type: integer
example: 1
rate:
type: string
example: "5.0"
terminal:
description: "Information about the terminal used during the order lifetime"
properties:
id:
default: "9999"
description: "Locally configured terminal ID"
example: "0012"
type: string
maxLength: 40
type: object
user:
description: "Information about the users (employees) that handled the order during its lifetime"
properties:
login:
description: "Connect-configured employee users' login"
example: "59385859"
type: string
name:
description: "Connect-configured employee users' Name as defined in Connect"
example: "Jane Smith"
type: string
maxLength: 200
known_as:
description: "Connect-configured employee users' Known As name displayed on receipts"
example: "Jane S."
type: string
maxLength: 200
external_id:
description: "Connect-configured employee users' external ID"
example: "SAP0001289"
type: string
maxLength: 15
type: object
venue_id:
example: 1238
type: integer
retrieval_status:
example: "completed"
type: string
default: "completed"
enum: [ completed, incomplete ]
status:
example: "DEADLETTER"
type: string
default: ""
enum: [ "DEADLETTER", "DELETED", ""]
responses:
'400':
description: bad request
'401':
description: unauthorized
'403':
description: forbidden
'404':
description: not found
'415':
description: unsupported media type in content-type header
'422':
description: unprocessable entity
'500':
description: internal server error
TAPI 2.2.0
Released on 10/21/2022
Release Notes Link
openapi: 3.0.0
info:
version: 2.2.0
title: Appetize Transactions API
description: |
The Appetize Transactions API provides access to get and list order information.<br />
Use the ListOrders endpoint to get a list of all orders to which you have access, within a date and time range that you specify. <br/>
Use the GetOrder endpoint to get order details for a specific order, using the UUID you got from the ListOrders endpoint.<br/>
We use JWT to authenticate your requests. You can generate it using the auth endpoint described below. Please contact Appetize to get the API key.
contact: { }
servers:
- description: Appetize API URL. This URL will be provided by our team.
url: https://{environment}.appetize.com
paths:
/auth/transactions:
post:
summary: Authentication of api key.
tags:
- Auth
description: This auth endpoint will return the JWT token required to call Transactions API.
parameters:
- $ref: '#/components/parameters/x_api_key'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
auth_key:
type: string
example: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ2..."
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
message :
type : string
example: 'bad request'
code:
type: integer
example: 400
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
message :
type : string
example: 'unauthorized'
code:
type: integer
example: 401
/orders:
get:
tags:
- ListOrders
summary: List orders to which you have access, as defined in your JWT.
operationId: listOrders
parameters:
- $ref: '#/components/parameters/start_date'
- $ref: '#/components/parameters/end_date'
- $ref: '#/components/parameters/start_sync_date'
- $ref: '#/components/parameters/end_sync_date'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/retrieval_status'
responses:
'200':
description: Success
content:
'application/com.appetize.transactions_api.listOrders.v1.0+json':
schema:
$ref: '#/components/schemas/list_transactions_result'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'415':
$ref: '#/components/responses/415'
'422':
$ref: '#/components/responses/422'
'500':
$ref: '#/components/responses/500'
/orders/{local_order_uuid}:
get:
tags:
- GetOrder
summary: Get a specific order and its details.
operationId: getOrder
parameters:
- $ref: '#/components/parameters/local_order_uuid'
responses:
'200':
description: Success
content:
'application/com.appetize.transactions_api.getOrder.v1+json':
schema:
$ref: '#/components/schemas/order'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'415':
$ref: '#/components/responses/415'
'422':
$ref: '#/components/responses/422'
'500':
$ref: '#/components/responses/500'
/quarantine-orders/{local_order_uuid}/mark-dead-letter:
put:
tags:
- MarkDeadLetterQuarantineOrder
summary: Mark a quarantine order as dead letter.
operationId: markDeadLetterQuarantineOrder
parameters:
- $ref: '#/components/parameters/local_order_uuid'
responses:
'200':
description: Success
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'415':
$ref: '#/components/responses/415'
'422':
$ref: '#/components/responses/422'
'500':
$ref: '#/components/responses/500'
/quarantine-orders:
get:
tags:
- ListQuarantineOrders
summary: List quarantine orders to which you have access, as defined in your JWT.
operationId: listQuarantineOrders
parameters:
- $ref: '#/components/parameters/start_date'
- $ref: '#/components/parameters/end_date'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/status'
responses:
'200':
description: Success
content:
'application/com.appetize.transactions_api.listQuarantineOrders.v1.0+json':
schema:
$ref: '#/components/schemas/list_quarantine_orders_result'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'415':
$ref: '#/components/responses/415'
'422':
$ref: '#/components/responses/422'
'500':
$ref: '#/components/responses/500'
/orders/{local_order_uuid}/reprocess:
post:
tags:
- Reprocess
summary: Reprocess order.
description: Reprocess an order that is stored in quarantine collection.
parameters:
- $ref: '#/components/parameters/local_order_uuid'
responses:
'200':
description: OK
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
message :
type : string
example: 'bad request'
code:
type: integer
example: 400
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
message :
type : string
example: 'unauthorized'
code:
type: integer
example: 401
components:
parameters:
corporate_id:
description: "The Corporate ID of the target transactions"
in: path
name: corporate_id
required: true
schema:
$ref: "#/components/schemas/corporate_id"
limit:
description: "The max number of results to be returned"
in: query
name: limit
schema:
$ref: "#/components/schemas/limit"
local_order_uuid:
description: "The order UUID of the target transaction"
in: path
name: local_order_uuid
required: true
schema:
$ref: "#/components/schemas/local_order_uuid"
page:
description: "Page number to be returned"
in: query
name: page
schema:
$ref: "#/components/schemas/page"
start_date:
description: "The lower bound for date and time (UTC) to be returned"
in: query
name: start_date
schema:
$ref: "#/components/schemas/start_date"
end_date:
description: "The upper bound for date and time (UTC) to be returned"
in: query
name: end_date
schema:
$ref: "#/components/schemas/end_date"
start_sync_date:
description: "The lower bound for date and time (UTC) to be returned"
in: query
name: start_sync_date
schema:
$ref: "#/components/schemas/start_sync_date"
end_sync_date:
description: "The upper bound for date and time (UTC) to be returned"
in: query
name: end_sync_date
schema:
$ref: "#/components/schemas/end_sync_date"
venue_id:
description: "The venue ID of the target transactions"
in: path
name: venue_id
required: true
schema:
$ref: "#/components/schemas/venue_id"
retrieval_status:
description: "Current retrieval status of the order. default value is completed"
in: query
name: retrieval_status
schema:
$ref: "#/components/schemas/retrieval_status"
x_api_key:
name: X-API-Key
in: header
required: true
schema:
type: string
status:
description: "Status of the quarantine order [DEADLETTER | DELETED]. Empty for orders with no status"
in: query
name: status
schema:
$ref: "#/components/schemas/status"
schemas:
corporate_id:
example: 1238
type: integer
custom_field:
description: "Connect-configured custom field"
properties:
key:
description: "Connect-configured Custom Field key"
example: Buyer
type: string
maxLength: 100
name:
description: "Connect-configured Custom Field name"
example: "Merchandise Buyer"
type: string
maxLength: 255
value:
example: "Sally M."
type: string
maxLength: 65535
type: object
discount:
properties:
amount:
description: "Currency amount of the discount applied multiplied by the quantity"
example: "-1.1"
type: string
format: float
index:
description: "Order of the discount applied"
example: 1
type: integer
name:
description: "Connect-configured reduction name"
example: "Gold Tier 10%"
type: string
maxLength: 255
reference:
description: "Connect-configured reference ID for the discount"
example: SomeUniqueValue
type: string
maxLength: 50
type:
description: "The type of discount applied"
enum:
- FLAT
- PERCENT
example: PERCENT
type: string
value:
description: "Value of the percent or flat amount to be discounted"
example: "0.1"
type: string
format: float
metadata:
description: "External data of the discount (no max length)"
example: "{\"id\":\"silver\",\"display_name\":\"Discount Validation Interface\",\"integration_id\":95,\"entry_method\":\"K\"}"
type: string
type: object
end_date:
description: "Date/time the transaction was created in UTC"
example: "2021-05-26T00:01:00Z"
type: string
start_date:
description: "Date/time the transaction was created in UTC"
example: "2021-05-24T00:01:00Z"
type: string
end_sync_date:
description: "Date/time the transaction was synced in UTC"
example: "2021-05-26T00:01:00Z"
type: string
start_sync_date:
description: "Date/time the transaction was synced in UTC"
example: "2021-05-24T00:01:00Z"
type: string
fee:
type: object
properties:
amount:
type: string
format: float
example: "5.50"
description: "Currency amount of the fee applied"
name:
type: string
example: "10% Corkage Fee"
description: "Connect-configured fee name"
maxLength: 255
index:
type: integer
example: 1
description: "Order of the fee applied"
class:
type: string
enum:
- FEE
- SERVICE CHARGE
- GRATUITY
- TIP
type:
type: string
example: "PERCENT"
description: "The type of fee applied"
enum:
- FLAT
- PERCENT
value:
type: string
format: float
example: "0.1"
description: "Value of the fee applied"
taxes:
type: array
items:
$ref: "#/components/schemas/tax"
item:
properties:
custom_fields:
items:
$ref: "#/components/schemas/custom_field"
type: array
discounts:
items:
$ref: "#/components/schemas/discount"
type: array
identifiers:
properties:
item_id:
description: "Connect-assigned unique item identifier"
example: 47391
type: integer
name:
description: "Connect-configured item name"
example: Cheeseburger
type: string
maxLength: 200
display_name:
description: "Connect-configured item display name"
example: Cheeseburger
type: string
maxLength: 200
sku:
description: "Connect-configured item SKU"
example: "5834b8503840"
type: string
external_id:
description: "Connect-configured item External ID"
example: "AA749f04948"
type: string
type: object
index:
description: "Relative position of the item in the cart, used in other references, one-based"
example: 1
type: integer
line_item_uuid:
description: "Appetize-generated identifier for this item cart sale"
example: "ae76b6c4-6c35-42a5-93f9-ea6d60c642de"
format: uuid
type: string
operation:
description: "Indicates if this item is an item sale or an item refund"
enum:
- SALE
- REFUND
example: "SALE"
type: string
parent_item_uuid:
description: "Appetize-generated identifier for the parent. It is only present if the item is a modifier."
example: "91105ae1-c3bb-43bb-bd4b-2b13a693701d"
format: uuid
type: string
prices:
properties:
original:
description: "The extended price configured in Connect"
example: "12.0"
type: string
format: string
sold:
description: "The extended price net of all adjustements, discounts, and fees"
example: "11.45"
type: string
format: string
type: object
taxes:
type: array
items:
$ref: "#/components/schemas/tax"
quantity:
description: "Quantity of the item sold"
example: "2.0"
format: float
type: string
measure:
properties:
unit:
type: string
example: "lb"
description: "Connect-configured item unit"
default: "each"
tare:
type: string
example: "0.45"
description: "Connect-assigned tare weight"
is_manual:
type: boolean
example: true
description: "Indicate if net_weight was assigned manually"
net_weight:
type: string
example: "3.45"
description: "Quantity of the item sold"
kitchen_id:
description: "The kitchen ID associated with this item"
example: "123"
type: string
original_order_id:
description: "If this is a refunded item, the original id of the order were the purchase was made"
example: "12345678"
type: string
type: object
limit:
default: 50
example: 50
type: integer
list_transactions_result:
properties:
orders:
type: array
items:
type: object
properties:
local_order_uuids:
$ref: "#/components/schemas/local_order_uuid"
corporate_id:
description: "Connect-assigned corporation ID"
example: 40
type: integer
external_vendor_id:
description: "Connect-configured External Vendor ID"
example: "BH0105"
nullable: true
type: string
vendor_id:
description: "Connect-assigned vendor ID"
example: 865
type: integer
venue_id:
description: "Connect-assigned venue ID"
example: 1371
type: integer
end_date:
description: "Date/time the transaction was created in UTC"
example: "2021-07-21T18:56:32Z"
type: string
sync_date:
description: "Date/time the transaction was synced in UTC"
example: "2021-07-21T18:56:32Z"
type: string
retrieval_status:
description: "If retrieved order has all available values or it is missing some"
example: "completed"
type: string
enum: [ completed, incomplete ]
original_order_ids:
description: "If the order contains refunded items, the original ids of the orders where the purchases were made"
example: ["21", "22"]
type: array
items:
type: string
pagination:
$ref: "#/components/schemas/pagination"
list_quarantine_orders_result:
properties:
orders:
type: array
items:
type: object
properties:
local_order_uuid:
$ref: "#/components/schemas/local_order_uuid"
corporate_id:
description: "Connect-assigned corporation ID"
example: 40
type: integer
external_vendor_id:
description: "Connect-configured External Vendor ID"
example: "BH0105"
nullable: true
type: string
vendor_id:
description: "Connect-assigned vendor ID"
example: 865
type: integer
venue_id:
description: "Connect-assigned venue ID"
example: 1371
type: integer
date:
description: "Date/time the transaction was quarantined in UTC"
example: "2021-07-21T18:56:32Z"
type: string
status:
description: "Status of the order"
example: ""
type: string
enum: [ DELETED, DEADLETTER ]
errors:
description: "The errors the order had"
type: array
items:
properties:
Fields:
description: "fields that are missing from the transaction"
type: array
items:
type: string
example: "order.user"
Errors:
type: string
description: "Error message from the consumer service"
example: "User id not exists"
pagination:
$ref: "#/components/schemas/pagination"
local_order_uuid:
description: "The presented device order UUID"
example: "ee23e571-ca78-4578-a0d1-8ecfe104d04f"
type: string
location:
description: "Identifiers for the location originating the ordere happened"
properties:
custom_fields:
items:
$ref: "#/components/schemas/custom_field"
type: array
vendor_id:
description: "Connect-assigned vendor ID"
example: 865
type: integer
vendor_name:
description: "Connect-configured vendor name"
example: Burgerland
type: string
maxLength: 200
venue_id:
description: "Connect-assigned venue ID"
example: 1371
type: integer
venue_name:
description: "Connect-configured venue name"
example: "Big Island Venue"
type: string
maxLength: 200
corporate_id:
description: "Connect-assigned corporation ID"
example: 40
type: integer
external_vendor_id:
description: "Connect-configured External Vendor ID"
example: "BH0105"
nullable: true
type: string
type: object
order:
properties:
items:
items:
$ref: "#/components/schemas/item"
type: array
local_order_id:
description: "The presented device order ID printed on receipts and shown in Connect"
example: "A0001999920063009000001"
type: string
local_order_uuid:
description: "The order UUID of the target transaction"
example: "ee23e571-bt75-4578-a0d1-7ecfe306d04f"
type: string
location:
$ref: "#/components/schemas/location"
order_id:
description: "The database identity value after the order is stored in Connect"
example: 1234
type: integer
payments:
items:
$ref: "#/components/schemas/payment"
type: array
fees:
type: array
items:
$ref: "#/components/schemas/fee"
origin:
description: "Appetize application where this order was created"
example: "appetize_android"
type: string
maxLength: 50
terminals:
items:
$ref: "#/components/schemas/terminal"
type: array
time:
properties:
end:
description: "Date/time the transaction was created in UTC"
example: "2020-11-21T14:00:00Z"
format: date-time
type: string
sync:
description: "Date/time the transaction was synced in UTC"
example: "2020-11-21T14:00:00Z"
format: date-time
type: string
timezone:
example: "America/New_York"
description: "Connect-configured venue time zone"
type: string
type: object
users:
items:
$ref: "#/components/schemas/user"
type: array
event:
description: "Event associated to the order"
properties:
id:
description: "Connect-assigned event ID"
example: 40
type: integer
order_type:
description: "The order type, as passed in from the client in the case of Ordering API, and as set in the terminal role in the case of Activate orders."
properties:
id:
description: "Connect-assigned order type ID"
example: 40
type: integer
name:
description: "Connect-assigned order type name"
example: "POS"
type: string
retrieval_status:
description: "If retrieved order has all available values or it is missing some"
example: "completed"
enum: [ completed, incomplete ]
type: string
seat_id:
description: "Connect-assigned seat ID"
example: 40
type: integer
customer_id:
description: "Connect-assigned customer ID"
example: "7037796"
type: string
type: object
page:
default: 1
example: 50
type: integer
pagination:
properties:
limit:
default: 50
example: 1
type: integer
page:
default: 1
example: 3
type: integer
total_pages:
example: 4
type: integer
total_results:
example: 4
type: integer
required:
- page
- limit
- total_results
- total_pages
type: object
payment:
description: "Instance of a payment made on the order"
properties:
amount:
description: "The amount of money which was paid on with this payment"
example: "43.74"
format: float
type: string
change:
description: "The amount of money which was given back to the customer in change"
example: "6.26"
format: float
type: string
tip:
description: "The amount of money which was given as tip"
example: "1.26"
format: float
type: string
index:
description: "Relative sequence of payment applied"
example: 1
type: integer
tender_id:
description: "Connect-configured tender id, or Connect-defined tender id if null"
type: integer
tender_name:
description: "Name of the tender"
example: CREDIT
type: string
maxLength: 200
metadata:
description: "External data of the payment (no max length)"
example: "{\"AuthCurrency\":\"USD\",\"CaptureMethod\":\"MANUAL\",\"DeviceTransactionID\":\"260521ED3-8F67B6C8-DB4F-41CB-879D-006EAFE4409F\",\"ReqCurrency\":\"USD\"}"
type: string
transaction_id:
description: "Transaction id of the payment (not in all payment methods)"
example: "260521ED3-8F67B6C8-DB4F-41CB-879D-006EAFE4409F"
type: string
maxLength: 100
type: object
tax:
type: object
description: "Tax assessed on an item, fee or other taxable good"
properties:
amount:
type: string
example: "0.53"
description: "The calculated mount of tax assessed"
class:
type: string
enum:
- INCLUSIVE
- EXCLUSIVE
type:
type: string
enum:
- PERCENTAGE
- FLAT
- TABLE
name:
type: string
example: "Incl State Tax 5%"
maxLength: 20
index:
type: integer
example: 1
rate:
type: string
example: "5.0"
terminal:
description: "Information about the terminal used during the order lifetime"
properties:
id:
default: "9999"
description: "Locally configured terminal ID"
example: "0012"
type: string
maxLength: 40
type: object
user:
description: "Information about the users (employees) that handled the order during its lifetime"
properties:
login:
description: "Connect-configured employee users' login"
example: "59385859"
type: string
name:
description: "Connect-configured employee users' Name as defined in Connect"
example: "Jane Smith"
type: string
maxLength: 200
known_as:
description: "Connect-configured employee users' Known As name displayed on receipts"
example: "Jane S."
type: string
maxLength: 200
external_id:
description: "Connect-configured employee users' external ID"
example: "SAP0001289"
type: string
maxLength: 15
type: object
venue_id:
example: 1238
type: integer
retrieval_status:
example: "completed"
type: string
default: "completed"
enum: [ completed, incomplete ]
status:
example: "DEADLETTER"
type: string
default: ""
enum: [ "DEADLETTER", "DELETED", ""]
responses:
'400':
description: bad request
'401':
description: unauthorized
'403':
description: forbidden
'404':
description: not found
'415':
description: unsupported media type in content-type header
'422':
description: unprocessable entity
'500':
description: internal server error
TAPI 2.1.0
Released on 08/11/2022
Release Notes:
Enhancement: Added 3 fields
- Original Order ID: local_order_id
- Seat ID: seat_id
- Customer ID: customer_id
openapi: 3.0.0
info:
version: 2.1.0
title: Transactions API
description: |
The Appetize Transactions API provides access to get and list order information.<br />
Use the ListOrders endpoint to get a list of all orders to which you have access, within a date and time range that you specify. <br/>
Use the GetOrder endpoint to get order details for a specific order, using the UUID you got from the ListOrders endpoint.<br/>
We use JWT to authenticate your requests. You can generate it using the auth endpoint described below. Please contact Appetize to get the API key.
contact: {}
servers:
- description: Appetize API URL. This URL will be provided by our team.
url: https://{environment}.appetize.com
paths:
/auth/transactions:
post:
summary: Authentication of api key.
tags:
- Auth
description: This auth endpoint will return the JWT token required to call Transactions API.
parameters:
- $ref: '#/components/parameters/x_api_key'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
auth_key:
type: string
example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ2...
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: bad request
code:
type: integer
example: 400
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: unauthorized
code:
type: integer
example: 401
/orders:
get:
tags:
- ListOrders
summary: List orders to which you have access, as defined in your JWT.
operationId: listOrders
parameters:
- $ref: '#/components/parameters/start_date'
- $ref: '#/components/parameters/end_date'
- $ref: '#/components/parameters/start_sync_date'
- $ref: '#/components/parameters/end_sync_date'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/retrieval_status'
responses:
'200':
description: Success
content:
application/com.appetize.transactions_api.listOrders.v1.0+json:
schema:
$ref: '#/components/schemas/list_transactions_result'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'415':
$ref: '#/components/responses/415'
'422':
$ref: '#/components/responses/422'
'500':
$ref: '#/components/responses/500'
/orders/{local_order_uuid}:
get:
tags:
- GetOrder
summary: Get a specific order and its details.
operationId: getOrder
parameters:
- $ref: '#/components/parameters/local_order_uuid'
responses:
'200':
description: Success
content:
application/com.appetize.transactions_api.getOrder.v1+json:
schema:
$ref: '#/components/schemas/order'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'415':
$ref: '#/components/responses/415'
'422':
$ref: '#/components/responses/422'
'500':
$ref: '#/components/responses/500'
/quarantine-orders/{local_order_uuid}/mark-dead-letter:
put:
tags:
- MarkDeadLetterQuarantineOrder
summary: Mark a quarantine order as dead letter.
operationId: markDeadLetterQuarantineOrder
parameters:
- $ref: '#/components/parameters/local_order_uuid'
responses:
'200':
description: Success
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'415':
$ref: '#/components/responses/415'
'422':
$ref: '#/components/responses/422'
'500':
$ref: '#/components/responses/500'
/quarantine-orders:
get:
tags:
- ListQuarantineOrders
summary: List quarantine orders to which you have access, as defined in your JWT.
operationId: listQuarantineOrders
parameters:
- $ref: '#/components/parameters/start_date'
- $ref: '#/components/parameters/end_date'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/status'
responses:
'200':
description: Success
content:
application/com.appetize.transactions_api.listQuarantineOrders.v1.0+json:
schema:
$ref: '#/components/schemas/list_quarantine_orders_result'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'415':
$ref: '#/components/responses/415'
'422':
$ref: '#/components/responses/422'
'500':
$ref: '#/components/responses/500'
/orders/{local_order_uuid}/reprocess:
post:
tags:
- Reprocess
summary: Reprocess order.
description: Reprocess an order that is stored in quarantine collection.
parameters:
- $ref: '#/components/parameters/local_order_uuid'
responses:
'200':
description: OK
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: bad request
code:
type: integer
example: 400
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: unauthorized
code:
type: integer
example: 401
components:
parameters:
corporate_id:
description: The Corporate ID of the target transactions
in: path
name: corporate_id
required: true
schema:
$ref: '#/components/schemas/corporate_id'
limit:
description: The max number of results to be returned
in: query
name: limit
schema:
$ref: '#/components/schemas/limit'
local_order_uuid:
description: The order UUID of the target transaction
in: path
name: local_order_uuid
required: true
schema:
$ref: '#/components/schemas/local_order_uuid'
page:
description: Page number to be returned
in: query
name: page
schema:
$ref: '#/components/schemas/page'
start_date:
description: The lower bound for date and time (UTC) to be returned
in: query
name: start_date
schema:
$ref: '#/components/schemas/start_date'
end_date:
description: The upper bound for date and time (UTC) to be returned
in: query
name: end_date
schema:
$ref: '#/components/schemas/end_date'
start_sync_date:
description: The lower bound for date and time (UTC) to be returned
in: query
name: start_sync_date
schema:
$ref: '#/components/schemas/start_sync_date'
end_sync_date:
description: The upper bound for date and time (UTC) to be returned
in: query
name: end_sync_date
schema:
$ref: '#/components/schemas/end_sync_date'
venue_id:
description: The venue ID of the target transactions
in: path
name: venue_id
required: true
schema:
$ref: '#/components/schemas/venue_id'
retrieval_status:
description: Current retrieval status of the order. default value is completed
in: query
name: retrieval_status
schema:
$ref: '#/components/schemas/retrieval_status'
x_api_key:
name: X-API-Key
in: header
required: true
schema:
type: string
status:
description: Status of the quarantine order [DEADLETTER | DELETED]. Empty for orders with no status
in: query
name: status
schema:
$ref: '#/components/schemas/status'
schemas:
corporate_id:
example: 1238
type: integer
custom_field:
description: Connect-configured custom field
properties:
key:
description: Connect-configured Custom Field key
example: Buyer
type: string
maxLength: 100
name:
description: Connect-configured Custom Field name
example: Merchandise Buyer
type: string
maxLength: 255
value:
example: Sally M.
type: string
maxLength: 65535
type: object
discount:
properties:
amount:
description: Currency amount of the discount applied multiplied by the quantity
example: '-1.1'
type: string
format: float
index:
description: Order of the discount applied
example: 1
type: integer
name:
description: Connect-configured reduction name
example: Gold Tier 10%
type: string
maxLength: 255
reference:
description: Connect-configured reference ID for the discount
example: SomeUniqueValue
type: string
maxLength: 50
type:
description: The type of discount applied
enum:
- FLAT
- PERCENT
example: PERCENT
type: string
value:
description: Value of the percent or flat amount to be discounted
example: '0.1'
type: string
format: float
metadata:
description: External data of the discount (no max length)
example: '{"id":"silver","display_name":"Discount Validation Interface","integration_id":95,"entry_method":"K"}'
type: string
type: object
end_date:
description: Date/time the transaction was created in UTC
example: '2021-05-26T00:01:00Z'
type: string
start_date:
description: Date/time the transaction was created in UTC
example: '2021-05-24T00:01:00Z'
type: string
end_sync_date:
description: Date/time the transaction was synced in UTC
example: '2021-05-26T00:01:00Z'
type: string
start_sync_date:
description: Date/time the transaction was synced in UTC
example: '2021-05-24T00:01:00Z'
type: string
fee:
type: object
properties:
amount:
type: string
format: float
example: '5.50'
description: Currency amount of the fee applied
name:
type: string
example: 10% Corkage Fee
description: Connect-configured fee name
maxLength: 255
index:
type: integer
example: 1
description: Order of the fee applied
class:
type: string
enum:
- FEE
- SERVICE CHARGE
- GRATUITY
- TIP
type:
type: string
example: PERCENT
description: The type of fee applied
enum:
- FLAT
- PERCENT
value:
type: string
format: float
example: '0.1'
description: Value of the fee applied
taxes:
type: array
items:
$ref: '#/components/schemas/tax'
item:
properties:
custom_fields:
items:
$ref: '#/components/schemas/custom_field'
type: array
discounts:
items:
$ref: '#/components/schemas/discount'
type: array
identifiers:
properties:
item_id:
description: Connect-assigned unique item identifier
example: 47391
type: integer
name:
description: Connect-configured item name
example: Cheeseburger
type: string
maxLength: 200
display_name:
description: Connect-configured item display name
example: Cheeseburger
type: string
maxLength: 200
sku:
description: Connect-configured item SKU
example: 5834b8503840
type: string
external_id:
description: Connect-configured item External ID
example: AA749f04948
type: string
type: object
index:
description: Relative position of the item in the cart, used in other references, one-based
example: 1
type: integer
line_item_uuid:
description: Appetize-generated identifier for this item cart sale
example: ae76b6c4-6c35-42a5-93f9-ea6d60c642de
format: uuid
type: string
operation:
description: Indicates if this item is an item sale or an item refund
enum:
- SALE
- REFUND
example: SALE
type: string
parent_item_uuid:
description: Appetize-generated identifier for the parent. It is only present if the item is a modifier.
example: 91105ae1-c3bb-43bb-bd4b-2b13a693701d
format: uuid
type: string
prices:
properties:
original:
description: The extended price configured in Connect
example: '12.0'
type: string
format: string
sold:
description: The extended price net of all adjustements, discounts, and fees
example: '11.45'
type: string
format: string
type: object
taxes:
type: array
items:
$ref: '#/components/schemas/tax'
quantity:
description: Quantity of the item sold
example: '2.0'
format: float
type: string
measure:
properties:
unit:
type: string
example: lb
description: Connect-configured item unit
default: each
tare:
type: string
example: '0.45'
description: Connect-assigned tare weight
is_manual:
type: boolean
example: true
description: Indicate if net_weight was assigned manually
net_weight:
type: string
example: '3.45'
description: Quantity of the item sold
kitchen_id:
description: The kitchen ID associated with this item
example: '123'
type: string
type: object
limit:
default: 50
example: 50
type: integer
list_transactions_result:
properties:
orders:
type: array
items:
type: object
properties:
local_order_uuids:
$ref: '#/components/schemas/local_order_uuid'
corporate_id:
description: Connect-assigned corporation ID
example: 40
type: integer
external_vendor_id:
description: Connect-configured External Vendor ID
example: BH0105
nullable: true
type: string
vendor_id:
description: Connect-assigned vendor ID
example: 865
type: integer
venue_id:
description: Connect-assigned venue ID
example: 1371
type: integer
end_date:
description: Date/time the transaction was created in UTC
example: '2021-07-21T18:56:32Z'
type: string
sync_date:
description: Date/time the transaction was synced in UTC
example: '2021-07-21T18:56:32Z'
type: string
retrieval_status:
description: If retrieved order has all available values or it is missing some
example: completed
type: string
enum:
- completed
- incomplete
pagination:
$ref: '#/components/schemas/pagination'
list_quarantine_orders_result:
properties:
orders:
type: array
items:
type: object
properties:
local_order_uuid:
$ref: '#/components/schemas/local_order_uuid'
corporate_id:
description: Connect-assigned corporation ID
example: 40
type: integer
external_vendor_id:
description: Connect-configured External Vendor ID
example: BH0105
nullable: true
type: string
vendor_id:
description: Connect-assigned vendor ID
example: 865
type: integer
venue_id:
description: Connect-assigned venue ID
example: 1371
type: integer
date:
description: Date/time the transaction was quarantined in UTC
example: '2021-07-21T18:56:32Z'
type: string
status:
description: Status of the order
example: ''
type: string
enum:
- DELETED
- DEADLETTER
errors:
description: The errors the order had
type: array
items:
properties:
Fields:
description: fields that are missing from the transaction
type: array
items:
type: string
example: order.user
Errors:
type: string
description: Error message from the consumer service
example: User id not exists
pagination:
$ref: '#/components/schemas/pagination'
local_order_uuid:
description: The presented device order UUID
example: ee23e571-ca78-4578-a0d1-8ecfe104d04f
type: string
location:
description: Identifiers for the location originating the ordere happened
properties:
custom_fields:
items:
$ref: '#/components/schemas/custom_field'
type: array
vendor_id:
description: Connect-assigned vendor ID
example: 865
type: integer
vendor_name:
description: Connect-configured vendor name
example: Burgerland
type: string
maxLength: 200
venue_id:
description: Connect-assigned venue ID
example: 1371
type: integer
venue_name:
description: Connect-configured venue name
example: Big Island Venue
type: string
maxLength: 200
corporate_id:
description: Connect-assigned corporation ID
example: 40
type: integer
external_vendor_id:
description: Connect-configured External Vendor ID
example: BH0105
nullable: true
type: string
type: object
order:
properties:
items:
items:
$ref: '#/components/schemas/item'
type: array
local_order_id:
description: The presented device order ID printed on receipts and shown in Connect
example: A0001999920063009000001
type: string
local_order_uuid:
description: The order UUID of the target transaction
example: ee23e571-bt75-4578-a0d1-7ecfe306d04f
type: string
location:
$ref: '#/components/schemas/location'
order_id:
description: The database identity value after the order is stored in Connect
example: 1234
type: integer
payments:
items:
$ref: '#/components/schemas/payment'
type: array
fees:
type: array
items:
$ref: '#/components/schemas/fee'
origin:
description: Appetize application where this order was created
example: appetize_android
type: string
maxLength: 50
terminals:
items:
$ref: '#/components/schemas/terminal'
type: array
time:
properties:
end:
description: Date/time the transaction was created in UTC
example: '2020-11-21T14:00:00Z'
format: date-time
type: string
sync:
description: Date/time the transaction was synced in UTC
example: '2020-11-21T14:00:00Z'
format: date-time
type: string
timezone:
example: America/New_York
description: Connect-configured venue time zone
type: string
type: object
users:
items:
$ref: '#/components/schemas/user'
type: array
event:
description: Event associated to the order
properties:
id:
description: Connect-assigned event ID
example: 40
type: integer
order_type:
description: The order type, as passed in from the client in the case of Ordering API, and as set in the terminal role in the case of Activate orders.
properties:
id:
description: Connect-assigned order type ID
example: 40
type: integer
name:
description: Connect-assigned order type name
example: POS
type: string
retrieval_status:
description: If retrieved order has all available values or it is missing some
example: completed
enum:
- completed
- incomplete
type: string
seat_id:
description: Connect-assigned seat ID
example: 40
type: integer
customer_id:
description: Connect-assigned customer ID
example: '7037796'
type: string
type: object
page:
default: 1
example: 50
type: integer
pagination:
properties:
limit:
default: 50
example: 1
type: integer
page:
default: 1
example: 3
type: integer
total_pages:
example: 4
type: integer
total_results:
example: 4
type: integer
required:
- page
- limit
- total_results
- total_pages
type: object
payment:
description: Instance of a payment made on the order
properties:
amount:
description: The amount of money which was paid on with this payment
example: '43.74'
format: float
type: string
change:
description: The amount of money which was given back to the customer in change
example: '6.26'
format: float
type: string
tip:
description: The amount of money which was given as tip
example: '1.26'
format: float
type: string
index:
description: Relative sequence of payment applied
example: 1
type: integer
tender_id:
description: Connect-configured tender id, or Connect-defined tender id if null
type: integer
tender_name:
description: Name of the tender
example: CREDIT
type: string
maxLength: 200
metadata:
description: External data of the payment (no max length)
example: '{"AuthCurrency":"USD","CaptureMethod":"MANUAL","DeviceTransactionID":"260521ED3-8F67B6C8-DB4F-41CB-879D-006EAFE4409F","ReqCurrency":"USD"}'
type: string
transaction_id:
description: Transaction id of the payment (not in all payment methods)
example: 260521ED3-8F67B6C8-DB4F-41CB-879D-006EAFE4409F
type: string
maxLength: 100
type: object
tax:
type: object
description: Tax assessed on an item, fee or other taxable good
properties:
amount:
type: string
example: '0.53'
description: The calculated mount of tax assessed
class:
type: string
enum:
- INCLUSIVE
- EXCLUSIVE
type:
type: string
enum:
- PERCENTAGE
- FLAT
- TABLE
name:
type: string
example: Incl State Tax 5%
maxLength: 20
index:
type: integer
example: 1
rate:
type: string
example: '5.0'
terminal:
description: Information about the terminal used during the order lifetime
properties:
id:
default: '9999'
description: Locally configured terminal ID
example: '0012'
type: string
maxLength: 40
type: object
user:
description: Information about the users (employees) that handled the order during its lifetime
properties:
login:
description: Connect-configured employee users' login
example: '59385859'
type: string
name:
description: Connect-configured employee users' Name as defined in Connect
example: Jane Smith
type: string
maxLength: 200
known_as:
description: Connect-configured employee users' Known As name displayed on receipts
example: Jane S.
type: string
maxLength: 200
external_id:
description: Connect-configured employee users' external ID
example: SAP0001289
type: string
maxLength: 15
type: object
venue_id:
example: 1238
type: integer
retrieval_status:
example: completed
type: string
default: completed
enum:
- completed
- incomplete
status:
example: DEADLETTER
type: string
default: ''
enum:
- DEADLETTER
- DELETED
- ''
responses:
'400':
description: bad request
'401':
description: unauthorized
'403':
description: forbidden
'404':
description: not found
'415':
description: unsupported media type in content-type header
'422':
description: unprocessable entity
'500':
description: internal server error
x-readme:
explorer-enabled: true
proxy-enabled: true
samples-enabled: true