Skip to main content
Skip table of contents

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'
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.