OpenAPI Specification
swagger: '2.0'
info:
version: '1.0'
title: NewStore address tenant-config 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: tenant-config
description: Tenant configuration
paths:
/config:
get:
description: Get fiscal configuration of the tenant.
summary: showTenantConfig
tags:
- tenant-config
operationId: showTenantConfig
deprecated: false
produces:
- application/problem+json
- application/json
parameters:
- name: version
in: query
required: false
type: number
format: double
description: 'Configuration version number.
* If left empty, the latest version of the configuration will be returned.'
- name: include_metadata
in: query
required: false
default: false
type: boolean
description: Include metadata fields.
responses:
default:
description: Unexpected error.
schema:
$ref: '#/definitions/Problem'
headers: {}
'200':
description: Tenant configuration.
schema:
$ref: '#/definitions/TenantConfigV1Dto'
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
/config/offline-mode:
get:
description: Get list of countries supporting offline-mode for the tenant.
summary: showTenantOfflineModeConfig
tags:
- tenant-config
operationId: showTenantOfflineModeConfig
deprecated: false
produces:
- application/problem+json
- application/json
parameters: []
responses:
default:
description: Unexpected error.
schema:
$ref: '#/definitions/Problem'
headers: {}
'200':
description: List of countries supporting offline-mode.
schema:
$ref: '#/definitions/OfflineCountriesResponseV1Dto'
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
patch:
description: 'Update list of countries supporting offline-mode for the tenant.
* Only editable countries are allowed.
* List of editable countries can be retireved through `GET /f11n/config`.'
summary: updateTenantOfflineModeConfig
tags:
- tenant-config
operationId: updateTenantOfflineModeConfig
deprecated: false
produces:
- application/problem+json
- application/json
consumes:
- application/json
parameters:
- name: Content-Type
in: header
required: false
enum:
- application/json
type: string
description: ''
- name: body
in: body
required: true
description: ''
schema:
$ref: '#/definitions/OfflineCountriesUpdateRequestV1Dto'
responses:
default:
description: Unexpected error.
schema:
$ref: '#/definitions/Problem'
headers: {}
'200':
description: Offline config that was updated.
schema:
$ref: '#/definitions/OfflineCountriesResponseV1Dto'
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: {}
'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:
TransactionSignatureStrategy:
title: TransactionSignatureStrategy
description: "Offline transaction signature strategy that will be used while processing offline transactions.\n* `standard-signing`\n\n\n * Offline orders will be fiscally signed according to regulations.\n * Can be used in cases if the receipt would be emailed once the offline order is processed.\n* `late-signing`\n\n\n * Offline orders will be signed with late signing flag.\n * Can be used in cases if the receipt would be emailed once the offline order is processed.\n* `manual-receipts`\n\n\n * Offline orders will be signed with manual flag.\n * A receipt for the offline orders and do not need to be emailed later.\n * Can be used in cases if the a manual receipt was issued by the store, and an electronic receipt should not be sent.\n* `no-signing`\n\n\n * Offline orders will not be signed and should be considered completed without any signature needed.\n * Can be used in cases if the fiscal signature was issued outside of the NewStore platform."
example: no-signing
type: string
enum:
- standard-signing
- late-signing
- manual-receipts
- no-signing
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
FiscalEnvironment:
title: FiscalEnvironment
description: Fiscal environment of the tenant.
example: non-production
type: string
enum:
- non-production
- production
TenantConfigV1Dto:
title: TenantConfigV1Dto
type: object
properties:
created_at:
description: Creation date of the configuration.
example: '2024-05-13T07:52:32.285Z'
type: string
format: date-time
environment:
$ref: '#/definitions/FiscalEnvironment'
offline_countries:
type: object
allOf:
- $ref: '#/definitions/OfflineCountriesConfigMetadataV1Dto'
- description: Offline mode configuration per country.
updated_at:
description: Latest update date of the configuration.
example: '2024-05-13T07:52:32.285Z'
type: string
format: date-time
updated_by:
description: User identifier who updated the current version of the configuration.
example: '2136871599'
type: string
version:
description: 'Version number of the configuration.
* Version number `0` represents the system defaults.'
example: 1
type: integer
format: int32
required:
- environment
- offline_countries
- version
OfflineCountriesResponseV1Dto:
title: OfflineCountriesResponseV1Dto
type: object
properties:
offline_countries:
type: object
allOf:
- $ref: '#/definitions/OfflineCountriesConfigV1Dto'
- description: Per country offline mode configuration.
required:
- offline_countries
OfflineCountriesConfigMetadataV1Dto:
title: OfflineCountriesConfigMetadataV1Dto
type: object
properties:
AT:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigMetadataV1Dto'
- description: Per country offline mode configuration for Austria.
DE:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigMetadataV1Dto'
- description: Per country offline mode configuration for Germany.
ES:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigMetadataV1Dto'
- description: Per country offline mode configuration for Spain.
FR:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigMetadataV1Dto'
- description: Per country offline mode configuration for France.
IE:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigMetadataV1Dto'
- description: Per country offline mode configuration for Ireland.
IN:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigMetadataV1Dto'
- description: Per country offline mode configuration for India.
IT:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigMetadataV1Dto'
- description: Per country offline mode configuration for Italy.
MC:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigMetadataV1Dto'
- description: Per country offline mode configuration for Monaco.
'NO':
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigMetadataV1Dto'
- description: Per country offline mode configuration for Norway.
PL:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigMetadataV1Dto'
- description: Per country offline mode configuration for Poland.
PR:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigMetadataV1Dto'
- description: Per country offline mode configuration for Puerto Rico.
SE:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigMetadataV1Dto'
- description: Per country offline mode configuration for Sweden.
TH:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigMetadataV1Dto'
- description: Per country offline mode configuration for Thailand.
required:
- AT
- DE
- ES
- FR
- IE
- IN
- IT
- MC
- 'NO'
- PL
- PR
- SE
- TH
OfflineCountryConfigV1Dto:
title: OfflineCountryConfigV1Dto
type: object
properties:
enabled:
description: Defines whether offline mode is enabled for this country.
type: boolean
strategy:
$ref: '#/definitions/TransactionSignatureStrategy'
required:
- enabled
- strategy
OfflineCountriesConfigV1Dto:
title: OfflineCountriesConfigV1Dto
type: object
properties:
AT:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for Austria.
DE:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for Germany.
ES:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for Spain.
FR:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for France.
IE:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for Ireland.
IN:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for India.
IT:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for Italy.
MC:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for Monaco.
'NO':
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for Norway.
PL:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for Poland.
PR:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for Puerto Rico.
SE:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for Sweden.
TH:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for Thailand.
required:
- AT
- DE
- ES
- FR
- IE
- IN
- IT
- MC
- 'NO'
- PL
- PR
- SE
- TH
OfflineCountriesUpdateRequestV1Dto:
title: OfflineCountriesUpdateRequestV1Dto
type: object
properties:
offline_countries:
type: object
allOf:
- $ref: '#/definitions/OfflineCountriesConfigUpdateV1Dto'
- description: Per country offline mode configuration.
required:
- offline_countries
OfflineCountryConfigMetadataV1Dto:
title: OfflineCountryConfigMetadataV1Dto
type: object
properties:
allowed_strategies:
description: 'List of allowed strategies for the current country.
* Metadata field.'
type: array
items:
$ref: '#/definitions/TransactionSignatureStrategy'
maxItems: 4
editable:
description: 'Defines whether offline mode can be enabled for this country.
* Metadata field.'
type: boolean
enabled:
description: Defines whether offline mode is enabled for this country.
type: boolean
strategy:
$ref: '#/definitions/TransactionSignatureStrategy'
required:
- enabled
- strategy
OfflineCountriesConfigUpdateV1Dto:
title: OfflineCountriesConfigUpdateV1Dto
type: object
properties:
AT:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for Austria.
DE:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for Germany.
ES:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for Spain.
FR:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for France.
IE:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for Ireland.
IN:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for India
IT:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for Italy.
MC:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for Monaco.
PL:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for Poland.
PR:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for Puerto Rico.
TH:
type: object
allOf:
- $ref: '#/definitions/OfflineCountryConfigV1Dto'
- description: Per country offline mode configuration for Thailand.
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