OpenAPI Specification
swagger: '2.0'
info:
version: '1.0'
title: NewStore address cashboxes API
description: NewStore public APIs
contact:
email: support@newstore.com
name: NewStore API Support
url: https://developer.newstore.com
host: dodici-demo.p.newstore.net
basePath: /
schemes:
- https
consumes:
- application/json
produces:
- application/json
security: []
tags:
- name: cashboxes
description: Fiscal cashboxes
paths:
/stores/{storeId}/cashboxes:
get:
description: List cashboxes for the given store identifier.
summary: listCashboxes
tags:
- cashboxes
operationId: listCashboxes
deprecated: false
produces:
- application/problem+json
- application/json
parameters:
- name: storeId
in: path
required: true
type: string
description: ''
responses:
default:
description: Unexpected error.
schema:
$ref: '#/definitions/Problem'
headers: {}
'200':
description: List of cashboxes.
schema:
$ref: '#/definitions/CashboxListV1Dto'
headers: {}
'401':
description: Unauthorized.
schema:
$ref: '#/definitions/Problem'
headers: {}
'403':
description: Forbidden.
schema:
$ref: '#/definitions/Problem'
headers: {}
'429':
description: Too Many Requests
schema:
$ref: '#/definitions/Problem'
headers:
Retry-After:
type: string
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/Problem'
headers: {}
'502':
description: Bad Gateway
schema:
$ref: '#/definitions/Problem'
headers: {}
'503':
description: Service Unavailable
schema:
$ref: '#/definitions/Problem'
headers: {}
security:
- oauth:
- newstore:configuration:read
post:
description: Activate cashbox by using the given cashbox configuration for the given store identifier.
summary: createCashbox
tags:
- cashboxes
operationId: createCashbox
deprecated: false
produces:
- application/problem+json
- application/json
consumes:
- application/json
parameters:
- name: storeId
in: path
required: true
type: string
description: ''
- name: Content-Type
in: header
required: false
enum:
- application/json
type: string
description: ''
- name: body
in: body
required: true
description: ''
schema:
$ref: '#/definitions/CashboxCreateV1Dto'
responses:
default:
description: Unexpected error.
schema:
$ref: '#/definitions/Problem'
headers: {}
'200':
description: Cashbox that was activated.
schema:
$ref: '#/definitions/CashboxCreatedV1Dto'
headers: {}
'400':
description: Bad request.
schema:
$ref: '#/definitions/Problem'
headers: {}
'401':
description: Unauthorized.
schema:
$ref: '#/definitions/Problem'
headers: {}
'403':
description: Forbidden.
schema:
$ref: '#/definitions/Problem'
headers: {}
'409':
description: Cashbox was already activated.
schema:
$ref: '#/definitions/Problem'
headers: {}
'429':
description: Too Many Requests
schema:
$ref: '#/definitions/Problem'
headers:
Retry-After:
type: string
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/Problem'
headers: {}
'502':
description: Bad Gateway
schema:
$ref: '#/definitions/Problem'
headers: {}
'503':
description: Service Unavailable
schema:
$ref: '#/definitions/Problem'
headers: {}
security:
- oauth:
- newstore:configuration:write
/stores/{storeId}/cashboxes/{cashboxId}:
get:
description: Get cashbox for the given store and cashbox identifiers.
summary: showCashbox
tags:
- cashboxes
operationId: showCashbox
deprecated: false
produces:
- application/problem+json
- application/json
parameters:
- name: storeId
in: path
required: true
type: string
description: ''
- name: cashboxId
in: path
required: true
type: string
description: ''
responses:
default:
description: Unexpected error.
schema:
$ref: '#/definitions/Problem'
headers: {}
'200':
description: Cashbox.
schema:
$ref: '#/definitions/CashboxGetV1Dto'
headers: {}
'401':
description: Unauthorized.
schema:
$ref: '#/definitions/Problem'
headers: {}
'403':
description: Forbidden.
schema:
$ref: '#/definitions/Problem'
headers: {}
'404':
description: Cashbox not found.
schema:
$ref: '#/definitions/Problem'
headers: {}
'429':
description: Too Many Requests
schema:
$ref: '#/definitions/Problem'
headers:
Retry-After:
type: string
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/Problem'
headers: {}
'502':
description: Bad Gateway
schema:
$ref: '#/definitions/Problem'
headers: {}
'503':
description: Service Unavailable
schema:
$ref: '#/definitions/Problem'
headers: {}
security:
- oauth:
- newstore:configuration:read
/stores/{storeId}/cashboxes/{cashboxId}/release:
post:
description: "\n<div style=\"background-color: rgba(243, 156, 18, 0.15); border: 1px solid #f39c12; border-left: 4px solid #f39c12; padding: 12px; margin: 10px 0; border-radius: 4px; color: #f39c12;\">\n <strong>\U0001F6A7 BETA:</strong> This endpoint is in beta and may change.\n <br />\n See <a href=\"https://docs.newstore.com/docs/api-lifecycle\" target=\"_blank\" style=\"color: #f39c12; text-decoration: underline;\">API Lifecycle Documentation</a> for details.\n</div>\n\n[Italy] Create a release for the deactivated fiscal printer so it can be reassigned to another tenant or store."
summary: createCashboxRelease
tags:
- cashboxes
operationId: createCashboxRelease
deprecated: false
produces:
- application/problem+json
- application/json
consumes:
- application/json
parameters:
- name: storeId
in: path
required: true
type: string
description: ''
- name: cashboxId
in: path
required: true
type: string
description: ''
- name: Content-Type
in: header
required: false
enum:
- application/json
type: string
description: ''
- name: body
in: body
required: true
description: ''
schema:
$ref: '#/definitions/CashboxReleaseV1Dto'
responses:
default:
description: Unexpected error.
schema:
$ref: '#/definitions/Problem'
headers: {}
'200':
description: Cashbox that was released for reassignment.
schema:
$ref: '#/definitions/CashboxV1Dto'
headers: {}
'400':
description: Bad request.
schema:
$ref: '#/definitions/Problem'
headers: {}
'401':
description: Unauthorized.
schema:
$ref: '#/definitions/Problem'
headers: {}
'403':
description: Forbidden.
schema:
$ref: '#/definitions/Problem'
headers: {}
'404':
description: Cashbox not found.
schema:
$ref: '#/definitions/Problem'
headers: {}
'409':
description: Cashbox cannot be released.
schema:
$ref: '#/definitions/Problem'
headers: {}
'429':
description: Too Many Requests
schema:
$ref: '#/definitions/Problem'
headers:
Retry-After:
type: string
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/Problem'
headers: {}
'502':
description: Bad Gateway
schema:
$ref: '#/definitions/Problem'
headers: {}
'503':
description: Service Unavailable
schema:
$ref: '#/definitions/Problem'
headers: {}
security:
- oauth:
- newstore:configuration:write
definitions:
CashboxListV1Dto:
title: CashboxListV1Dto
type: object
properties:
items:
description: List of cashboxes.
type: array
items:
$ref: '#/definitions/CashboxV1Dto'
required:
- items
Problem:
title: Problem
type: object
properties:
detail:
description: A human readable explanation specific to this occurrence of the problem that is helpful to locate the problem and give advice on how to proceed. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized.
example: some description for the error situation
type: string
error_code:
type: string
instance:
description: A URI reference that identifies the specific occurrence of the problem, e.g. by adding a fragment identifier or sub-path to the problem type. May be used to locate the root of this problem in the source code.
example: /some/uri-reference#specific-occurrence-context
type: string
message:
type: string
messages:
type: array
items:
type: string
request_id:
type: string
status:
description: The HTTP status code generated by the origin server for this occurrence of the problem.
type: integer
minimum: 100.0
maximum: 600.0
exclusiveMaximum: true
format: int32
title:
description: A short summary of the problem type. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized.
example: some title for the error situation
type: string
type:
description: A URI reference that uniquely identifies the problem type only in the context of the provided API. Opposed to the specification in RFC-7807, it is neither recommended to be dereferenceable and point to a human-readable documentation nor globally unique for the problem type.
example: /some/uri-reference
type: string
default: about:blank
CashboxReleaseV1Dto:
title: CashboxReleaseV1Dto
type: object
properties:
acknowledge_fiscal_printer_reset:
description: Confirmation that the fiscal printer was deactivated/reset by an authorised technician and is legally ready to be reassigned to another store. NewStore does not perform or verify the fiscal/legal deregistration; the retailer is responsible for completing all applicable fiscal authority requirements first.
type: boolean
required:
- acknowledge_fiscal_printer_reset
CashboxCreatedV1Dto:
title: CashboxCreatedV1Dto
type: object
properties:
activated_at:
description: Timestamp of the cashbox activation.
type: string
format: date-time
config:
description: Fiscal provider configuration.
deactivated_at:
description: Timestamp of the cashbox deactivation.
type: string
format: date-time
fiscal_provider_id:
$ref: '#/definitions/FiscalProviderId'
id:
description: Cashbox identifier.
example: dodici-f9ab99c2-d4ba-4752-ac9b-20e5cbeba82a-1
type: string
state:
$ref: '#/definitions/CashboxState'
store_id:
description: Store identifier that the cashbox belongs to.
example: f9ab99c2-d4ba-4752-ac9b-20e5cbeba82a
type: string
tenant:
description: Tenant identifier.
example: dodici
type: string
warning_codes:
description: List of warning codes that were indicated by the fiscal provider during fiscal activation.
type: array
items:
$ref: '#/definitions/F11nWarningCode'
maxItems: 3
required:
- activated_at
- config
- fiscal_provider_id
- id
- state
- store_id
- tenant
CashboxCreateV1Dto:
title: CashboxCreateV1Dto
type: object
properties:
config:
description: Fiscal provider configuration.
fiscal_provider_id:
$ref: '#/definitions/FiscalProviderId'
required:
- config
- fiscal_provider_id
F11nWarningCode:
title: F11nWarningCode
description: Fiscalization warning codes that are propagated to the clients (e.g. Associate App) for providing information on possible action items.
example: f11n_fiscal_printer_paper_running_out
type: string
enum:
- f11n_fiscal_printer_paper_running_out
- f11n_fiscal_printer_charger_disconnected
- f11n_fiscal_printer_fiscal_memory_nearly_full
CashboxV1Dto:
title: CashboxV1Dto
type: object
properties:
activated_at:
description: Timestamp of the cashbox activation.
type: string
format: date-time
config:
description: Fiscal provider configuration.
deactivated_at:
description: Timestamp of the cashbox deactivation.
type: string
format: date-time
fiscal_provider_id:
$ref: '#/definitions/FiscalProviderId'
id:
description: Cashbox identifier.
example: dodici-f9ab99c2-d4ba-4752-ac9b-20e5cbeba82a-1
type: string
state:
$ref: '#/definitions/CashboxState'
store_id:
description: Store identifier that the cashbox belongs to.
example: f9ab99c2-d4ba-4752-ac9b-20e5cbeba82a
type: string
tenant:
description: Tenant identifier.
example: dodici
type: string
required:
- activated_at
- config
- fiscal_provider_id
- id
- state
- store_id
- tenant
CashboxGetV1Dto:
title: CashboxGetV1Dto
type: object
properties:
activated_at:
description: Timestamp of the cashbox activation.
type: string
format: date-time
config:
description: Fiscal provider configuration.
deactivated_at:
description: Timestamp of the cashbox deactivation.
type: string
format: date-time
fiscal_provider_id:
$ref: '#/definitions/FiscalProviderId'
id:
description: Cashbox identifier.
example: dodici-f9ab99c2-d4ba-4752-ac9b-20e5cbeba82a-1
type: string
state:
$ref: '#/definitions/CashboxState'
store_id:
description: Store identifier that the cashbox belongs to.
example: f9ab99c2-d4ba-4752-ac9b-20e5cbeba82a
type: string
tenant:
description: Tenant identifier.
example: dodici
type: string
transaction_series:
description: The series used to generate the transaction sequence numbers. This field will have a value only for cashboxes that support multiple series otherwise it will be an empty array.
example:
- S24-ABCDE
- R24-ABCDE
type: array
items:
type: string
required:
- activated_at
- config
- fiscal_provider_id
- id
- state
- store_id
- tenant
- transaction_series
CashboxState:
title: CashboxState
description: The state of the cashbox, whether it is activated or deactivated.
example: activated
type: string
enum:
- activated
- deactivated
FiscalProviderId:
title: FiscalProviderId
description: The fiscal provider id being used.
example: axena-se
type: string
enum:
- axena-se
- dummy
- epson-it
- fiskaltrust-at
- fiskaltrust-de
- fiskaltrust-fr
- newstore-ie
- newstore-no
- posnet-pl
- ycs-pr
- newstore-in
- newstore-th
- newstore-es
- newstore-be
- efsta-pt
securityDefinitions:
oauth:
type: oauth2
flow: application
tokenUrl: https://id.p.newstore.net/auth/realms/dodici-demo/protocol/openid-connect/token
scopes:
catalog:import-schemas:read: Grants privileges to read import schema
catalog:import-schemas:write: Grants privileges to write import schema
catalog:pricebook-export:read: Grants privileges to export pricebook data
catalog:product-export:read: Grants privileges to export product data
checkout:carts:read: Grants privileges to read cart data
checkout:carts:write: Grants privileges to write cart data
clienteling:profile:read: Grants privileges to read clienteling profiles
customer:profile:read: Grants privileges to read API customer data
customer:profile:write: Grants privileges to modify API customer data
newstore:configuration:read: Grants privileges to read configuration
newstore:configuration:write: Grants privileges to write configuration
fiscalization:orders:read: View orders with fiscal transactions and signatures
fiscalization:orders:write: Create orders with fiscal transactions and signatures
shipments:read: Read Shipping Options and Audits
iam:providers:read: ' Grants read privileges to provider resources'
iam:providers:write: ' Grants write privileges to provider resources'
iam:roles:read: ' Grants privileges to read roles data'
iam:roles:write: ' Grants privileges to write roles data'
iam:users:read: ' Grants privileges to read user data'
iam:users:write: ' Grants privileges to write user data'
inventory:reservations:read: Allows access to retrieve reservations
inventory:reservations:write: Allows access to create and update reservations
promotions:config:read: Grants privileges to read configuration
promotions:config:write: Grants privileges to write into configuration
promotions:reason-codes:read: Grants privileges to list reason codes
promotions:reason-codes:write: Grants privileges to create and update reason codes
audit-events:read: Grants read access to the tenant's audit events.
taxes:preview-transactions:write: Preview tax transactions
taxes:transactions:read: Read tax transactions