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