Xentral Sales Order API

SalesOrders are an outbound orders, meaning that someone has bought from you.

OpenAPI Specification

xentral-sales-order-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Xentral Account Sales Order API
  version: v0.1
  description: Xentral is an ERP platform.
  contact:
    name: Xentral
    url: https://xentral.com
    email: api@xentral.com
servers:
- url: https://{xentralId}.xentral.biz
  description: Your Xentral Instance
  variables:
    xentralId:
      default: xentral
- url: https://{domain}
  description: Xentral at a custom domain
  variables:
    domain:
      default: xentral.com
security:
- BearerAuth: []
tags:
- name: Sales Order
  description: SalesOrders are an outbound orders, meaning that someone has bought from you.
paths:
  /api/v1/salesOrders:
    get:
      tags:
      - Sales Order
      operationId: salesOrder.list
      summary: List sales orders
      description: Returns a collection with all sales orders.
      parameters:
      - in: query
        name: page
        required: false
        style: deepObject
        schema:
          type: object
          additionalProperties: false
          required:
          - number
          - size
          properties:
            number:
              type: string
              pattern: \d+
              description: Page number should be an integer greater than or equal to 1
            size:
              type: string
              pattern: \d+
              description: Page size should usually be an integer between 10 and 50.
      - name: order
        in: query
        style: deepObject
        schema:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              field:
                type: string
                enum:
                - id
                - documentNumber
              dir:
                type: string
                enum:
                - asc
                - desc
      - name: filter
        in: query
        style: deepObject
        schema:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              key:
                type: string
                enum:
                - orderDate
                - status
                - documentNumber
                - transactionNumber
                - externalOrderNumber
                - customerOrderNumber
                - externalOrderId
                - customerId
                - customerNumber
                - email
                - zipCode
                - shippingEmail
                - shippingZip
                - isBeingEdited
                - subsequentDelivery
                - shippingDateOk
                - creditLimitOk
                - shippingLockOk
                - prepaidOk
                - postageOk
                - customerCheckOk
                - vatOk
                - stockOk
                - internalComment
                - shippingMethod
                - autoShipping
                - fastLane
                - gln
                - shippingGln
                - project
                - paymentMethod
                - country
                - phoneNumber
                - shippingCountry
                - desiredDeliveryDate
                - earliestFulfillmentDate
                - createdAt
                - updatedAt
              op:
                type: string
                enum:
                - greaterThan
                - lessThan
                - greaterThanOrEquals
                - lessThanOrEquals
                - equals
                - notEquals
                - in
                - notIn
              value:
                oneOf:
                - type: string
                  description: 'For dates use format: 2023-01-26T10:42:42+01:00 and encode as url. Valid statuses are created,released,canceled,completed.'
                  title: String
                - type: array
                  description: Used for the operations 'in', 'notIn', 'exactlyIn', 'allIn' and 'allNotIn'.
                  title: Array
                  items:
                    type: string
      responses:
        '200':
          description: Operation completed successfully.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      additionalProperties: false
                      properties:
                        id:
                          type: string
                          pattern: \d+
                          example: '17'
                          description: Resource identifier.
                        documentNumber:
                          type: string
                          description: Internal identification associated with a Sales Order
                          example: SO-1234
                        isBeingEdited:
                          type: boolean
                          description: Indicates if the Sales Order is currently being edited
                          example: false
                        shippingDateOk:
                          type: boolean
                          description: Indicates if the shipping date is ok
                          example: false
                        creditLimitOk:
                          type: boolean
                          description: Indicates if the credit limit is ok
                          example: false
                        subsequentDelivery:
                          type: boolean
                          description: Indicates if the Sales Order is a subsequent delivery
                          example: false
                        shippingLockOk:
                          type: boolean
                          description: Indicates if the shipping lock is ok
                          example: false
                        postageOk:
                          type: boolean
                          description: Indicates if the postage is ok
                          example: false
                        customerCheckOk:
                          type: boolean
                          description: Indicates if the customer check is ok
                          example: false
                        vatOk:
                          type: boolean
                          description: Indicates if the VAT is ok
                          example: false
                        stockOk:
                          type: boolean
                          description: Indicates if the stock is ok
                          example: false
                        prepaidOk:
                          type: boolean
                          description: Indicates if the prepaid status is ok
                          example: false
                        externalOrderNumber:
                          type: string
                          description: External identification associated with a Sales Order
                          example: ESO-1234
                        transactionNumber:
                          type: string
                          description: Transaction number associated with a Sales Order
                          example: transaction1
                        customerOrderNumber:
                          type: string
                          description: Customer order associated with a Sales Order
                          example: customerOrder1
                        externalOrderId:
                          type: string
                          description: External ID associated with a Sales Order
                          example: '10'
                        bodyOutroduction:
                          type: string
                          description: Ending description message for Sales Order
                          example: Additional info
                        date:
                          description: a yyyy-mm-dd formatted date
                          type: string
                          format: date
                          example: '2023-08-13'
                        netSales:
                          type: number
                          format: float
                          description: Net sales amount of the Sales Order
                          example: 100
                        total:
                          type: number
                          format: float
                          description: Total amount of the Sales Order
                          example: 100
                        desiredDeliveryDate:
                          description: Desired Delivery Date for the Sales Order
                          type: string
                          format: date
                          example: '2023-08-13'
                          nullable: true
                        earliestFulfillmentDate:
                          description: Earliest Fulfillment Date
                          type: string
                          format: date
                          example: '2023-08-13'
                          nullable: true
                        reservationDate:
                          description: Reservation Date for the Sales Order
                          type: string
                          format: date
                          example: '2023-08-13'
                          nullable: true
                        desiredDeliveryDateAsCalendarWeek:
                          type: boolean
                          description: Indicating whether a calendar week should be printed on documents or the actual date) is readable and editable via API
                          example: false
                        editor:
                          type: string
                          description: Creator of the Sales Order
                          example: Administrator1
                        sales:
                          type: object
                          description: Represents a sales representative with associated attributes.
                          additionalProperties: false
                          properties:
                            id:
                              type: number
                              nullable: true
                            name:
                              type: string
                              nullable: true
                          example:
                            id: 17
                            name: John Doe
                        status:
                          type: string
                          enum:
                          - completed
                          - created
                          - released
                          - canceled
                          - unknown
                          description: Status of the Sales Order
                          example: completed
                        customer:
                          type: object
                          additionalProperties: false
                          properties:
                            id:
                              type: string
                              pattern: \d+
                              example: '17'
                              description: Resource identifier.
                            number:
                              type: string
                              nullable: true
                          description: Customer linked to a Sales Order
                          example:
                            id: '1'
                        comment:
                          type: string
                          description: Comment included in the Sales Order
                          example: Comment
                        project:
                          description: Reference to another resource
                          type: object
                          additionalProperties: false
                          required:
                          - id
                          properties:
                            id:
                              type: string
                              pattern: \d+
                              example: '17'
                              description: Resource identifier.
                          example:
                            id: '1337'
                        language:
                          type: object
                          additionalProperties: false
                          required:
                          - iso2
                          properties:
                            iso2:
                              type: string
                              description: ISO 639-1 Code
                              nullable: true
                          description: Language information for a Sales Order
                          example:
                            iso2: DE
                        log:
                          type: object
                          properties:
                            createdAt:
                              description: a atom formatted date time
                              type: string
                              format: date-time
                              example: '2023-08-13T14:45:36+02:00'
                            createdBy:
                              type: object
                              additionalProperties: false
                              properties:
                                id:
                                  type: string
                                  pattern: \d+
                                  example: '17'
                                  description: Resource identifier.
                                name:
                                  type: string
                          description: Logging information for the Sales Order
                          example:
                            createdAt: '2023-12-01 00:00:00'
                            createdBy:
                              id: '1'
                              name: User 1
                        financials:
                          type: object
                          additionalProperties: false
                          required:
                          - paymentMethod
                          - currency
                          properties:
                            paymentMethod:
                              description: Reference to another resource
                              type: object
                              additionalProperties: false
                              required:
                              - id
                              properties:
                                id:
                                  type: string
                                  pattern: \d+
                                  example: '17'
                                  description: Resource identifier.
                              example:
                                id: '1337'
                            currency:
                              type: string
                            costCenter:
                              type: object
                              additionalProperties: false
                              nullable: true
                              required:
                              - id
                              - number
                              properties:
                                id:
                                  type: string
                                  pattern: \d+
                                  example: '17'
                                  description: Resource identifier.
                                number:
                                  type: string
                                  nullable: true
                              example:
                                id: '1'
                                number: '1234'
                            billingAddress:
                              type: object
                              additionalProperties: false
                              required:
                              - name
                              - country
                              properties:
                                type:
                                  type: string
                                  enum:
                                  - mr
                                  - mrs
                                  - company
                                  - other
                                name:
                                  type: string
                                title:
                                  type: string
                                contactPerson:
                                  type: string
                                department:
                                  type: string
                                subDepartment:
                                  type: string
                                street:
                                  type: string
                                zipCode:
                                  type: string
                                city:
                                  type: string
                                fax:
                                  type: string
                                state:
                                  type: string
                                country:
                                  type: string
                                addressSupplement:
                                  type: string
                                gln:
                                  type: string
                                phoneNumber:
                                  type: string
                                mobile:
                                  type: string
                                salutation:
                                  type: string
                                email:
                                  type: string
                                  format: email
                            tax:
                              type: object
                              additionalProperties: false
                              properties:
                                taxation:
                                  type: string
                                  enum:
                                  - domestic
                                  - eu
                                  - export
                                  - taxfreedomestic
                                vatId:
                                  type: string
                                taxDisplay:
                                  type: string
                                  enum:
                                  - gross
                                  - net
                                  - auto
                                noTaxInfoText:
                                  type: boolean
                                normalTaxRate:
                                  type: number
                                  format: float
                                reducedTaxRate:
                                  type: number
                                  format: float
                            paymentTerms:
                              type: object
                              additionalProperties: false
                              properties:
                                paymentTargetDiscount:
                                  type: number
                                  format: float
                                paymentTargetDays:
                                  type: integer
                                  format: int64
                                paymentTargetDiscountDays:
                                  type: integer
                                  format: int64
                                directDebitDate:
                                  type: string
                                  format: date
                                  nullable: true
                                  description: Earliest date for direct debit
                          description: Financial information for a Sales Order
                          example:
                            paymentMethod:
                              id: '3'
                            currency: EUR
                        delivery:
                          allOf:
                          - type: object
                            properties:
                              autoShipping:
                                type: boolean
                              fastLane:
                                type: boolean
                              shippingCosts:
                                type: array
                                items:
                                  type: object
                                  additionalProperties: false
                                  required:
                                  - shippingCostProduct
                                  - quantity
                                  properties:
                                    id:
                                      type: string
                                      pattern: \d+
                                      example: '17'
                                      description: Resource identifier.
                                    quantity:
                                      type: number
                                      format: double
                                    comment:
                                      type: string
                                    shippingCostProduct:
                                      type: object
                                      additionalProperties: false
                                      required:
                                      - id
                                      properties:
                                        id:
                                          type: string
                                          pattern: \d+
                                          example: '17'
                                          description: Resource identifier.
                                        name:
                                          type: string
                                        description:
                                          type: string
                                        freeFields:
                                          type: array
                                          nullable: true
                                          items:
                                            type: object
                                            additionalProperties: false
                                            required:
                                            - id
                                            - value
                                            properties:
                                              id:
                                                type: string
                                                pattern: \d+
                                                example: '17'
                                                description: Resource identifier.
                                              value:
                                                type: string
                                        number:
                                          type: string
                                          nullable: true
                                    tax:
                                      type: object
                                      required:
                                      - taxText
                                      properties:
                                        vatCategory:
                                          type: string
                                          nullable: true
                                          enum:
                                          - reduced
                                          - normal
                                          - exempt
                                          description: VAT category. When importing a position only one of `rate` or `vatCategory` must be used.
                                          example: reduced
                                        rate:
                                          type: number
                                          format: float
                                          example: 0.5
                                          nullable: true
                                          description: VAT rate. When importing a position only one of `rate` or `vatCategory` must be used.
                                        taxText:
                                          type: string
                                          example: Tax Text
                                          nullable: true
                                          description: Tax Text
                                    price:
                                      description: Money object with amount and currency
                                      example:
                                        amount: '13.37'
                                        currency: EUR
                                      type: object
                                      additionalProperties: false
                                      properties:
                                        amount:
                                          description: A string representing the amount
                                          type: string
                                          format: float
                                          example: '24.99'
                                        currency:
                                          type: string
                                          pattern: '[A-Z]{3}'
                                          enum:
                                          - EUR
                                          - USD
                                          - JPY
                                          - BGN
                                          - CZK
                                          - DKK
                                          - GBP
                                          - HUF
                                          - PLN
                                          - RON
                                          - SEK
                                          - CHF
                                          - ISK
                                          - NOK
                                          - HRK
                                          - RUB
                                          - TRY
                                          - AUD
                                          - BRL
                                          - CAD
                                          - CNY
                                          - HKD
                                          - IDR
                                          - ILS
                                          - INR
                                          - KRW
                                          - MXN
                                          - MYR
                                          - NZD
                                          - PHP
                                          - SGD
                                          - THB
                                          - ZAR
                                          - ARS
                                          - CLP
                                          - SAR
                                          - AED
                                          - QAR
                                          description: Currency matches one of currency values as specified in ISO-4217.
                                          example: PLN
                                    discount:
                                      type: number
                                      format: float
                                      description: percentage discount to be applied to the position, expressed as a decimal value (<code>0.15</code> = 15% discount)
                                    webId:
                                      type: string
                                      description: technical position ID in the originating shop system / platform (e.g. Shopify, Amazon, etc). This ID is used to sync info back to the originating shop / platform
                              storageCountry:
                                type: string
                                nullable: true
                                description: Only use preferredWarehouse OR storageCountry. You cannot use both at the same time. Use storageCountry for external fulfillment without delivery notes to set the country of fulfillment. If using delivery notes, do not use storageCountry.
                              preferredWarehouse:
                                type: object
                                nullable: true
                                properties:
                                  id:
                                    type: string
                                    nullable: false
                                description: Only use preferredWarehouse OR storageCountry. You cannot use both at the same time. Use preferredWarehouse for fulfillment with delivery notes to define which warehouse should be used.
                              shippingAddress:
                                type: object
                                additionalProperties: false
                                required:
                                - name
                                - country
                                properties:
                                  type:
                                    type: string
                                    enum:
                                    - mr
                                    - mrs
                                    - company
                                    - other
                                  name:
                                    type: string
                                  department:
                                    type: string
                                  contactPerson:
                                    type: string
                                  subDepartment:
                                    type: string
                                  street:
                                    type: string
                                  zipCode:
                                    type: string
                                  city:
                                    type: string
                                  state:
                                    type: string
                                  country:
                                    type: string
                                  addressSupplement:
                                    type: string
                                  gln:
                                    type: string
                                  title:
                                    type: string
                                  email:
                                    type: string
                                    format: email
                          - type: object
                            properties:
                              email:
                                type: string
                                format: email
                              conditions:
                                type: string
                          description: Delivery information for the Sales Order
                          example:
                            autoShipping: true
                            fastLane: true
                            shippingMethod:
                              id: '1'
                            shippingCosts:
                            - id: '1'
                              quantity: 3
                              shippingCostProduct:
                                id: '1'
                            email: user.email@email.org
                            conditions: none
                        createdAt:
                          description: a atom formatted date time
              

# --- truncated at 32 KB (268 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/xentral/refs/heads/main/openapi/xentral-sales-order-api-openapi.yml