openapi: 3.0.0
info:
title: IOM TRANSMISSION REST API
description: The transmission REST API supports tasks to view and manage transmissions
of the IOM.
contact:
name: Intershop Communications AG
url: http://intershop.com
version: "1.0"
servers:
- url: '{protocol}://{domain}:{port}/rest'
description: The production API server.
variables:
protocol:
default: https
enum:
- http
- https
domain:
default: localhost
port:
default: "8080"
tags:
- name: transmission
description: Transmission related operations exposed by this service.
paths:
/transmissions:
get:
tags:
- transmission
summary: Get transmissions by search criterias.
description: Returns all transmissions for selected search criterias.
operationId: getTransmissions
parameters:
- name: creationDate[gte]
in: query
description: The earliest creation date of a transmission.
required: true
style: form
explode: true
schema:
type: string
format: date-time
- name: creationDate[lte]
in: query
description: The latest creation date of a transmission.
required: true
style: form
explode: true
schema:
type: string
format: date-time
- name: transmissionTypes
in: query
required: false
style: form
explode: true
schema:
type: array
items:
$ref: '#/components/schemas/TransmissionType'
- name: transmissionSubtypes
in: query
required: false
style: form
explode: true
schema:
type: array
items:
$ref: '#/components/schemas/TransmissionSubtype'
- name: transmissionStatuses
in: query
required: false
style: form
explode: true
schema:
type: array
items:
$ref: '#/components/schemas/TransmissionStatus'
- name: transmissionResponseStatuses
in: query
required: false
style: form
explode: true
schema:
type: array
items:
$ref: '#/components/schemas/TransmissionResponseStatus'
- name: receiverTypes
in: query
required: false
style: form
explode: true
schema:
type: array
items:
$ref: '#/components/schemas/ReceiverType'
- name: shopIds
in: query
required: false
style: form
explode: true
schema:
type: array
items:
type: integer
description: The id(s) of the shop(s).
format: int64
example: 1
- name: supplierIds
in: query
required: false
style: form
explode: true
schema:
type: array
items:
type: integer
description: The id(s) of the supplier(s).
format: int64
example: 1
- name: limit
in: query
description: The number of items to return.
If not set the limit is 1000.
required: false
style: form
explode: true
schema:
type: integer
example: 50
default: 1000
- name: offset
in: query
description: The number of items to skip before starting to collect the result
set.
required: false
style: form
explode: true
schema:
type: integer
example: 0
default: 0
- name: orderBy
in: query
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/SortableTransmissionAttribute'
- name: sortDirection
in: query
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/SortDirection'
responses:
200:
description: The response for a transmission collection request.
content:
application/vnd.intershop.transmission.v1+json:
schema:
$ref: '#/components/schemas/TransmissionCollectionContainer'
400:
description: Bad request - Generic or business logic validation error.
content:
application/vnd.intershop.transmission.v1+json:
schema:
$ref: '#/components/schemas/ErrorReport'
401:
description: Unauthorized - Authentication information is missing or invalid.
headers:
WWW-Authenticate:
style: simple
explode: false
schema:
type: string
403:
description: Forbidden - the user is not authorized to use this resource.
406:
description: Not Acceptable - A representation of the response in the media
type that was requested in the ACCEPT header cannot be provided.
500:
description: Internal Server Error - An unexpected error occured.
security:
- basicAuth: []
- bearerAuth: []
components:
schemas:
TransmissionCollectionContainer:
type: object
properties:
meta:
$ref: '#/components/schemas/CollectionMetaData'
data:
type: array
description: The core data of the transmission collection.
items:
$ref: '#/components/schemas/Transmission'
Transmission:
type: object
properties:
id:
type: string
description: The transmission identifier.
example: ORDERTRANSMISSION-10000
transmissionType:
$ref: '#/components/schemas/TransmissionType'
transmissionSubtype:
type: string
description: |
The subtype of the transmission.
Please note the string representation to support subtypes from schema `TransmissionType` and unknown subtypes, e.g. custom ones.
example: MAIL_ORDER
status:
$ref: '#/components/schemas/TransmissionStatus'
responseStatus:
$ref: '#/components/schemas/TransmissionResponseStatus'
creationDate:
type: string
description: The date when the transmission was created.
format: date-time
modificationDate:
type: string
description: The date when the transmission was modified.
format: date-time
orderId:
type: integer
description: The id of the order.
format: int64
example: 10026
shopOrderNumber:
type: string
description: The order number as used by the shop.
example: 20180303_123
shopId:
type: integer
description: The id of the shop.
format: int64
example: 1000
shopName:
type: string
description: The name of the shop.
example: Test Shop US DE
supplierId:
type: integer
description: The id of the supplier.
format: int64
example: 1000
supplierName:
type: string
description: The name of the supplier.
example: Test Supplier US DE
receiverType:
$ref: '#/components/schemas/ReceiverType'
retryCount:
type: integer
description: Number of sending attempts.
example: 2
retryDate:
type: string
description: The date of the last attempt to send the transmission.
format: date-time
nextRetryDate:
type: string
description: The next date to send the transmission.
format: date-time
errorText:
type: string
description: The error text, if the transmission failed.
example: This was no error, because the status was set OK.
TransmissionType:
type: string
description: |
The type of the transmission.
`ORDERTRANSMISSION` - Transmissions that are used for order processing messages, e.g. to announce an order entry. Subtypes of this type start with `ORDER_`.
`DISPATCHTRANSMISSION` - Transmissions that are used for dispatch messages, e.g. a delivery that was made. Subtypes of this type start with `DISPATCH_`.
`RETURNTRANSMISSION` - Transmissions that are used for return messages, e.g. a received return. Subtypes of this type start with `RETURN_`.
`PAYMENTTRANSMISSION` - Transmissions that are used for payment notification messages, e.g. a received payment. Subtypes of this type start with `PAYMENT_`.
`MAILTRANSMISSION` - Transmissions that are used for emails, e.g. to send a delivery email to the customer. Subtypes of this type start with `MAIL_`.
`RESPONSETRANSMISSION` - Transmissions that are used for response messages, e.g. to respond to a delivery request. Subtypes of this type start with `RESPONSE_`.
`INVOICETRANSMISSION` - Transmissions that are used for invoice processing messages. Subtypes of this type start with `INVOICE_`.
`DOCUMENTTRANSMISSION` - Transmissions that are used for document processing messages. Subtypes of this type start with `DOCUMENT_`.
`RETURNANNOUNCEMENTTRANSMISSION` - Transmissions that are used for return announcements messages. Subtypes of this type start with `RETURNANNOUNCEMENT_`.
For any type use `OTHERS` for subtypes that are not listed, e.g. custom ones.
example: ORDERTRANSMISSION
enum:
- ORDERTRANSMISSION
- DISPATCHTRANSMISSION
- RETURNTRANSMISSION
- PAYMENTTRANSMISSION
- MAILTRANSMISSION
- RESPONSETRANSMISSION
- INVOICETRANSMISSION
- DOCUMENTTRANSMISSION
- RETURNANNOUNCEMENTTRANSMISSION
TransmissionSubtype:
type: string
description: |
The subtype of the transmission, that defines a special transmission of a type, e.g. an email that was sent to confirm an order.
Use subtypes that start with `ORDER_` for type `ORDERTRANSMISSION`.
Use subtypes that start with `DISPATCH_` for type `DISPATCHTRANSMISSION`.
Use subtypes that start with `RETURN_` for type `RETURNTRANSMISSION`.
Use subtypes that start with `PAYMENT_` for type `PAYMENTTRANSMISSION`.
Use subtypes that start with `MAIL_` for type `MAILTRANSMISSION`.
Use subtypes that start with `RESPONSE_` for type `RESPONSETRANSMISSION`.
Use subtypes that start with `INVOICE_` for type `INVOICETRANSMISSION`.
Use subtypes that start with `DOCUMENT_` for type `DOCUMENTTRANSMISSION`.
Use subtypes that start with `RETURNANNOUNCEMENT_` for type `RETURNANNOUNCEMENTTRANSMISSION`.
Use the subtype `OTHERS` for any type for unlisted subtypes, e.g. custom ones.
`ORDER_CHECKED` - Send a message that an order was validated.
`ORDER_ANNOUNCEMENT` - Send an order.
`ORDER_BACKLOG` - Send a message that the scheduled delivery date has been exceeded. At least one product has not yet been delivered.
`ORDER_RECALL` - Send a recall request for an order.
`ORDER_CONFIRMATION` - Send the confirmation for an order.
`ORDER_RECALL_REQUEST` - Resend the recall request for an order.
`ORDER_BACKLOG_REQUEST` - Send a reminding message that the scheduled delivery date has been exceeded. At least one product has not yet been delivered.
`ORDER_APPROVAL` - Send the approval of an order.
`ORDER_RESEND` - Resend an order.
`DISPATCH_SEND` - Send a dispatch message.
`DISPATCH_REQUEST_NEW` - Send the request for a new dispatch.
`RETURN_SEND` - Send a return message.
`RETURN_CONFIRMATION` - Send the confirmation of a return.
`RETURN_REJECT` - Send the rejection of a return.
`RETURN_REQUEST_NEW` - Send a request for a new return.
`PAYMENT_SEND` - Send a payment notification.
`MAIL_ORDER` - Send an email to confirm an order.
`MAIL_ORDER_MERGE` - Send an email that orders was merged to one fulfillment.
`MAIL_READY_FOR_PICKUP` - Send an email that a delivery is ready to pickup.
`MAIL_ORDER_COMMISSIONED` - Send an email that an order was successfully commissioned.
`MAIL_TEMPORARY_RESPONSE` - Send an email that an order will be routed to the assigned fulfillment locations.
`MAIL_INITIAL_RESPONSE` - Send an email that a response was created.
`MAIL_COUNTINUOUS_RESPONSE` - Send an email that a response from the supplier was received.
`MAIL_DISPATCH` - Send an email that a dispatch was made.
`MAIL_DISPATCH_IMMATERIAL` - Send an email with links to download digital goods.
`MAIL_RETURN_CAN` - Send an email to note or confirm a return because of a cancellation.
`MAIL_RETURN_RCL` - Send an email that the order was canceled.
`MAIL_RETURN_INV` - Send an email to note an inversion, e.g. the package could not be delivered because of a wrong shipping address.
`MAIL_RETURN_RET` - Send an email for a general return.
`MAIL_RETURN_DEF` - Send an email to confirm a return because of defects of a product.
`MAIL_PAYMENT_REMINDER` - Send an email that a payment has not yet been made.
`MAIL_DELIVERY_DELAY` - Send an email to note that the expected delivery date will be delayed.
`MAIL_INVOICE` - Send an email with an attached invoice document.
`MAIL_CEDIT_NOTE` - Send an email with an attached credit note document.
`MAIL_RETURN_RCL010` - Send an email that the order was canceled. The customer has requested the cancellation.
`MAIL_RETURN_RCL020` - Send an email that the order was canceled. The product is end-of-life and not available any longer.
`MAIL_RETURN_RCL021` - Send an email that the order was canceled. The product is currently not available.
`MAIL_RETURN_RCL045` - Send an email that the order was canceled. The payment was not received yet.
`MAIL_RETURN_RCL980` - Send an email that the order was canceled. There is a suspicion of fraud.
`MAIL_RETURN_REJECTED` - Send an email that a return was rejected.
`MAIL_DISPATCH_INVOICE` - Send an email that a dispatch was made. An invoice document is attached to the email.
`MAIL_RETURN_CREDIT_NOTE` - Send an email to note or confirm a return or cancellation. A credit note document is attached to the email.
`MAIL_RETURN_CAN_CREDIT_NOTE` - Send an email to note or confirm a return because of a cancellation. A credit note document is attached to the email.
`MAIL_RETURN_RCL_CREDIT_NOTE` - Send an email that the order was canceled. A credit note document is attached to the email.
`MAIL_RETURN_INV_CREDIT_NOTE` - Send an email to note an inversion, e.g. the package could not be delivered because of a wrong shipping address. A credit note document is attached to the email.
`MAIL_RETURN_RET_CREDIT_NOTE` - Send an email for a general return. A credit note document is attached to the email.
`MAIL_RETURN_DEF_CREDIT_NOTE` - Send an email to confirm a return because of defects of a product. A credit note document is attached to the email.
`MAIL_RETURN_RCL010_CREDIT_NOTE` - Send an email that the order was canceled. The customer has requested the return or cancellation. A credit note document is attached to the email.
`MAIL_RETURN_RCL020_CREDIT_NOTE` - Send an email that the order was canceled. The product is end-of-life and not available any longer. A credit note document is attached to the email.
`MAIL_RETURN_RCL045_CREDIT_NOTE` - Send an email that the order was canceled. The payment was not received yet. A credit note document is attached to the email.
`MAIL_RETURN_REFUNDED` - Send an email that a refund was made.
`MAIL_RETURN_RCL980_CREDIT_NOTE` - Send an email that the order was canceled. There is a suspicion of fraud. A credit note document is attached to the email.
`MAIL_RETURN_RCL021_CREDIT_NOTE` - Send an email that the order was canceled. The product is currently not available. A credit note document is attached to the email.
`MAIL_RETURN_LABEL` - Send an email with an attached return label.
`MAIL_RETURN_ANNOUNCEMENT` - Send an email that a return request was created.
`MAIL_RETURN_ANNOUNCEMENT_TRANSMISSION` - Send an email that a transmission for a return request was created.
`RESPONSE_SEND` - Send a response message.
`RESPONSE_CONFIRMATION` - Send the confirmation of a response.
`RESPONSE_REQUEST_NEW` - Send the request for a new response.
`RESPONSE_TEMPORARY` - Send a temporary response.
`RESPONSE_INITIAL` - Send an initial response.
`RESPONSE_CONTINUOUS` - Send a following response.
`INVOICE_CREATE_DOCUMENT` - Create an invoice document.
`INVOICE_DEBITOR_SEND`- Send debitor related information.
`INVOICE_OPEN_ITEM_SEND` - Send invoice related information.
`DOCUMENT_SUPPLIER_DELIVERY_NOTE_SEND` - Send a delivery note to a supplier.
`DOCUMENT_SUPPLIER_RETURN_SLIP_SEND` - Send a return slip to a supplier.
`DOCUMENT_SUPPLIER_ORDER_RETURN_LABEL_SEND` - Send a return label to a supplier.
`DOCUMENT_SHOP_DELIVERY_NOTE_SEND` - Send a delivery note to a shop.
`DOCUMENT_SHOP_RETURN_SLIP_SEND` - Send a return slip to a shop.
`DOCUMENT_SHOP_ORDER_RETURN_LABEL_SEND` - Send a return label to a shop.
`DOCUMENT_SHOP_INVOICE_CREDIT_NOTE` - Send an invoice and/or credit note to a shop.
`RETURN_ANNOUNCEMENT_SEND` - Send a return announcement.
`OTHERS` - All subtypes that are not listed, e.g. custom ones.
example: MAIL_ORDER
enum:
- ORDER_CHECKED
- ORDER_ANNOUNCEMENT
- ORDER_BACKLOG
- ORDER_RECALL
- ORDER_CONFIRMATION
- ORDER_RECALL_REQUEST
- ORDER_BACKLOG_REQUEST
- ORDER_APPROVAL
- ORDER_RESEND
- DISPATCH_SEND
- DISPATCH_REQUEST_NEW
- RETURN_SEND
- RETURN_CONFIRMATION
- RETURN_REJECT
- RETURN_REQUEST_NEW
- PAYMENT_SEND
- MAIL_ORDER
- MAIL_ORDER_MERGE
- MAIL_READY_FOR_PICKUP
- MAIL_ORDER_COMMISSIONED
- MAIL_TEMPORARY_RESPONSE
- MAIL_INITIAL_RESPONSE
- MAIL_COUNTINUOUS_RESPONSE
- MAIL_DISPATCH
- MAIL_DISPATCH_IMMATERIAL
- MAIL_RETURN_CAN
- MAIL_RETURN_RCL
- MAIL_RETURN_INV
- MAIL_RETURN_RET
- MAIL_RETURN_DEF
- MAIL_PAYMENT_REMINDER
- MAIL_DELIVERY_DELAY
- MAIL_INVOICE
- MAIL_CEDIT_NOTE
- MAIL_RETURN_RCL010
- MAIL_RETURN_RCL020
- MAIL_RETURN_RCL021
- MAIL_RETURN_RCL045
- MAIL_RETURN_RCL980
- MAIL_RETURN_REJECTED
- MAIL_DISPATCH_INVOICE
- MAIL_RETURN_CREDIT_NOTE
- MAIL_RETURN_CAN_CREDIT_NOTE
- MAIL_RETURN_RCL_CREDIT_NOTE
- MAIL_RETURN_INV_CREDIT_NOTE
- MAIL_RETURN_RET_CREDIT_NOTE
- MAIL_RETURN_DEF_CREDIT_NOTE
- MAIL_RETURN_RCL010_CREDIT_NOTE
- MAIL_RETURN_RCL020_CREDIT_NOTE
- MAIL_RETURN_RCL045_CREDIT_NOTE
- MAIL_RETURN_REFUNDED
- MAIL_RETURN_RCL980_CREDIT_NOTE
- MAIL_RETURN_RCL021_CREDIT_NOTE
- MAIL_RETURN_LABEL
- MAIL_RETURN_ANNOUNCEMENT
- MAIL_RETURN_ANNOUNCEMENT_TRANSMISSION
- RESPONSE_SEND
- RESPONSE_CONFIRMATION
- RESPONSE_REQUEST_NEW
- RESPONSE_TEMPORARY
- RESPONSE_INITIAL
- RESPONSE_CONTINUOUS
- INVOICE_CREATE_DOCUMENT
- INVOICE_DEBITOR_SEND
- INVOICE_OPEN_ITEM_SEND
- DOCUMENT_SUPPLIER_DELIVERY_NOTE_SEND
- DOCUMENT_SUPPLIER_RETURN_SLIP_SEND
- DOCUMENT_SUPPLIER_ORDER_RETURN_LABEL_SEND
- DOCUMENT_SHOP_DELIVERY_NOTE_SEND
- DOCUMENT_SHOP_RETURN_SLIP_SEND
- DOCUMENT_SHOP_ORDER_RETURN_LABEL_SEND
- DOCUMENT_SHOP_INVOICE_CREDIT_NOTE
- RETURN_ANNOUNCEMENT_SEND
- OTHERS
TransmissionStatus:
type: string
description: |
The processing status of the transmission.
`INITIAL` - Transmission is initially stored.
`DO_PULL` - Transmission will be pulled.
`PULLED` - Transmission was received (pulled) from the sender.
`DO_PUSH` - Transmission can be sent (pushed) to the receiver.
`PUSHED` - Transmission was sent (pushed) to the receiver.
`DO_MANUAL_CHECK` - The processing of transmission was canceled because of errors. The transmission has to be checked manually.
`CHECKED` - The transmission was checked manually and is ready to process.
`DO_CANCEL` - The transmission will be canceled.
`CANCELED` - Transmission can be canceled because processing is not required any longer.
`TRANSMISSIONED` - Transmission was submitted.
`CONFIRMED` - Transmission was confirmed from the receiver.
example: CONFIRMED
enum:
- INITIAL
- DO_PULL
- PULLED
- DO_PUSH
- PUSHED
- DO_MANUAL_CHECK
- CHECKED
- DO_CANCEL
- CANCELED
- TRANSMISSIONED
- CONFIRMED
TransmissionResponseStatus:
type: string
description: |
The status of the response of the transmission.
`OK` - The transmission was successfully received.
`INVALID` - An error occurred during validation check at the receiver.
`REJECTED` - The operation was rejected by the receiver.
`EXTERNAL_ERROR` - An unexpected error occurred at the receiver.
`INTERNAL_ERROR` - Internal unexpected error has occurred.
`NOT_AVAILABLE` - The response status is not set.
example: REJECTED
enum:
- OK
- INVALID
- REJECTED
- EXTERNAL_ERROR
- INTERNAL_ERROR
- NOT_AVAILABLE
ReceiverType:
type: string
description: |
The type of the receiver of a transmission.
`OMS` - The OMS-application itself.
`SHOP` - The shop is the receiver of the transmission.
`SUPPLIER` - The supplier is the receiver of the transmission, e.g. of a delivery request.
`CUSTOMER` - The customer is the receiver of the transmission, e.g. an email to confirm an order.
`PAYMENTPROVIDER` - A payment provider is the receiver of the transmission, e.g. to note a received payment to.
`FINANCECONTROLLER` - A finance contoller is the receiver of the transmission, e.g. a debitor management system that receives open amounts.
example: SHOP
enum:
- OMS
- SHOP
- SUPPLIER
- CUSTOMER
- PAYMENTPROVIDER
- FINANCECONTROLLER
SortableTransmissionAttribute:
type: string
description: |
The attribute on which should be sorted.
`id` - Sort by the identifier in scope of it's type.
`transmissionSubtype` - Sort by the subtype of the transmission.
`status` - Sort by the processing status.
`responseStatus` - Sort by the response status.
`creationDate` - Sort by the creation date.
`modificationDate` - Sort by the modification date.
`orderId` - Sort by the id of the order.
`shopOrderNumber` - Sort by the shop order number.
`shopId` - Sort by the id of the shop.
`shopName` - Sort by the name of the shop.
`supplierId` - Sort by the id of the supplier.
`supplierName` - Sort by the name of the supplier.
`receiver` - Sort by the receiver of the transmission.
`retryCount` - Sort by the number of sending attempts.
`retryDate` - Sort by the date of the last attempt to send.
`nextRetryDate` - Sort by the next date to send.
`errorText` - Sort by the possible error message of the transmission.
example: creationDate
default: id
enum:
- id
- transmissionType
- transmissionSubtype
- status
- responseStatus
- creationDate
- modificationDate
- shopOrderNumber
- orderId
- shopId
- shopName
- supplierId
- supplierName
- receiverType
- retryCount
- retryDate
- nextRetryDate
- errorText
SortDirection:
type: string
description: |
The sort direction the attribute should be sorted with.
`ASC` - Sort by the attribute ascending.
`DESC` - Sort by the attribute descending.
example: ASC
default: ASC
enum:
- ASC
- DESC
Error:
required:
- code
- message
type: object
properties:
code:
type: string
description: Exception / Error code
example: VALIDATION_EXCEPTION
message:
type: string
description: Exception / Error message
example: Attribute XYZ is mandatory
value:
type: object
description: Value which caused the exception / error.
ErrorReport:
type: object
properties:
status:
$ref: '#/components/schemas/Status'
errors:
type: array
items:
$ref: '#/components/schemas/Error'
description: Detailed information about what went wrong.
Status:
type: integer
description: The HTTP status code.
format: int32
example: 400
CollectionMetaData:
type: object
properties:
totalCount:
type: integer
description: The total number of objects in the collection (without offset
and limit).
format: int64
example: 10000
description: The meta data of collection.
responses:
TransmissionCollectionContainerResponse:
description: The response for a transmission collection request.
content:
application/vnd.intershop.transmission.v1+json:
schema:
$ref: '#/components/schemas/TransmissionCollectionContainer'
Accepted:
description: Accepted - The request was successful and will be processed asynchronously.
BadRequest:
description: Bad request - Generic or business logic validation error.
content:
application/vnd.intershop.transmission.v1+json:
schema:
$ref: '#/components/schemas/ErrorReport'
Unauthorized:
description: Unauthorized - Authentication information is missing or invalid.
headers:
WWW-Authenticate:
style: simple
explode: false
schema:
type: string
Forbidden:
description: Forbidden - the user is not authorized to use this resource.
NotFound:
description: Not found - the resource is not found.
NotAcceptable:
description: Not Acceptable - A representation of the response in the media
type that was requested in the ACCEPT header cannot be provided.
UnsupportedMediaType:
description: Unsupported Media Type - The media type of the sent body is not
supported.
InternalServerError:
description: Internal Server Error - An unexpected error occured.
parameters:
LimitParam:
name: limit
in: query
description: The number of items to return.
If not set the limit is 1000.
required: false
style: form
explode: true
schema:
type: integer
example: 50
default: 1000
OffsetParam:
name: offset
in: query
description: The number of items to skip before starting to collect the result
set.
required: false
style: form
explode: true
schema:
type: integer
example: 0
default: 0
SortDirectionParam:
name: sortDirection
in: query
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/SortDirection'
securitySchemes:
bearerAuth:
type: http
description: JWT Bearer token
scheme: bearer
bearerFormat: JWT
basicAuth:
type: http
description: Basic Authentication
scheme: basic