> ## Documentation Index
> Fetch the complete documentation index at: https://developer.jtl-software.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Channel Events


> Retrieve ChannelEvents from all subscriped Channels. Channel Events are various different actions which occure
on the channel side.

**Such as**

* New Orders
* Order status changes
* Order Address changes
* Changes in listing process

These API route will deliver a list of unacknolaged events in a FIFO order. Each event is delivered At-Least-Once.
There is no garantee about uniquness. You may see Events with an identical payload multiply time.

After retrieving a list of Events by `GET /v2/seller/event` you have to acknowlage these Events using the `id`
property of each single event with `DELETE /v2/seller/event`. Unacknolaged events are getting invisible for 5
minutes. After these time a unacknowlaged event is getting visible again.




## OpenAPI

````yaml /openapi/scx/seller.json get /v2/seller/event
openapi: 3.0.2
info:
  title: SCX Seller API
  version: '1.0'
  x-logo:
    url: https://scx-sandbox.ui.jtl-software.com/docs/scx.png
  description: |
    SCX Seller API
servers:
  - url: https://scx-sbx.api.jtl-software.com
    description: Sandbox Environment
security: []
tags:
  - name: Account
    description: Seller account management
  - name: Offer
    description: Seller offer management
  - name: Events
    description: Channel and system events for the seller
  - name: Meta
    description: Channel meta information (categories, attributes, rules)
  - name: Order
    description: Order processing, payments, shipping, cancellations and refunds
  - name: Report
    description: Seller report generation and retrieval
  - name: Ticket
    description: Channel ticket management
paths:
  /v2/seller/event:
    get:
      tags:
        - Events
      summary: |
        Channel Events
      description: >
        Retrieve ChannelEvents from all subscriped Channels. Channel Events are
        various different actions which occure

        on the channel side.


        **Such as**


        * New Orders

        * Order status changes

        * Order Address changes

        * Changes in listing process


        These API route will deliver a list of unacknolaged events in a FIFO
        order. Each event is delivered At-Least-Once.

        There is no garantee about uniquness. You may see Events with an
        identical payload multiply time.


        After retrieving a list of Events by `GET /v2/seller/event` you have to
        acknowlage these Events using the `id`

        property of each single event with `DELETE /v2/seller/event`.
        Unacknolaged events are getting invisible for 5

        minutes. After these time a unacknowlaged event is getting visible
        again.
      operationId: GetSellerEventList
      parameters:
        - in: query
          description: >
            List all Events chreated after a specified time. If no
            `createdAfter` parameter all unacknolaged events

            are returned.
          name: createdAfter
          schema:
            type: string
            format: date-time
          example: '2019-07-01T00:54:22+00:00'
          required: false
        - in: query
          name: eventTypeFilter
          description: >
            Will only return results matching events given in eventTypeFilter
            Parameter. Use a comma separated list to

            filter for multiply events.
          example: ChannelEventTestSystemEventNotification
          required: false
          schema:
            type: string
        - in: query
          name: channel
          description: |
            Will only return results matching given channel.
          example: MBDCOM
          required: false
          schema:
            type: string
      responses:
        '200':
          $ref: '#/components/responses/EventList'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '429':
          $ref: '#/components/responses/RequestThrottled'
        '500':
          $ref: '#/components/responses/ServerError'
      security:
        - SellerAuth: []
components:
  responses:
    EventList:
      description: List of unacknowledged channel and system events
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ChannelEventList'
          examples:
            ChannelDataChanged:
              $ref: '#/components/examples/ChannelDataChangedExample'
            OrderNew:
              $ref: '#/components/examples/OrderNewExample'
            OrderStatusUpdate:
              $ref: '#/components/examples/OrderUpdateExample'
            OrderAddressUpdate:
              $ref: '#/components/examples/OrderAddressUpdateExample'
            OrderCancellationRequestAccept:
              $ref: '#/components/examples/OrderCancellationRequestAcceptExample'
            OrderCancellationRequestDenied:
              $ref: '#/components/examples/OrderCancellationRequestDeniedExample'
            ChannelEventNotification:
              $ref: '#/components/examples/ChannelEventNotificationExample'
            OfferListingInProgress:
              $ref: '#/components/examples/OfferListingInProgressExample'
            OfferListingSuccessful:
              $ref: '#/components/examples/OfferListingSuccessfulExample'
            OfferListingFailed:
              $ref: '#/components/examples/OfferListingFailedExample'
            ReportProcessingFinished:
              $ref: '#/components/examples/ReportProcessingFinishedExample'
            MetaDataChanged:
              $ref: '#/components/examples/MetaDataChangedExample'
    AccessForbidden:
      description: Access forbidden, invalid or unknown Token was used.
    RequestThrottled:
      description: User has send to many requests
    ServerError:
      description: Unexpected Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseList'
          example:
            errorList:
              - code: GEN500
                message: Internal Server Error
                severity: error
                hint: null
  schemas:
    ChannelEventList:
      description: >-
        Paginated batch of channel and system events the seller has not yet
        acknowledged.
      type: object
      properties:
        eventList:
          type: array
          minItems: 0
          maxItems: 100
          items:
            type: object
            required:
              - id
              - createdAt
              - type
              - event
            properties:
              id:
                type: string
                example: 5cde84164d811d00144581f8
              createdAt:
                type: string
                format: date-time
                example: '2019-07-01T12:43:23+00:00'
              type:
                $ref: '#/components/schemas/ChannelEventTypeList'
              event:
                type: object
                description: >
                  Event payload. The concrete shape depends on the sibling
                  `type` field.

                  See the listed schemas below for all supported event types.
                anyOf:
                  - $ref: '#/components/schemas/SystemEventNotification'
                  - $ref: '#/components/schemas/ChannelEventNotification'
                  - $ref: '#/components/schemas/ChannelEventOfferListingInProgress'
                  - $ref: '#/components/schemas/ChannelEventOfferListingSuccessful'
                  - $ref: '#/components/schemas/ChannelEventOfferListingFailed'
                  - $ref: '#/components/schemas/ChannelEventOrder'
                  - $ref: '#/components/schemas/ChannelEventOrderStatusUpdate'
                  - $ref: '#/components/schemas/ChannelEventOrderAddressUpdate'
                  - $ref: '#/components/schemas/ChannelEventTest'
                  - $ref: '#/components/schemas/ChannelEventReportData'
                  - $ref: '#/components/schemas/ChannelEventDataComplete'
                  - $ref: '#/components/schemas/ChannelEventMetaDataChanged'
                  - $ref: '#/components/schemas/ChannelEventOrderCancellationAccepted'
                  - $ref: '#/components/schemas/ChannelEventOrderCancellationDenied'
                  - $ref: '#/components/schemas/ChannelEventOrderCancellationRequest'
                  - $ref: '#/components/schemas/ChannelEventOrderInvoice'
                  - $ref: '#/components/schemas/ChannelEventOrderReturn'
                  - $ref: >-
                      #/components/schemas/ChannelEventOrderReturnProcessingResult
                  - $ref: >-
                      #/components/schemas/ChannelEventOrderRefundProcessingResult
                  - $ref: '#/components/schemas/ChannelEventTicket'
                  - $ref: '#/components/schemas/ChannelEventChannelDataChanged'
    ErrorResponseList:
      type: object
      properties:
        errorList:
          nullable: true
          type: array
          example:
            - code: GEN700
              message: Seller SELLER_4711 does not exist on channel kaufland.
              severity: error
              hint: i9n-order22
          items:
            title: Error
            type: object
            properties:
              code:
                type: string
                example: GEN700
              message:
                type: string
                example: Seller SELLER_4711 does not exist on channel kaufland.
              severity:
                type: string
                enum:
                  - error
                  - warning
                  - info
                default: error
              hint:
                type: string
                nullable: true
                example: i9n-order22
    ChannelEventTypeList:
      type: string
      enum:
        - System:Test
        - System:Notification
        - Channel:ChannelDataChanged
        - Channel:Notification
        - Channel:Offer.ListingInProgress
        - Channel:Offer.ListingSuccessful
        - Channel:Offer.ListingFailed
        - Channel:Order
        - Channel:Order.StatusUpdate
        - Channel:Order.AddressUpdate
        - Channel:Order.Cancellation.Request
        - Channel:Order.Cancellation.Accepted
        - Channel:Order.Cancellation.Denied
        - Channel:Order.Invoice
        - Channel:Order.Return
        - Channel:Order.ReturnProcessingResult
        - Channel:Order.RefundProcessingResult
        - Channel:Report.ProcessingFinished
        - Channel:Report.DataComplete
        - Channel:Report.Data
        - Channel:MetaDataChanged
        - Channel:Ticket
    SystemEventNotification:
      title: SystemEventNotification
      type: object
      required:
        - channel
        - message
        - severity
        - sellerId
      properties:
        channel:
          $ref: '#/components/schemas/Channel'
        sellerId:
          $ref: '#/components/schemas/SellerId'
        message:
          type: string
          example: More beer available
        severity:
          type: string
          enum:
            - INFO
            - WARNING
            - ERROR
    ChannelEventNotification:
      title: ChannelEventNotification
      type: object
      required:
        - sellerId
        - message
      allOf:
        - $ref: '#/components/schemas/ChannelRelatedEvent'
        - $ref: '#/components/schemas/Notification'
    ChannelEventOfferListingInProgress:
      title: ChannelEventOfferListingInProgress
      type: object
      allOf:
        - $ref: '#/components/schemas/ChannelRelatedEvent'
        - $ref: '#/components/schemas/OfferListingInProgress'
    ChannelEventOfferListingSuccessful:
      title: ChannelEventOfferListingSuccessful
      type: object
      allOf:
        - $ref: '#/components/schemas/ChannelRelatedEvent'
        - $ref: '#/components/schemas/OfferListingSuccessful'
    ChannelEventOfferListingFailed:
      title: ChannelEventOfferListingFailed
      type: object
      allOf:
        - $ref: '#/components/schemas/ChannelRelatedEvent'
        - $ref: '#/components/schemas/OfferListingFailed'
    ChannelEventOrder:
      title: ChannelEventOrder
      type: object
      allOf:
        - $ref: '#/components/schemas/ChannelRelatedEvent'
        - $ref: '#/components/schemas/Order'
    ChannelEventOrderStatusUpdate:
      title: ChannelEventOrderStatusUpdate
      type: object
      allOf:
        - $ref: '#/components/schemas/ChannelRelatedEvent'
        - $ref: '#/components/schemas/OrderStatus'
    ChannelEventOrderAddressUpdate:
      title: ChannelEventOrderAddressUpdate
      type: object
      allOf:
        - $ref: '#/components/schemas/ChannelRelatedEvent'
        - $ref: '#/components/schemas/OrderAddressUpdate'
    ChannelEventTest:
      title: ChannelEventTest
      type: object
      properties:
        channel:
          $ref: '#/components/schemas/Channel'
        sellerId:
          $ref: '#/components/schemas/SellerId'
      required:
        - channel
        - sellerId
    ChannelEventReportData:
      type: object
      title: ReportData
      allOf:
        - $ref: '#/components/schemas/ChannelRelatedEvent'
        - $ref: '#/components/schemas/ReportData'
    ChannelEventDataComplete:
      type: object
      title: ReportDataComplete
      allOf:
        - $ref: '#/components/schemas/ChannelRelatedEvent'
        - $ref: '#/components/schemas/ReportDataComplete'
    ChannelEventMetaDataChanged:
      type: object
      title: MetaDataChanged
      allOf:
        - $ref: '#/components/schemas/ChannelRelatedEvent'
        - type: object
          properties:
            type:
              type: string
              enum:
                - CATEGORY
                - GLOBAL_ATTRIBUTES
                - SELLER_ATTRIBUTES
                - PRICE_TYPES
                - SHIPPING_RULES
                - PAYMENT_RULES
              example: SELLER_ATTRIBUTES
            resource:
              type: string
              example: /seller/meta/MBDCOM/seller/attributes
    ChannelEventOrderCancellationAccepted:
      type: object
      title: OrderCancellationAccepted
      required:
        - sellerId
        - orderCancellationRequestId
      allOf:
        - $ref: '#/components/schemas/ChannelRelatedEvent'
        - $ref: '#/components/schemas/CancellationAccept'
    ChannelEventOrderCancellationDenied:
      type: object
      title: OrderCancellationDenied
      required:
        - sellerId
        - orderCancellationRequestId
        - reason
      allOf:
        - $ref: '#/components/schemas/ChannelRelatedEvent'
        - $ref: '#/components/schemas/CancellationDenied'
    ChannelEventOrderCancellationRequest:
      title: ChannelEventOrderCancellationRequest
      type: object
      allOf:
        - $ref: '#/components/schemas/ChannelRelatedEvent'
        - $ref: '#/components/schemas/OrderCancellationRequest'
    ChannelEventOrderInvoice:
      type: object
      title: Invoice
      required:
        - channel
        - documentId
        - documentExpiresAt
      allOf:
        - $ref: '#/components/schemas/InvoiceMetaData'
        - type: object
          properties:
            channel:
              $ref: '#/components/schemas/Channel'
            documentId:
              type: string
              example: f8132e70-24f6-4f27-b78c-56bc3f286daf
            documentExpiresAt:
              type: string
              format: date-time
              example: '2020-11-13T13:37:00+00:00'
    ChannelEventOrderReturn:
      type: object
      title: OrderReturn
      required:
        - channel
      allOf:
        - type: object
          properties:
            channel:
              $ref: '#/components/schemas/Channel'
        - $ref: '#/components/schemas/ReturnAnnouncement'
    ChannelEventOrderReturnProcessingResult:
      type: object
      title: OrderReturnProcessingResult
      required:
        - channel
      allOf:
        - type: object
          properties:
            channel:
              $ref: '#/components/schemas/Channel'
        - $ref: '#/components/schemas/ReturnProcessingResult'
    ChannelEventOrderRefundProcessingResult:
      type: object
      title: RefundProcessingResult
      required:
        - channel
      allOf:
        - type: object
          properties:
            channel:
              $ref: '#/components/schemas/Channel'
        - $ref: '#/components/schemas/RefundProcessingResult'
    ChannelEventTicket:
      title: Ticket
      type: object
      required:
        - channel
      allOf:
        - type: object
          properties:
            channel:
              $ref: '#/components/schemas/Channel'
        - $ref: '#/components/schemas/Ticket'
    ChannelEventChannelDataChanged:
      title: ChannelDataChanged
      type: object
      required:
        - channel
      properties:
        channel:
          $ref: '#/components/schemas/Channel'
    Channel:
      description: |
        This is the unique Channel name.
      type: string
      example: MYBESTDEALCOMDE
      pattern: ^\w{5,15}$
    SellerId:
      description: >
        A unique Id identify a Seller on a specific SalesChannel. The SellerId
        is generated

        from the Channel itself during the Seller SignUp Process.
      type: string
      example: '4711'
      pattern: ^\w{1,50}$
    ChannelRelatedEvent:
      type: object
      required:
        - channel
      properties:
        channel:
          $ref: '#/components/schemas/Channel'
    Notification:
      type: object
      required:
        - sellerId
        - severity
        - message
      properties:
        sellerId:
          $ref: '#/components/schemas/SellerId'
        severity:
          $ref: '#/components/schemas/ChannelNotificationSeverity'
        message:
          type: string
          example: Product Data could not be updated
        reference:
          title: ChannelNotificationReference
          type: object
          nullable: true
          required:
            - type
            - id
          properties:
            type:
              $ref: '#/components/schemas/ChannelNotificationReferenceType'
            id:
              type: string
              example: '19820701'
    OfferListingInProgress:
      type: object
      required:
        - sellerId
        - offerId
        - startedAt
      properties:
        sellerId:
          $ref: '#/components/schemas/SellerId'
        offerId:
          $ref: '#/components/schemas/OfferId'
        startedAt:
          type: string
          format: date-time
          example: '2019-07-01T15:43:21+00:00'
    OfferListingSuccessful:
      type: object
      required:
        - sellerId
        - offerId
        - listedAt
      properties:
        sellerId:
          $ref: '#/components/schemas/SellerId'
        offerId:
          $ref: '#/components/schemas/OfferId'
        channelOfferId:
          allOf:
            - $ref: '#/components/schemas/ChannelOfferId'
          nullable: true
        listedAt:
          type: string
          format: date-time
          example: '2019-07-01T15:43:21+00:00'
        listingUrl:
          type: string
          nullable: true
          example: https://mybestdeals.com/listing/1224232323
    OfferListingFailed:
      type: object
      required:
        - sellerId
        - offerId
        - errorList
        - failedAt
      properties:
        sellerId:
          $ref: '#/components/schemas/SellerId'
        offerId:
          $ref: '#/components/schemas/OfferId'
        errorList:
          type: array
          minItems: 1
          maxItems: 250
          items:
            $ref: '#/components/schemas/OfferListingFailedError'
        failedAt:
          type: string
          format: date-time
          example: '2019-07-01T15:43:21+00:00'
    Order:
      title: Order
      type: object
      properties:
        sellerId:
          $ref: '#/components/schemas/SellerId'
        orderStatus:
          $ref: '#/components/schemas/ChannelOrderStatus'
        orderAcceptUntil:
          description: >
            When `orderStatus` is type `UNACKED` a Seller integration must
            confirn a Order bevor it can be proccessed.

            This field provides a time until when an order can be accepted. To
            accept an Order a Seller integration must

            invoke API call `PUT /v1/seller/order/accept`.
          type: string
          format: date-time
        paymentMethod:
          type: string
          example: CHANNEL
          minLength: 1
          maxLength: 150
        paymentReference:
          description: >-
            Payment reference can be used to reference or identify a payment
            transaction
          type: string
        orderId:
          $ref: '#/components/schemas/ChannelOrderId'
        purchasedAt:
          type: string
          format: date-time
          example: '2019-02-11T14:54:32+00:00'
        lastChangedAt:
          type: string
          format: date-time
          example: '2019-02-11T16:54:32+00:00'
        currency:
          type: string
          example: EUR
        orderItem:
          description: >
            List of Order Positions such as Order Items, Shipping or Payment.
            There must be at least on Item of Type ITEM and at least on Item of
            Type SHIPPING.
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/OrderItem'
        billingAddress:
          $ref: '#/components/schemas/Address'
        shippingAddress:
          $ref: '#/components/schemas/Address'
        note:
          description: A optional note
          type: string
          example: This note can be everything, but a least a additional message.
        buyer:
          $ref: '#/components/schemas/OrderBuyer'
        weeePickup:
          description: >
            This Order require a electrical and electronic equipment disposal
            service (WEEE)
          type: boolean
          example: true
          nullable: true
        language:
          description: The language of the order as a ISO 639-1 language code
          type: string
          nullable: true
          example: de
        invoiceDocumentTransfer:
          description: >
            This field indicates whether the channel provides the invoice
            document or the seller has to upload it.

            This overwrites the default setting of the channel.

            Possible values are:

            - `from-seller`: Seller has to upload the invoice document

            - `from-channel`: Channel provides the invoice document

            - `not-set` (Default): Use the default setting of the channel or
            indicates that invoice transfer is not supported
          type: string
          enum:
            - not-set
            - from-seller
            - from-channel
          nullable: true
          default: not-set
          example: from-seller
        additionalOrderData:
          description: >
            Additional order data is a list of key value pairs. The key is a
            string and the value is a string or a number.

            The key must be unique in the list.
          type: array
          minItems: 0
          maxItems: 10
          items:
            $ref: '#/components/schemas/AdditionalOrderDataGroup'
        fbc:
          description: >
            Fulfillment by Channel - indicates if the order is fulfilled by the
            channel
          type: boolean
          nullable: true
          default: null
          example: true
        b2b:
          description: |
            Business to Business - indicates if this is a B2B order
          type: boolean
          nullable: true
          default: null
          example: false
        salesChannelName:
          description: >
            Sales channel name (Verkaufskanalname) - identifies the specific
            sales channel
          type: string
          maxLength: 100
          nullable: true
          example: MyMarketplace.de
      required:
        - sellerId
        - orderStatus
        - orderId
        - purchasedAt
        - lastChangedAt
        - currency
        - orderItem
    OrderStatus:
      type: object
      required:
        - sellerId
        - orderId
        - orderStatus
      properties:
        sellerId:
          $ref: '#/components/schemas/SellerId'
        orderId:
          $ref: '#/components/schemas/ChannelOrderId'
        orderStatus:
          $ref: '#/components/schemas/ChannelOrderStatus'
        orderItems:
          type: array
          minItems: 0
          items:
            type: object
            required:
              - orderItemId
              - itemStatus
              - paymentStatus
            properties:
              orderItemId:
                $ref: '#/components/schemas/OrderItemId'
              itemStatus:
                $ref: '#/components/schemas/OrderItemStatus'
              paymentStatus:
                $ref: '#/components/schemas/OrderItemPaymentStatus'
              shipFromCountry:
                description: >
                  Ship from country (Versandland) - ISO 3 letter country code
                  indicating the country from which the item is shipped
                type: string
                pattern: ^[A-Z]{3}$
                nullable: true
                example: DEU
    OrderAddressUpdate:
      type: object
      properties:
        sellerId:
          $ref: '#/components/schemas/SellerId'
        orderId:
          $ref: '#/components/schemas/ChannelOrderId'
        billingAddress:
          allOf:
            - $ref: '#/components/schemas/Address'
          nullable: true
        shippingAddress:
          allOf:
            - $ref: '#/components/schemas/Address'
          nullable: true
        buyer:
          allOf:
            - $ref: '#/components/schemas/OrderBuyer'
          nullable: true
      required:
        - sellerId
        - orderId
    ReportData:
      type: object
      properties:
        sellerId:
          $ref: '#/components/schemas/SellerId'
        reportId:
          $ref: '#/components/schemas/ReportId'
        reportType:
          $ref: '#/components/schemas/ReportType'
        data:
          type: array
          items:
            $ref: '#/components/schemas/ReportSellerInventory'
        checkSum:
          type: string
          description: >
            A checksum for the data. The checksum is used to verify the
            integrity and the amount of the received data.
          example: aee97cb3ad288ef0add6c6b5b5fae48a
    ReportDataComplete:
      description: >
        This event marks the end of a Report Data Event stream. Once this event
        is received, it signifies that the event 

        data is complete and no further data will be transmitted for this
        report.
      type: object
      properties:
        sellerId:
          $ref: '#/components/schemas/SellerId'
        reportId:
          $ref: '#/components/schemas/ReportId'
        reportType:
          $ref: '#/components/schemas/ReportType'
        receivedChecksumList:
          description: >
            A list of checksums for the received data. The checksums are used to
            verify the integrity and the 

            amount the former received data.
          type: array
          items:
            type: string
          example:
            - aee97cb3ad288ef0add6c6b5b5fae48a
            - f95e303d517a6a63c8e5975137b70a9c
            - b1308e45d7501076cd34ebb17d843a9b
    CancellationAccept:
      required:
        - sellerId
        - orderCancellationRequestId
      properties:
        sellerId:
          $ref: '#/components/schemas/SellerId'
        orderCancellationRequestId:
          $ref: '#/components/schemas/OrderCancellationRequestId'
    CancellationDenied:
      required:
        - sellerId
        - orderCancellationRequestId
        - reason
      properties:
        sellerId:
          $ref: '#/components/schemas/SellerId'
        orderCancellationRequestId:
          $ref: '#/components/schemas/OrderCancellationRequestId'
        reason:
          type: string
          maxLength: 250
    OrderCancellationRequest:
      type: object
      title: OrderCancellationRequest
      required:
        - orderCancellationRequestId
        - channel
        - sellerId
        - orderId
        - orderItem
        - reason
      properties:
        orderCancellationRequestId:
          $ref: '#/components/schemas/OrderCancellationRequestId'
        sellerId:
          $ref: '#/components/schemas/SellerId'
        orderId:
          $ref: '#/components/schemas/ChannelOrderId'
        orderItem:
          type: array
          nullable: true
          minItems: 1
          items:
            type: object
            title: OrderCancellationItem
            required:
              - orderItemId
            properties:
              orderItemId:
                $ref: '#/components/schemas/OrderItemId'
              quantity:
                type: string
                default: '1.0'
                example: '2.0'
        cancelReason:
          $ref: '#/components/schemas/CancelReason'
        message:
          type: string
          minLength: 0
          maxLength: 1024
    InvoiceMetaData:
      type: object
      required:
        - type
        - sellerId
        - orderId
        - invoiceNumber
        - billingAddress
        - currency
        - transactionDate
        - taxCalculationDate
      properties:
        type:
          $ref: '#/components/schemas/InvoiceDocumentType'
        sellerId:
          $ref: '#/components/schemas/SellerId'
        orderId:
          $ref: '#/components/schemas/ChannelOrderId'
        invoiceNumber:
          type: string
          minLength: 1
          maxLength: 256
        originalInvoiceNumber:
          type: string
          nullable: true
          description: |
            A original Invoice Number is required when type is CREDITNOTE
        transactionDate:
          type: string
          format: date-time
          description: |
            Date when the Invoice document was issued.
        taxCalculationDate:
          type: string
          format: date-time
          description: |
            Date when the tax in the Invoice document was calculated.
        transactionDetails:
          type: string
          nullable: true
        shipmentDate:
          type: string
          format: date-time
        taxAddressRole:
          type: string
          enum:
            - shipFrom
            - shipTo
        exportOutsideEu:
          type: boolean
        currency:
          type: string
        billingAddress:
          $ref: '#/components/schemas/Address'
        sellerVatNumber:
          type: string
          nullable: true
        buyerVatNumber:
          type: string
          nullable: true
        orderList:
          type: array
          minItems: 1
          description: >
            List of orders that are part of the invoice document. There must be
            at least one order on a document.  If the invoice document type is
            INVOICE, the shipping address is required and can not be empty or
            null.
          items:
            $ref: '#/components/schemas/OrderInvoice'
    ReturnAnnouncement:
      type: object
      required:
        - sellerId
        - orderId
        - channelReturnId
      properties:
        sellerId:
          $ref: '#/components/schemas/SellerId'
        orderId:
          $ref: '#/components/schemas/ChannelOrderId'
        orderItem:
          description: >
            Details about what will be to returned to Seller. If the orderItem
            list is empty as Seller must expect that the

            whole order is returned.
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/ReturnAnnouncementOrderItem'
        channelReturnId:
          $ref: '#/components/schemas/ChannelReturnId'
        returnTracking:
          type: object
          required:
            - carrier
            - trackingNumber
          description: |
            Optional information about return tracking.
          properties:
            carrier:
              type: string
              example: DHL
            trackingNumber:
              type: string
              example: 12334-44332-323256
    ReturnProcessingResult:
      type: object
      required:
        - sellerId
        - sellerReturnId
        - isAccepted
      properties:
        sellerId:
          $ref: '#/components/schemas/SellerId'
        sellerReturnId:
          $ref: '#/components/schemas/SellerReturnId'
        isAccepted:
          type: boolean
          example: false
        processingErrorList:
          type: array
          minItems: 0
          maxItems: 500
          items:
            $ref: '#/components/schemas/ReturnProcessingError'
    RefundProcessingResult:
      title: RefundProcessingResult
      type: object
      required:
        - refundId
        - sellerId
        - isAccepted
      properties:
        refundId:
          $ref: '#/components/schemas/RefundId'
        sellerId:
          $ref: '#/components/schemas/SellerId'
        isAccepted:
          type: boolean
        processingErrorList:
          type: array
          minItems: 0
          maxItems: 500
          items:
            $ref: '#/components/schemas/RefundProcessingError'
    Ticket:
      title: Ticket
      type: object
      required:
        - sellerId
        - ticketId
        - topic
        - createdAt
        - from
        - subject
        - message
      properties:
        sellerId:
          $ref: '#/components/schemas/SellerId'
        ticketId:
          $ref: '#/components/schemas/TicketId'
        topic:
          $ref: '#/components/schemas/Topic'
        reference:
          $ref: '#/components/schemas/TicketReference'
        replyRequested:
          type: boolean
          example: true
          default: true
        createdAt:
          type: string
          format: date-time
        from:
          $ref: '#/components/schemas/TicketFrom'
        subject:
          type: string
          minLength: 1
          maxLength: 1024
          example: Pod bay door seems to be locked.
        message:
          type: string
          minLength: 1
          maxLength: 1024
          example: Open the pod bay doors HAL.
        attachment:
          type: array
          minItems: 0
          maxItems: 10
          items:
            $ref: '#/components/schemas/TicketAttachment'
    ChannelNotificationSeverity:
      type: string
      enum:
        - INFO
        - WARNING
        - ERROR
      default: INFO
      example: INFO
    ChannelNotificationReferenceType:
      type: string
      example: OFFER
      enum:
        - OFFER
        - CHANNELOFFER
        - ORDERITEMID
    OfferId:
      description: |
        Unique Offer Id to identify an Offer on a Sales Channel.
      type: integer
      example: 5437233
      format: int64
      minimum: 1
      maxLength: 50
    ChannelOfferId:
      description: |
        Channel defined unique Offer Id to identify an Offer on a Sales Channel.
      type: string
      example: XCD233554
      minLength: 1
      maxLength: 100
    OfferListingFailedError:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          minLength: 1
          maxLength: 255
          example: CHN500
          description: >-
            A unique error code identifier for the specific type of error
            encountered.
        message:
          type: string
          minLength: 1
          maxLength: 250
          example: Global attribute brand not found
          description: >-
            A brief description of the error, intended to be human-readable and
            understandable.
        longMessage:
          type: string
          minLength: 1
          maxLength: 10000
          nullable: true
          example: This is a long and more detailed error messages
          description: >-
            An optional, more detailed explanation of the error, providing
            additional context or information that might help in understanding
            or resolving the issue.
        relatedAttributeId:
          type: string
          minLength: 1
          maxLength: 512
          nullable: true
          example: global:mpi
          description: >-
            An optional identifier for the attribute related to the error, which
            can help in pinpointing the exact cause or location of the issue.
        recommendedValue:
          type: string
          minLength: 1
          maxLength: 1000
          nullable: true
          example: MPI_OLEOLE1234
          description: >-
            An optional recommended value or action to resolve the error,
            providing guidance on how to correct the issue or avoid it in future
            attempts.
    ChannelOrderStatus:
      description: >
        The current order status.


        * **UNACKED**: Order is created in Marketplace but a Seller acknowledge
        is required.

        * **CREATED**: Order is created but not yet completed.

        * **ACCEPTED**: Order is placed and checkout process is complete but not
        yet shipped.

        * (DEPRECATED) ~~SHIPPED~~: All items in the order have been shipped

        * (DEPRECATED) ~~PARTIALLY_SHIPPED~~: Some items (but not all) have been
        shipped.

        * (DEPRECATED) ~~CANCELED_BY_SELLER~~: Order is canceled by seller.

        * (DEPRECATED) ~~CANCELED_BY_BUYER~~: Order is canceled by buyer.
      type: string
      enum:
        - UNACKED
        - CREATED
        - ACCEPTED
        - SHIPPED
        - PARTIALLY_SHIPPED
        - CANCELED_BY_SELLER
        - CANCELED_BY_BUYER
    ChannelOrderId:
      type: string
      minLength: 1
      maxLength: 150
      example: 43523-43432-43532
    OrderItem:
      type: object
      anyOf:
        - $ref: '#/components/schemas/OrderItemTypeItem'
        - $ref: '#/components/schemas/OrderItemTypeShipping'
        - $ref: '#/components/schemas/OrderItemTypePayment'
    Address:
      type: object
      required:
        - lastName
        - street
        - city
        - country
      properties:
        firstName:
          type: string
          example: Arno
        lastName:
          type: string
          example: Nym
        gender:
          type: string
          enum:
            - male
            - female
            - diverse
        companyName:
          type: string
        street:
          type: string
          example: Leyboldstrasse
        houseNumber:
          type: string
          example: 14a
        addition:
          type: string
          example: 1. UG
        postcode:
          type: string
          example: '50354'
        city:
          type: string
          example: Hürth
        phone:
          type: string
          example: +49 0221 123456
        country:
          type: string
          example: DE
        state:
          type: string
          example: NRW
          nullable: true
    OrderBuyer:
      type: object
      properties:
        email:
          type: string
          format: email
        vatId:
          type: string
    AdditionalOrderDataGroup:
      title: AdditionalOrderDataGroup
      description: >
        Additional order data is a list of key value pairs and should be used to
        add additional information to an order.

        The data is used by a connected client implementation (such as JTL-Wawi)
        to display and print this information.
      type: object
      properties:
        group:
          type: string
          description: >
            The group name is used to group the additional order data. The group
            name must be unique in the list.
          minLength: 1
          maxLength: 150
          example: Marketplace Fees
        values:
          type: array
          minItems: 1
          maxItems: 50
          items:
            $ref: '#/components/schemas/AdditionalOrderDataGroupValues'
    OrderItemId:
      description: >-
        A unique identifier to identify a order item. This ID is provided by the
        Channel itself an should be used to identify a order item id.
      type: string
      example: '5437233'
      format: string
      minLength: 1
      maxLength: 50
    OrderItemStatus:
      description: |
        The current for order item.

        * **UNSHIPPED**: Item is ready for shipping
        * **SHIPPED**: Item is sent to buyer
        * **CANCELED_BY_SELLER**: Order is canceled by seller.
        * **CANCELED_BY_BUYER**: Order is canceled by buyer.
        * **RETURNED**: Item is returned to Seller.
        * **REFUNDED**: Item was returned and refunded.
      type: string
      enum:
        - UNSHIPPED
        - SHIPPED
        - CANCELED_BY_SELLER
        - CANCELED_BY_BUYER
        - RETURNED
        - REFUNDED
    OrderItemPaymentStatus:
      description: |
        The current payment status

        * **PENDING**: Order Item is not yet paid.
        * **PAID**: Order Item is complete paid.
      type: string
      enum:
        - PENDING
        - PAID
    ReportId:
      type: string
      description: |
        A system wide unique Id to identify and download a report
      example: 910390cc-c3b3-45ba-8be2-ab1824b6c499
    ReportType:
      type: string
      enum:
        - SELLER_INVENTORY
    ReportSellerInventory:
      type: array
      minItems: 1
      maxItems: 100
      items:
        $ref: '#/components/schemas/SellerInventoryItem'
    OrderCancellationRequestId:
      type: string
      description: >
        A unique identifier for the order cancellation request. This ID should
        by used by Seller to identify the cancellation response from the
        Channel.
      format: uuid
      example: 82992d3a-b153-4422-b539-f4d1f1b4aecb
    CancelReason:
      type: string
      description: >
        * BUYER_CANCELLED: the buyer cancelled the order.

        * UNDELIVERABLE_TO_SHIPPING_ADDRESS: Could not deliver to the address
        given by the buyer.

        * UNDELIVERABLE_BY_CARRIER: Carrier do not ship to the buyerss location.

        * OUT_OF_STOCK: The item is out of stock, for example because you are
        temporarily or permenantly sold out.

        * DELAYED_INVENTORY: The item is not in your inventory and there is a
        delay in delivery by the supplier.

        * PRICING_ERROR: The price on the connected marketplace was incorrect.

        * OTHER: Well, objvoiusly there is some reason missing in this list.
      enum:
        - BUYER_CANCELLED
        - UNDELIVERABLE_TO_SHIPPING_ADDRESS
        - UNDELIVERABLE_BY_CARRIER
        - OUT_OF_STOCK
        - DELAYED_INVENTORY
        - PRICING_ERROR
        - OTHER
    InvoiceDocumentType:
      type: string
      enum:
        - INVOICE
        - CREDITNOTE
      default: INVOICE
    OrderInvoice:
      type: object
      required:
        - orderId
        - purchasedAt
      properties:
        orderId:
          $ref: '#/components/schemas/ChannelOrderId'
        purchasedAt:
          type: string
          format: date-time
        shippingAddress:
          $ref: '#/components/schemas/Address'
        transactionItemList:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/OrderInvoiceTransactionItem'
    ReturnAnnouncementOrderItem:
      type: object
      required:
        - orderItemId
        - quantity
        - returnReason
      properties:
        orderItemId:
          $ref: '#/components/schemas/OrderItemId'
        quantity:
          type: string
          example: '1.0'
        returnReason:
          $ref: '#/components/schemas/ReturnReason'
        note:
          type: string
          maxLength: 1024
    ChannelReturnId:
      type: string
      description: |
        Id used to identify an order return on Marketplace.
      example: R12343
    SellerReturnId:
      type: string
      description: |
        Id used to identify an order return on Seller side.
      example: '123'
    ReturnProcessingError:
      title: ReturnProcessingError
      required:
        - message
      properties:
        code:
          type: string
          example: GEN615
        message:
          type: string
          minLength: 1
          maxLength: 1024
    RefundId:
      type: string
      description: >
        Seller created unique Id to identify the processing Result of a Refund
        processing from a Channel.
      minLength: 1
      maxLength: 128
    RefundProcessingError:
      title: RefundProcessingError
      required:
        - message
      properties:
        code:
          type: string
          example: GEN615
        message:
          type: string
          minLength: 1
          maxLength: 1024
    TicketId:
      type: string
      description: |
        Unique identifcation for Ticket Id
      minLength: 1
      maxLength: 256
      example: CASE-01071982
    Topic:
      type: string
      enum:
        - QUESTION
        - FEEDBACK
        - DELIVERY
        - RETURN
        - REFUND
        - INCIDENT
    TicketReference:
      title: TicketReference
      type: object
      nullable: true
      required:
        - type
        - id
      properties:
        type:
          type: string
          example: ORDERID
          enum:
            - OFFER
            - CHANNELOFFER
            - ORDERID
            - ORDERITEMID
        id:
          type: string
          example: '19820701'
    TicketFrom:
      title: TicketFrom
      type: object
      required:
        - role
      properties:
        role:
          type: string
          enum:
            - BUYER
            - SELLER
            - CHANNEL
          example: BUYER
        name:
          type: string
          maxLength: 100
          example: Dave
    TicketAttachment:
      title: TicketAttachment
      type: object
      required:
        - filename
        - contentType
      properties:
        filename:
          type: string
          minLength: 1
          maxLength: 256
          example: RedDot.png
        contentType:
          type: string
          minLength: 1
          maxLength: 128
          example: image/png
    OrderItemTypeItem:
      type: object
      title: OrderItemTypeItem
      properties:
        orderItemId:
          $ref: '#/components/schemas/OrderItemId'
        type:
          type: string
          default: ITEM
        itemStatus:
          $ref: '#/components/schemas/OrderItemStatus'
        itemPaymentStatus:
          $ref: '#/components/schemas/OrderItemPaymentStatus'
        grossPrice:
          type: string
          example: '2.00'
          description: |
            The order item gross price
            The gross price is not allowed to have more than 2 decimal places.
        total:
          type: string
          example: '2.00'
          description: |
            Overall gross price (quantity * grossPrice)
            The total is not allowed to have more than 2 decimal places.
        taxPercent:
          type: string
          nullable: true
          example: '16.00'
        grossFee:
          description: >
            The accrued sales charge (gross), which is levied by the
            marketplace. This property is optional and if a

            marketplace does not support sales fees then this property must be
            null or not present.

            The gross fee is not allowed to have more than 2 decimal places.
          type: string
          example: '0.29'
          nullable: true
        offerId:
          $ref: '#/components/schemas/OfferId'
        channelOfferId:
          $ref: '#/components/schemas/ChannelOfferId'
        sku:
          $ref: '#/components/schemas/SKU'
        quantity:
          type: string
          default: '1.0'
          example: '1.0'
        title:
          type: string
          example: Dark Beer
        estimatedShippingDate:
          type: string
          format: date-time
          example: '2010-03-11T00:00:00+00:00'
        estimatedDeliveryDate:
          type: string
          format: date-time
          example: '2010-03-12T00:00:00+00:00'
        remainingQuantity:
          type: string
          description: >
            Includes the rest of the inventory available on the connected
            Marketplace. The remaining quanity can be used

            by a connected client implementation (such as JTL-Wawi) to manage
            quanity updates.
          nullable: true
          example: '54.0'
        additionalOrderItemData:
          description: >
            Additional order data is a list of key value pairs. The key is a
            string and the value is a string or a number.

            The key must be unique in the list.
          type: array
          minItems: 0
          maxItems: 10
          items:
            $ref: '#/components/schemas/AdditionalOrderDataGroup'
        shipFromCountry:
          description: >
            Ship from country (Versandland) - ISO 3 letter country code
            indicating the country from which the item is shipped
          type: string
          pattern: ^[A-Z]{3}$
          nullable: true
          example: DEU
      required:
        - orderItemId
        - type
        - grossPrice
        - total
    OrderItemTypeShipping:
      type: object
      title: OrderItemTypeShipping
      properties:
        orderItemId:
          $ref: '#/components/schemas/OrderItemId'
        type:
          type: string
          default: SHIPPING
        grossPrice:
          type: string
          example: '3.99'
        taxPercent:
          type: string
          example: '19.00'
          nullable: true
        shippingGroup:
          $ref: '#/components/schemas/shippingGroup'
      required:
        - orderItemId
        - type
        - grossPrice
        - shippingGroup
    OrderItemTypePayment:
      type: object
      title: OrderItemTypePayment
      properties:
        orderItemId:
          $ref: '#/components/schemas/OrderItemId'
        type:
          type: string
          default: PAYMENT
        grossPrice:
          type: string
          example: '3.99'
        taxPercent:
          type: string
          example: '19.00'
          nullable: true
        note:
          type: string
          example: Cash on delivery
      required:
        - orderItemId
        - type
        - grossPrice
        - note
    AdditionalOrderDataGroupValues:
      title: AdditionalOrderDataGroupValues
      type: object
      properties:
        key:
          type: string
          description: >
            The key is used to identify the additional order data. The key can
            be used multiple times in the list and

            we recommend to use a human readable key.
          minLength: 1
          maxLength: 255
          example: Advertising fee
        value:
          type: string
          description: >
            The value is used to store the additional order data and must be
            always a string.
          minLength: 1
          maxLength: 5000
          example: 0.50 USD
    SellerInventoryItem:
      type: object
      title: SellerInventoryItem
      properties:
        offerId:
          $ref: '#/components/schemas/OfferId'
        channelOfferId:
          $ref: '#/components/schemas/ChannelOfferId'
        sku:
          $ref: '#/components/schemas/SKU'
        ean:
          type: string
          example: '4003227021106'
        quantity:
          type: string
          example: '1.0'
        priceList:
          type: array
          items:
            $ref: '#/components/schemas/PriceContainer'
        title:
          type: string
          example: One of the best Beer in the World.
        channelCategoryId:
          type: string
          example: '4355111'
        channelAttributeList:
          type: array
          minItems: 0
          maxItems: 1000
          items:
            $ref: '#/components/schemas/ChannelAttribute'
    OrderInvoiceTransactionItem:
      type: object
      required:
        - orderItemId
        - orderItemType
        - totalGrossPriceWithDiscounts
        - totalNetPriceWithDiscounts
        - totalVatAmountWithDiscounts
        - vatRate
      properties:
        orderItemId:
          type: string
        orderItemType:
          type: string
          enum:
            - ITEM
            - SHIPPING
            - PAYMENT
        sku:
          type: string
        title:
          type: string
        quantity:
          type: number
          format: float
          minimum: 0
          default: 1
        totalGrossPriceWithDiscounts:
          type: number
          minimum: 0
          format: float
        totalNetPriceWithDiscounts:
          type: number
          minimum: 0
          format: float
        totalVatAmountWithDiscounts:
          type: number
          minimum: 0
          format: float
        vatRate:
          type: number
          minimum: 0
          format: float
        discounts:
          type: array
          minItems: 0
          nullable: true
          items:
            $ref: '#/components/schemas/OrderInvoiceTransactionItemDiscounts'
    ReturnReason:
      type: string
      enum:
        - NO_REASON
        - DEFECT
        - WRONG_ITEM
        - WRONG_SIZE
        - TOO_LATE
        - BAD_QUALITY
    SKU:
      description: |
        Stock keeping unit is a unique Id used to identify one product.
      type: string
      example: BEER-001
      minLength: 1
      maxLength: 150
    shippingGroup:
      description: >-
        The shipping group is a unique identifier about what kind of shipping
        method and carrier is used to fulfill a order. A shipping group can be
        given by the connected salesChannel or defined by the seller itself.
      type: string
      example: DHL_DOMESTIC
    PriceContainer:
      type: object
      required:
        - id
        - quantityPriceList
      properties:
        id:
          type: string
          example: B2C
          nullable: false
        quantityPriceList:
          type: array
          minItems: 1
          maxItems: 50
          items:
            $ref: '#/components/schemas/QuantityPrice'
    ChannelAttribute:
      type: object
      required:
        - attributeId
        - value
      properties:
        attributeId:
          type: string
          example: '1332'
        value:
          type: string
          example: MyBeerBrand
        group:
          type: string
          nullable: true
          example: '1'
    OrderInvoiceTransactionItemDiscounts:
      type: object
      required:
        - totalGrossPrice
        - totalNetPrice
        - totalVatAmount
      properties:
        name:
          description: Discount name
          type: string
          nullable: true
          example: 10% Winter Sale
        discountId:
          description: Channel Related Discount ID
          type: string
          nullable: true
          example: D1265327
        totalGrossPrice:
          type: number
          format: float
          minimum: 0
          default: 0
        totalNetPrice:
          type: number
          format: float
          minimum: 0
          default: 0
        totalVatAmount:
          type: number
          format: float
          minimum: 0
          default: 0
        vatRate:
          type: number
          format: float
          minimum: 0
          default: 0
    QuantityPrice:
      type: object
      required:
        - amount
        - currency
      properties:
        amount:
          type: string
          example: '14.65'
          nullable: false
        currency:
          type: string
          example: EUR
          nullable: false
        quantity:
          type: string
          example: '1.0'
          nullable: true
          default: '1.0'
  examples:
    ChannelDataChangedExample:
      summary: Channel data has changed
      value:
        eventList:
          - id: 5f56353a5d140073454e9
            createdAt: 2020-08-06T06:40:18+0000
            type: Channel:ChannelDataChanged
            event:
              channel: MYBESTDEALDE
    OrderNewExample:
      summary: New Channel Order
      value:
        eventList:
          - id: 5f2ba5d28e553b1f32601684
            createdAt: 2020-08-06T06:40:18+0000
            type: Channel:Order
            event:
              channel: MYBESTDEALDE
              sellerId: SRL5f2ba5cdeb661
              orderStatus: CREATED
              orderId: 2c2cc2dd-559f-41f2-b4a3-69d61b54f5ce
              purchasedAt: 2020-08-06T03:40:18+0000
              lastChangedAt: 2020-08-06T03:45:18+0000
              currency: EUR
              orderItem:
                - type: ITEM
                  orderItemId: '1'
                  grossPrice: '12.40'
                  taxPercent: '19'
                  sku: 1234-D
                  estimatedShippingDate: 2020-08-07T00:00:00+0000
                  estimatedDeliveryDate: 2020-08-09T00:00:00+0000
                  offerId: 1337
                  quantity: '2.0'
                  title: Headphones
                  total: '19'
                - type: SHIPPING
                  grossPrice: '1.48'
                  taxPercent: '62.10'
                  shippingGroup: DHL
                  orderItemId: '2'
                - type: PAYMENT
                  grossPrice: '0.0'
                  taxPercent: '62.10980132877943'
                  note: Because I said so
                  orderItemId: a valid order item ID
              billingAddress:
                firstName: John
                lastName: Doe
                gender: male
                companyName: JTL-Software GmbH
                street: Leyboldstr
                houseNumber: '14'
                postcode: '51379'
                city: Köln
                phone: '0123456789'
                country: DE
              shippingAddress:
                firstName: John
                lastName: Doe
                gender: male
                companyName: JTL-Software GmbH
                street: Leyboldstr
                houseNumber: '14'
                postcode: '51379'
                city: Köln
                phone: '0123456789'
                country: DE
              note: Order Example
    OrderUpdateExample:
      summary: Update existing Channel Order
      value:
        eventList:
          - id: 5f2bd6d28e553b1f32601684
            createdAt: 2020-08-06T06:40:18+0000
            type: Channel:Order.StatusUpdate
            event:
              channel: MYBESTDEALDE
              sellerId: SRL5f2ba5cdeb661
              orderId: 2c2cc2dd-559f-41f2-b4a3-69d61b54f5ce
              orderStatus: SHIPPED
    OrderAddressUpdateExample:
      summary: Order Address Update
      value:
        eventList:
          - id: 5f2ba5d28e553b1f32601684
            createdAt: 2020-08-06T06:40:18+0000
            type: Channel:Order.AddressUpdate
            event:
              channel: MYBESTDEALDE
              sellerId: SRL5f2ba5cdeb661
              orderId: 2c2cc2dd-559f-41f2-b4a3-69d61b54f5ce
              billingAddress:
                firstName: John
                lastName: Doe
                gender: male
                companyName: JTL-Software GmbH
                street: Leyboldstr
                houseNumber: '14'
                postcode: '51379'
                city: Köln
                phone: '0123456789'
                country: DE
              shippingAddress:
                firstName: John
                lastName: Doe
                gender: male
                companyName: JTL-Software GmbH
                street: Leyboldstr
                houseNumber: '14'
                postcode: '51379'
                city: Köln
                phone: '0123456789'
                country: DE
              buyer:
                email: example@jtl-software.com
          - id: 5f2ba5d28e43263f32601684
            createdAt: 2020-08-06T06:40:18+0000
            type: Channel:Order
            event:
              channel: MYBESTDEALDE
              sellerId: SRL5f2ba5cdeb661
              orderId: 2c2cc2dd-5462-41f2-b4a3-69d61b54f5ce
              shippingAddress:
                firstName: John
                lastName: Doe
                gender: male
                companyName: JTL-Software GmbH
                street: Leyboldstr
                houseNumber: '14'
                postcode: '51379'
                city: Köln
                phone: '0123456789'
                country: DE
    OrderCancellationRequestAcceptExample:
      summary: Channel accept a Order Cancellation
      value:
        eventList:
          - id: 5f5639bc09f24d14007784e9
            createdAt: 2020-08-06T06:40:18+0000
            type: Channel:Order.Cancellation.Accepted
            event:
              channel: MYBESTDEALDE
              sellerId: '123'
              orderCancellationRequestId: '121'
    OrderCancellationRequestDeniedExample:
      summary: Channel deny a Order Cancellation
      value:
        eventList:
          - id: 5f5639bc09f24d14007784e9
            createdAt: 2020-08-06T06:40:18+0000
            type: Channel:Order.Cancellation.Denied
            event:
              channel: MYBESTDEALDE
              sellerId: '123'
              orderCancellationRequestId: '121'
              reason: Order already shipped
    ChannelEventNotificationExample:
      summary: Channel Event Notification
      value:
        eventList:
          - id: 5f5639bc09f24d140073454e9
            createdAt: 2020-08-06T06:40:18+0000
            type: Channel:Notification
            event:
              channel: MYBESTDEALDE
              sellerId: '123'
              message: Something happend (Example 1)
              severity: ERROR
              reference:
                id: 1-UUID-899
                type: OFFER
          - id: 5f5639bc09f24d1400734543r
            createdAt: 2020-08-06T06:40:18+0000
            type: Channel:Notification
            event:
              channel: MYBESTDEALDE
              sellerId: '123'
              message: Something is wrong (Example 2)
              severity: WARNING
              reference:
                id: '12443'
                type: ORDERITEMID
          - id: 5f5639bc09f24d1400734543r
            createdAt: 2020-08-06T06:40:18+0000
            type: Channel:Notification
            event:
              channel: MYBESTDEALDE
              sellerId: '123'
              message: Some Information (Example 3)
              severity: INFO
              reference: null
    OfferListingInProgressExample:
      summary: A Offer Listing is marked as in progress
      value:
        eventList:
          - id: 5f56394de4d140073454e9
            createdAt: 2020-08-06T06:40:18+0000
            type: Channel:Offer.ListingInProgress
            event:
              channel: MYBESTDEALDE
              sellerId: '123'
              offerId: 32252
              startedAt: 2020-08-06T06:40:18+0000
    OfferListingSuccessfulExample:
      summary: A Offer is Listed on Channel
      value:
        eventList:
          - id: 5f56394de4d140073454e9
            createdAt: 2020-08-06T06:40:18+0000
            type: Channel:Offer.ListingSuccessful
            event:
              channel: MYBESTDEALDE
              sellerId: '123'
              offerId: 32252
              channelOfferId: A43342
              listedAt: 2020-08-06T06:40:18+0000
              listingUrl: https://www.mybestdeals.de/A43342
    OfferListingFailedExample:
      summary: A Offer Listing failed
      value:
        eventList:
          - id: 5f56394de4d140073454e9
            createdAt: 2020-08-06T06:40:18+0000
            type: Channel:Offer.ListingFailed
            event:
              channel: MYBESTDEALDE
              sellerId: '123'
              offerId: 32252
              channelOfferId: A43342
              failedAt: 2020-08-06T06:40:18+0000
              errorList:
                - code: CHN500
                  message: Global attribute color not found
                  longMessage: Attribute "color" is missing
                - code: CHN501
                  message: Seller attribute main_picture not found
                  longMessage: An offer needs at least one picture
    ReportProcessingFinishedExample:
      summary: Report Processing Finished
      value:
        eventList:
          - id: 5f56353a5d140073454e9
            createdAt: 2020-08-06T06:40:18+0000
            type: Channel:Report.ProcessingFinished
            event:
              channel: MYBESTDEALDE
              sellerId: '123'
              reportId: a2f0ab31-95c1-4b54-b5a2-6bd95568c01c
              reportType: SELLER_INVENTORY
              resource: /seller/report/06c4021e-d51f-4ad9-bd70-611191c69b3b
    MetaDataChangedExample:
      summary: Channel Meta Data has changed
      value:
        eventList:
          - id: 5f56353a5d140073454e9
            createdAt: 2020-08-06T06:40:18+0000
            type: Channel:MetaDataChanged
            event:
              channel: MYBESTDEALDE
              type: CATEGORY
              reportId: a2f0ab31-95c1-4b54-b5a2-6bd95568c01c
              resource: /seller/meta/MYBESTDEALDE/categories
  securitySchemes:
    SellerAuth:
      description: >
        Bearer JWT issued to a seller after they sign up for a JTL-Scx
        subscription via the JTL

        Customer Center. Usage format: `Bearer <JWT>`.
      type: http
      scheme: bearer
      bearerFormat: JWT

````