Bulk API
Das Bulk API bietet Zugriff auf kaufmännische Daten der Stammdaten und auf Geschäftsdoklumente wie Aufträge, Lieferscheine, Rechnungen, etc.
Damit die Calls akzeptiert werden, muss den unten angeführten Aufrufen ein Header Authorization mit einem Key übergeben werden, der in der web.config unter dem Schlüssel bulkapi.authorization definiert wird.
CODE
openapi: 3.0.0
info:
description: |
Massendatenübertragung von/in Centauri BaseShop
version: 1.0.0
title: BaseShop Bulk API
contact:
email: support@centauri.at
license:
name: Apache 2.0
url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
servers:
# Added by API Auto Mocking Plugin
- description: SwaggerHub API Auto Mocking
url: https://virtserver.swaggerhub.com/medientank/BaseShop-API/1.0.0
- description: BaseShop API Auto Mocking
url: https://virtserver.swaggerhub.com/medientank/BaseShop Bulk-API/1.0.0
- description: DEV
url: https://dev.clevercommons.com/api/bulk/1.0.0
- description: TEST My Home Roast
url: https://myhomeroast-test.clevercommons.com/api/bulk/1.0.0
- description: PROD My Home Roast
url: https://myhomeroast.clevercommons.com/api/bulk/1.0.0
- description: TEST SKA Tech
url: https://skatech-test.clevercommons.com/api/bulk/1.0.0
- description: PROD SKA Tech
url: https://skatech.clevercommons.com/api/bulk/1.0.0
tags:
- name: products
description: Everything about products and metadata
externalDocs:
description: Find out more
url: 'https://shopdoc.centauri.at'
- name: customers
description: Operations about customers
externalDocs:
description: Find out more
url: 'https://shopdoc.centauri.at'
- name: pricelists
description: Operations about prices and pricelists
externalDocs:
description: Find out more
url: 'https://shopdoc.centauri.at'
- name: orders
description: Access to shops orders
externalDocs:
description: Find out more
url: 'https://shopdoc.centauri.at'
- name: invoices
description: Access to invoices
externalDocs:
description: Find out more
url: 'https://shopdoc.centauri.at'
- name: deliveries
description: Access to delivery notes
externalDocs:
description: Find out more
url: 'https://shopdoc.centauri.at'
security:
- ApiKeyAuth: []
paths:
/products:
get:
tags:
- products
summary: search for products
operationId: findProducts
parameters:
- in: query
name: category
description: products category
required: false
schema:
type: string
- in: query
name: fromModifiedDate
description: earliest modification date
required: false
schema:
type: string
format: date
- in: query
name: toModifiedDate
description: latest modification date
required: false
schema:
type: string
format: date
- in: query
name: skip
description: count of records skipped in searchresult
required: false
schema:
type: integer
format: int32
minimum: 0
- in: query
name: limit
description: maximum number of records from searchresult
required: false
schema:
type: integer
format: int32
minimum: 0
maximum: 50
responses:
'200':
description: List of matching products
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Product'
'400':
description: Invalid parameters
'404':
description: No matching products found
post:
tags:
- products
summary: Add new products to the store
operationId: addProducts
responses:
'201':
description: Product created
'400':
description: Invalid properties
'409':
description: Product already exists
requestBody:
$ref: '#/components/requestBodies/Products'
put:
tags:
- products
summary: Update an existing product
operationId: updateProducts
responses:
'201':
description: Products updated
'400':
description: Invalid properties
'404':
description: Products does not exists
requestBody:
$ref: '#/components/requestBodies/Products'
/products/{sku}:
get:
tags:
- products
summary: Get product by SKU
operationId: findProductBySku
parameters:
- name: sku
in: path
schema:
type: string
description: requested product
required: true
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Product'
'404':
description: Product not found
delete:
tags:
- products
summary: Deletes a product
operationId: deleteProductBySku
parameters:
- name: sku
in: path
description: SKU to delete
required: true
schema:
type: string
responses:
'204':
description: Products deleted
'400':
description: Invalid properties
'404':
description: Products are not existing
'/products/{sku}/uploadImage':
post:
tags:
- products
summary: uploads an image
operationId: uploadFile
parameters:
- name: sku
in: path
description: SKU of product to update
required: true
schema:
type: string
responses:
'200':
description: successful operation
requestBody:
content:
application/octet-stream:
schema:
type: string
format: binary
/partners:
get:
tags:
- partners
summary: search for partners
operationId: findPartners
parameters:
- in: query
name: accountNo
description: reference to partner account in supplieres ERP
required: false
schema:
type: string
- in: query
name: fromModifiedDate
description: earliest modification date
required: false
schema:
type: string
format: date
- in: query
name: toModifiedDate
description: latest modification date
required: false
schema:
type: string
format: date
- in: query
name: skip
description: count of records skipped in searchresult
required: false
schema:
type: integer
format: int32
minimum: 0
- in: query
name: limit
description: maximum number of records from searchresult
required: false
schema:
type: integer
format: int32
minimum: 0
maximum: 50
responses:
'200':
description: List of matching partners
content:
application/json:
schema:
$ref: '#/components/schemas/Partners'
'400':
description: Invalid parameters
'404':
description: No matching partners found
/partner/customers:
get:
tags:
- partners
summary: search for partners
operationId: findPartnerCustomers
parameters:
- in: query
name: partnerId
description: reference to partner account in supplieres ERP
required: false
schema:
type: string
- in: query
name: accountNo
description: reference to partner account in supplieres ERP
required: false
schema:
type: string
- in: query
name: skip
description: count of records skipped in searchresult
required: false
schema:
type: integer
format: int32
minimum: 0
- in: query
name: limit
description: maximum number of records from searchresult
required: false
schema:
type: integer
format: int32
minimum: 0
maximum: 50
responses:
'200':
description: List of matching partner/customer relationships
content:
application/json:
schema:
$ref: '#/components/schemas/PartnerCustomers'
'400':
description: Invalid parameters
'404':
description: No matching partners found
/customers:
get:
tags:
- customers
summary: search for customers
operationId: findCustomers
parameters:
- in: query
name: origin
description: channel or platform
required: false
schema:
type: string
- in: query
name: customerNo
description: reference to customer account in supplieres ERP
required: false
schema:
type: string
- in: query
name: fromModifiedDate
description: earliest modification date
required: false
schema:
type: string
format: date
- in: query
name: toModifiedDate
description: latest modification date
required: false
schema:
type: string
format: date
- in: query
name: skip
description: count of records skipped in searchresult
required: false
schema:
type: integer
format: int32
minimum: 0
- in: query
name: limit
description: maximum number of records from searchresult
required: false
schema:
type: integer
format: int32
minimum: 0
maximum: 50
responses:
'200':
description: List of matching customers
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Customer'
'400':
description: Invalid parameters
'404':
description: No matching customers found
post:
tags:
- customers
summary: Create customer
operationId: addCustomers
responses:
default:
description: successful operation
requestBody:
$ref: '#/components/requestBodies/Customers'
put:
tags:
- customers
summary: Updated customer
operationId: updateCustomers
responses:
'201':
description: Customer updated
'400':
description: Invalid properties
'404':
description: Customers does not exists
requestBody:
$ref: '#/components/requestBodies/Customers'
/customers/{username}:
get:
tags:
- customers
summary: Get customer by username
operationId: findCustomerByUsername
parameters:
- name: username
in: path
description: Search for customer
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
'404':
description: Customer not found
delete:
tags:
- customers
summary: Delete customer
operationId: deleteCustomerByUsername
parameters:
- name: username
in: path
description: The name that needs to be deleted
required: true
schema:
type: string
responses:
'204':
description: Customers deleted
'400':
description: Invalid properties
'404':
description: Customers are not existing
/orders:
get:
tags:
- orders
summary: search for orders
operationId: findOrders
parameters:
- in: query
name: orderReference
description: reference into customers system
required: false
schema:
type: string
- in: query
name: origin
description: channel or platform
required: false
schema:
type: string
- in: query
name: fromOrderDate
description: earliest date of order
required: false
schema:
type: string
format: date
- in: query
name: toOrderDate
description: latest date of order
required: false
schema:
type: string
format: date
- in: query
name: fromModifiedDate
description: earliest modification date
required: false
schema:
type: string
format: date
- in: query
name: toModifiedDate
description: latest modification date
required: false
schema:
type: string
format: date
- in: query
name: status
description: status of requested orders
required: false
schema:
type: string
- in: query
name: skip
description: count of records skipped in searchresult
required: false
schema:
type: integer
format: int32
minimum: 0
- in: query
name: limit
description: maximum number of records from searchresult
required: false
schema:
type: integer
format: int32
minimum: 0
maximum: 50
responses:
'200':
description: List of matching orders
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Product'
'400':
description: Invalid parameters
'404':
description: No matching orders found
post:
tags:
- orders
summary: Add new orders to the store
operationId: addOrders
responses:
'201':
description: Order created
'400':
description: Invalid properties
'409':
description: Order already exists
requestBody:
$ref: '#/components/requestBodies/Orders'
put:
tags:
- orders
summary: Update an existing orders
operationId: updateOrders
responses:
'201':
description: Orders updated
'400':
description: Invalid properties
'404':
description: Orders does not exists
requestBody:
$ref: '#/components/requestBodies/Orders'
/orders/{id}:
get:
tags:
- orders
summary: Get order by id
operationId: findOrderById
parameters:
- name: id
in: path
description: order
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
'404':
description: Order not found
delete:
tags:
- orders
summary: Deletes a order
operationId: deleteOrderById
parameters:
- name: id
in: path
description: id to delete
required: true
schema:
type: string
responses:
'204':
description: Orders deleted
'400':
description: Invalid properties
'404':
description: Orders are not existing
/pricelists:
post:
tags:
- pricelists
summary: Add new pricelist to the store
operationId: addPricelists
responses:
'201':
description: Pricelists created
'400':
description: Invalid properties
'409':
description: Pricelists already exists
requestBody:
$ref: '#/components/requestBodies/Pricelists'
put:
tags:
- pricelists
summary: Update an existing pricelist
operationId: updatePricelists
responses:
'201':
description: Pricelists updated
'400':
description: Invalid properties
'404':
description: Pricelists does not exists
requestBody:
$ref: '#/components/requestBodies/Pricelists'
/pricelists/{pricelistno}:
get:
tags:
- pricelists
summary: Get pricelist by pricelistno
operationId: findPricelistByNo
parameters:
- name: pricelistno
in: path
schema:
type: string
description: requested pricelist
required: true
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Pricelist'
'404':
description: Pricelist not found
delete:
tags:
- pricelists
summary: Deletes a pricelist
operationId: deletePricelistByNo
parameters:
- name: pricelistno
in: path
description: Pricelist to delete
required: true
schema:
type: string
responses:
'204':
description: Pricelist deleted
'400':
description: Invalid properties
'404':
description: Pricelist are not existing
/invoices/{invoiceno}/upload:
post:
tags:
- invoices
summary: uploads an invoice PDF file
operationId: uploadInvoice
parameters:
- name: invoiceno
in: path
description: reference for an invoice in supplieres ERP (must be created before upload)
example: AR23001111
required: true
schema:
type: string
responses:
'200':
description: successful operation
requestBody:
content:
application/octet-stream:
schema:
type: string
format: binary
/invoices/upload:
post:
tags:
- invoices
summary: uploads an invoice PDF file
operationId: BulkAPIUploadInvoiceByInvoiceNo
parameters:
- name: invoiceno
in: query
description: reference for an invoice in supplieres ERP (must be created before upload)
example: AR23001111
required: true
schema:
type: string
responses:
'200':
description: successful operation
requestBody:
content:
application/octet-stream:
schema:
type: string
format: binary
externalDocs:
description: Find out more about Swagger
url: 'http://swagger.io'
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: Authorization
schemas:
ScheduledDate:
type: object
description: order confirmation for a single order position
properties:
deliveryDate:
type: string
example: 2023-12-07
format: date
quantity:
type: number
example: 2
format: int64
orderConfirmationNo:
example: AB23001111
description: reference of order confirmation into suppliers ERP
type: string
Delivery:
type: object
description: Delivery note for a single shipment including multiple DeliveryLines
properties:
deliveryNo:
example: LS23001111
description: reference for delivery note in suppliers ERP
type: string
deliveryDate:
type: string
example: 2023-12-07
format: date
url:
type: string
example: https://company.com/deliverynotes/LS23001111.pdf
description: Url to request pdf version of document
format: uri
lines:
type: array
items:
$ref: '#/components/schemas/DeliveryLine'
DeliveryLine:
type: object
description: A position inside of a delivery note
properties:
trackingId:
example: 612390030945
type: string
trackingUrl:
example: https://dpd.com/link/612390030945
type: string
format: uri
quantity:
example: 1
description: quantity of product in this delivery
type: number
format: int64
serialNos:
type: array
items:
type: string
example: CY38291ZH
orderline:
$ref: '#/components/schemas/OrderLine'
invoice:
$ref: '#/components/schemas/Invoice'
delivery:
$ref: '#/components/schemas/Delivery'
Invoice:
type: object
required:
- invoiceNo
properties:
invoiceNo:
description: reference for an invoice in supplieres ERP
example: AR23001111
type: string
customerNo:
description: reference for a customer in supplieres ERP
example: 100523
type: string
invoiceDate:
example: 2023-12-07
type: string
format: date
netAmount:
example: 100.00
type: number
format: decimal
description: items total minus discounts plus freight, surcharges, etc.
taxAmount:
type: number
example: 20.00
format: decimal
description: tax amount included in grossAmount
grossAmount:
type: number
format: decimal
example: 120.00
description: total payable price inclusive discounts, tax, etc.
url:
type: string
example: https://company.com/invoices/AR23001111.pdf
description: Url to request pdf version of document
format: uri
Property:
type: object
properties:
name:
example: Verrechnungsstelle
type: string
value:
example: MA2412
type: string
Discount:
description: A discount in suppliers system. Could be linked to customers, products, groups and categories
type: object
properties:
name:
example: Zeilenrabatt
type: string
percentage:
example: 5.0
type: number
format: decimal
validFrom:
type: string
example: 2023-12-01
format: date
validTo:
type: string
example: 2023-12-01
format: date
minQuantity:
type: number
example: 1
format: int64
product:
$ref: '#/components/schemas/Product'
category:
$ref: '#/components/schemas/Category'
company:
$ref: '#/components/schemas/Company'
group:
$ref: '#/components/schemas/Group'
created:
type: string
example: 2023-12-01
format: date-time
modified:
type: string
example: 2023-12-01
format: date-time
Coupon:
type: object
properties:
code:
description: Coupon Code or a reference into list of valid coupons
example: EUJJELCO
type: string
discountValue:
example: 10.0
description: discount value activated by the coupon
type: number
format: decimal
created:
type: string
example: 2023-12-01
format: date-time
modified:
type: string
example: 2023-12-01
format: date-time
Order:
type: object
description: a order placed by customer
required:
- id
properties:
id:
description: Identifier for order in marketplace/shopsystem
example: 1746f04e-9551-11ee-b9d1-0242ac120002
type: string
orderDate:
example: 2023-12-07
type: string
format: date
requestedShippingDate:
example: 2023-12-08
type: string
format: date
ordertype:
example: order
type: string
enum:
- order
- credit
origin:
example: ARIBA
type: string
description: identifier for different marketing channels or platforms
lines:
type: array
items:
$ref: '#/components/schemas/OrderLine'
username:
example: username@company
description: reference for related user in marketplace/shopsystem
type: string
customer:
$ref: '#/components/schemas/Customer'
buyerAddress:
$ref: '#/components/schemas/Address'
invoiceAddress:
$ref: '#/components/schemas/Address'
shippingAddress:
$ref: '#/components/schemas/Address'
orderReference:
type: string
example: 41001283939
description: customers order reference
orderContact:
example: Max Mustermann
type: string
orderEMail:
example: max.mustermann@company.com
type: string
orderPhone:
example: +43 660 8129999
type: string
costcenter:
example: Werkstatt
type: string
remarks:
example: lt. Angebot AN23001111
type: string
paymentId:
example: 01
type: string
paymentRemark:
example: Stripe
type: string
paymentTransaction:
example: cs_293102398012389123129
type: string
shippingId:
example: 02
type: string
shippingRemark:
example: POST
type: string
currency:
example: EUR
type: string
freight:
type: number
format: money
example: 0.00
minQuantitySurcharge:
type: number
format: money
example: 0.00
coupons:
type: array
items:
$ref: '#/components/schemas/Coupon'
discounts:
type: array
items:
$ref: '#/components/schemas/Discount'
taxAmount:
type: number
format: decimal
example: 20.00
shopOrderNo:
type: string
example: 123456
description: number of order in shop database
orderNo:
type: string
example: AU23001111
description: order reference in suppliers ERP
status:
type: string
description: Order status
enum:
- new
- modified
- canceled
- confirmed
- delivered
- setteled
complete:
type: boolean
example: false
invoice:
$ref: '#/components/schemas/Invoice'
properies:
type: array
items:
$ref: '#/components/schemas/Property'
created:
type: string
format: date-time
example: 2023-12-07
modified:
type: string
format: date-time
example: 2023-12-07
OrderLine:
type: object
properties:
position:
type: string
description: Identification of position inside of order
example: 0010
order:
$ref: '#/components/schemas/Order'
sku:
example: 0102016
type: string
quantity:
example: 1
type: integer
format: int32
name1:
example: Bohrerverschluss 10mm
type: string
name2:
example: veredelt mit Titan
type: string
price:
example: 100.00
type: number
format: decimal
pricePerOrderUnitQuantity:
example: 1
type: number
format: int32
orderUnit:
example: EA
type: string
contentPerOrderUnitQuantity:
example: 1
type: number
format: int32
contentUnit:
example: 1
type: string
totalprice:
example: 100.00
type: number
format: decimal
discounts:
type: array
items:
$ref: '#/components/schemas/Discount'
taxCode:
type: string
example: U20
taxAmount:
type: number
format: decimal
example: 20.00
positionReference:
type: string
example: 00010
description: position reference in customers system
servicestart:
type: string
format: date-time
example: 2023-12-07
serviceend:
type: string
format: date-time
example: 2023-12-07
remarks:
type: string
example: Bitte veredelt liefern
costcenter:
type: string
example: Werkstatt
properties:
type: array
items:
$ref: '#/components/schemas/Property'
status:
type: string
description: Order Status
enum:
- new
- modified
- canceled
- confirmed
- delivered
complete:
type: boolean
example: false
orderNo:
type: string
example: AU23001111
description: order reference into suppliers ERP
confirmedDeliveryDates:
type: array
items:
$ref: '#/components/schemas/ScheduledDate'
deliveries:
type: array
items:
$ref: '#/components/schemas/DeliveryLine'
created:
type: string
example: 2023-12-01
format: date-time
modified:
type: string
example: 2023-12-01
format: date-time
Group:
type: object
required:
- code
properties:
code:
example: WV
type: string
description: identifies the customer group in suppliers ERP
name:
type: string
example: Wiederverkäufer
pricelists:
type: array
items:
$ref: '#/components/schemas/Pricelist'
prices:
type: array
items:
$ref: '#/components/schemas/Price'
Company:
type: object
required:
- customerNo
properties:
customerNo:
type: string
example: 100523
description: reference to customer account in suppliers ERP
name:
type: string
example: Medientank Handels GmbH
pricelists:
type: array
items:
$ref: '#/components/schemas/Pricelist'
prices:
type: array
items:
$ref: '#/components/schemas/Price'
created:
type: string
example: 2023-12-01
format: date-time
modified:
type: string
example: 2023-12-01
format: date-time
Address:
type: object
properties:
id:
example: 01
type: string
company:
example: Medientank Handels GmbH
type: string
department:
example: Einkauf
type: string
appellation:
example: Herr
type: string
title:
example: Ing.
type: string
firstName:
example: Max
type: string
lastName:
example: Mustermann
type: string
address1:
example: Kaiserstrasse 11/1
type: string
postalcode:
example: 1070
type: string
city:
example: Wien
type: string
country:
example: AT
type: string
created:
type: string
example: 2023-12-07
format: date-time
modified:
type: string
example: 2023-12-07
format: date-time
PartnerCustomer:
type: object
properties:
partnerId:
example: 41
description: Id of partner in parketplace/shopsystem
type: string
partnerUsername:
example: username@company
description: login of partner in marketplace/shopsystem
type: string
accountNo:
example: 300523
type: string
description: reference to partner account in suppliers ERP
customerId:
example: 281239123
description: Id of customer in marketplace/shopsystem
type: string
customerUsername:
example: username@company
description: login of customer in marketplace/shopsystem
type: string
customerNo:
example: 100523
type: string
description: reference to customer account in suppliers ERP
Partner:
type: object
properties:
id:
example: 41
description: Id of partner in parketplace/shopsystem
type: string
username:
example: username@company
description: login of partner in marketplace/shopsystem
type: string
email:
example: max.mustermann@company.com
type: string
phone:
example: +43 660 8129999
type: string
accountNo:
example: 300523
type: string
description: reference to partner account in suppliers ERP
level:
example: Gold
description: level in suppliers partner program
type: string
vatId:
example: ATU123456789
description: die VAT Identification of the partner
manager:
$ref: '#/components/schemas/Partner'
status:
example: active
description: status in suppliers partner program (i.e. new, active, inactive)
type: string
address:
$ref: '#/components/schemas/Address'
created:
type: string
example: 2023-12-01
format: date-time
modified:
type: string
example: 2023-12-01
format: date-time
Customer:
type: object
properties:
id:
example: 281239123
description: Id of customer in marketplace/shopsystem
type: string
username:
example: username@company
description: login of customer in marketplace/shopsystem
type: string
email:
example: max.mustermann@company.com
type: string
phone:
example: +43 660 8129999
type: string
customerNo:
example: 100523
type: string
description: reference to customer account in suppliers ERP
vatId:
example: ATU199292
type: string
origin:
example: ARIBA
type: string
description: identifier for different marketing channels or platforms
company:
$ref: '#/components/schemas/Company'
groups:
type: array
items:
$ref: '#/components/schemas/Group'
invoiceAddresses:
type: array
items:
$ref: '#/components/schemas/Address'
shippingAddresses:
type: array
items:
$ref: '#/components/schemas/Address'
pricelists:
type: array
items:
$ref: '#/components/schemas/Pricelist'
prices:
type: array
items:
$ref: '#/components/schemas/Price'
crmEntity:
type: string
description: Entity in CRM
example: account
crmId:
type: string
description: Id in CRM
example: 7a574707-faae-ee11-a569-000d3ab13173
created:
type: string
example: 2023-12-07
format: date-time
description: date of creation
modified:
type: string
example: 2023-12-07
format: date-time
description: date of last modification
Pricelist:
type: object
description: a list of prices that could be referenced by more than one customer, group, company
required:
- pricelistNo
properties:
pricelistNo:
example: AKTION
type: string
name:
example: Aktionspreisliste
type: string
prices:
type: array
items:
$ref: '#/components/schemas/Price'
created:
type: string
example: 2023-12-07
format: date-time
modified:
type: string
example: 2023-12-07
format: date-time
Price:
type: object
required:
- amount
properties:
amount:
example: 100.00
type: number
format: decimal
pricePerOrderUnitQuantity:
example: 1
type: number
format: int32
orderUnit:
example: EA
type: string
currency:
example: EUR
type: string
validFrom:
example: 2023-01-01
type: string
format: date
validTo:
example: 2024-12-31
type: string
format: date
minQuantity:
example: 1
type: number
format: int64
created:
type: string
example: 2023-12-07
format: date-time
modified:
type: string
example: 2023-12-07
format: date-time
product:
$ref: '#/components/schemas/Product'
pricelist:
$ref: '#/components/schemas/Pricelist'
Category:
type: object
properties:
id:
type: integer
example: 1
format: int64
name:
example: Handwerkzeug
type: string
categories:
type: array
items:
$ref: '#/components/schemas/Category'
created:
type: string
example: 2023-12-07
format: date-time
modified:
type: string
example: 2023-12-07
format: date-time
Inventory:
type: object
description: stock information for a product
properties:
inventory:
example: HL
type: string
s:
type: string
description: Stock status
enum:
- available
- lowquantity
- nostock
- customerorder
quantity:
example: 10
type: number
format: int64
availabilityDate:
type: string
example: 2024-01-08
format: date
created:
type: string
example: 2023-12-07
format: date-time
modified:
type: string
example: 2023-12-07
format: date-time
Supplier:
type: object
required:
- creditorNo
properties:
supplierSku:
example: XX-0102016
type: string
creditorNo:
example: 1234
type: string
pricelist:
$ref: '#/components/schemas/Pricelist'
price:
$ref: '#/components/schemas/Price'
created:
type: string
example: 2023-12-07
format: date-time
modified:
type: string
example: 2023-12-07
format: date-time
Product:
type: object
required:
- sku
properties:
sku:
example: 0102016
type: string
name1:
example: Bohrerverschluss 10mm
type: string
name2:
type: string
example: Veredelt mit Titan
description:
type: string
example: Ein seeeehr langer Text zur Beschreibung des Produkts.
orderUnit:
example: EA
type: string
contentPerOrderUnitQuantity:
example: 1
type: number
format: int32
contentUnit:
example: 1
type: string
pictures:
type: array
description: Uri to pictures for this product
items:
type: string
categories:
type: array
items:
$ref: '#/components/schemas/Category'
pricelists:
description: list of pricelists that could be referenced by customers, groups, companies
type: array
items:
$ref: '#/components/schemas/Pricelist'
prices:
description: list of prices
type: array
items:
$ref: '#/components/schemas/Price'
inventories:
description: stock information in one or many warehouses
type: array
items:
$ref: '#/components/schemas/Inventory'
suppliers:
description: suppliers for this product
type: array
items:
$ref: '#/components/schemas/Supplier'
blocked:
description: disables the product and hiddes the product on the web
type: string
format: bool
templatecode:
description: template for product creation during order import in ERP
type: string
nonstocked:
description: defines if the product is held on stock
type: string
format: bool
created:
type: string
example: 2023-12-07
format: date-time
modified:
type: string
example: 2023-12-07
format: date-time
Products:
description: List of products
type: array
items:
$ref: '#/components/schemas/Product'
Customers:
description: List of customers
type: array
items:
$ref: '#/components/schemas/Customer'
Orders:
description: List of orders
type: array
items:
$ref: '#/components/schemas/Order'
Invoices:
description: List of invoices
type: array
items:
$ref: '#/components/schemas/Invoice'
Deliveries:
description: List of delivery notes
type: array
items:
$ref: '#/components/schemas/Delivery'
Pricelists:
description: List of pricelists
type: array
items:
$ref: '#/components/schemas/Pricelist'
Partners:
description: List of partners
type: array
items:
$ref: '#/components/schemas/Partner'
PartnerCustomers:
description: List of partners/customer relationships
type: array
items:
$ref: '#/components/schemas/PartnerCustomer'
requestBodies:
Products:
description: Product object(s) that needs to be added to the store
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Product'
- $ref: '#/components/schemas/Products'
Customers:
description: Customer object(s) that needs to be added to the store
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Customer'
- $ref: '#/components/schemas/Customers'
Orders:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Order'
- $ref: '#/components/schemas/Orders'
Invoices:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Invoice'
- $ref: '#/components/schemas/Invoices'
Deliveries:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Delivery'
- $ref: '#/components/schemas/Deliveries'
Pricelists:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Pricelist'
- $ref: '#/components/schemas/Pricelists'