Xentral Sales Order API
SalesOrders are an outbound orders, meaning that someone has bought from you.
SalesOrders are an outbound orders, meaning that someone has bought from you.
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