Download Specification
This API specification is available for download as an Open API 3.0 YAML file:
Authentication
Basic Authentication
Please configure your clients to use this authentication method to submit user name and password.
Bearer Token Authentication
To generate a valid JWT, just log into the OMT, inspect the browser cookies and use the value of the cookie called 'OMS_IDENTITY' as JWT. Within a UI-client (e.g., Postman) choose "Bearer Token" and just type in a valid Json Web Token (JWT).
Authorization
The permission "Create delivery message" is required and must be assigned to the supplier and shop mentioned in the payload.
API Specification
openapi: 3.0.1 info: title: IOM Communication REST API description: The IOM Communication REST API supports dispatch, order response and return message transmission to the IOM. contact: name: Intershop Communications AG url: http://intershop.com version: "2.11" servers: - url: '{protocol}://{domain}:{port}/rest/communication' variables: protocol: enum: - http - https default: http domain: default: localhost port: default: "8080" security: - basicAuth: [] - bearerAuth: [] paths: /dispatches: post: tags: - Dispatch summary: Create a order dispatch message description: Persist a dispatch message and triggers the processing operationId: createDispatch requestBody: content: application/vnd.intershop.dispatch-message.v1+json: schema: $ref: '#/components/schemas/Dispatch' required: true responses: "201": description: Created headers: Location: description: The path to the newly created resource. style: simple schema: type: string format: url "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorReport' "401": description: Authentication information is missing or invalid. "403": description: Forbidden "415": description: Unsupported Media Type "500": description: An unexpected error occured. /responses: post: tags: - Response summary: Create a order response message description: Persist a order response message and triggers the processing operationId: createOrderResponse requestBody: content: application/vnd.intershop.response-message.v1+json: schema: $ref: '#/components/schemas/OrderResponse' required: true responses: "201": description: Created headers: Location: description: The path to the newly created resource. style: simple schema: type: string format: url "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorReport' "401": description: Authentication information is missing or invalid. "403": description: Forbidden "415": description: Unsupported Media Type "500": description: An unexpected error occured. /returns: post: tags: - Return summary: Create a order return message description: Persist a return message and triggers the processing operationId: createReturn requestBody: content: application/vnd.intershop.return-message.v1+json: schema: $ref: '#/components/schemas/Return' required: true responses: "201": description: Created headers: Location: description: The path to the newly created resource. style: simple schema: type: string format: url "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorReport' "401": description: Authentication information is missing or invalid. "403": description: Forbidden "415": description: Unsupported Media Type "500": description: An unexpected error occured. components: schemas: 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: type: integer description: The HTTP status code applicable to this problem, expressed as a string value format: int32 example: 400 errors: type: array items: $ref: '#/components/schemas/Error' description: Detailed information about what went wrong Carrier: required: - name - packages type: object properties: name: type: string description: Name of the carrier as used by the supplier. Possible values must be configured via Supplier2CarrierDO. example: DHL packages: minimum: 1 type: integer description: 'Number of packages. Note: Packages with different tracking numbers should be handled by separate dispatch messages.' format: int32 example: 1 trackingNumber: type: string description: The tracking number of the delivered package. example: A1S044987623 description: Information about the carrier and the shipment. Dispatch: required: - carrier - dispatchDate - messageId - positions - shopOrderNumber - supplierName - supplierShopName type: object properties: messageId: type: string description: The unique message Id. example: 906090-42 supplierName: type: string description: The name of the supplier. example: Demo-Supplier supplierShopName: type: string description: The name of the shop as used by the supplier. example: Demo-Shop shopOrderNumber: maxLength: 50 minLength: 1 type: string description: The order number as used by the shop. example: "78231.2018" supplierOrderNumber: maxLength: 250 minLength: 0 type: string description: The order number as used by the supplier. example: 398-8923#556 dispatchDate: type: string description: 'Date of the hand over of the package to the carrier. Note: Must conform to the ISO 8601 format.' format: date-time example: 2018-05-10T16:52:26.467+02:00 deliveryNoteNumber: maxLength: 70 minLength: 0 type: string description: The delivery note number. example: DE-3290-030-9023 carrier: $ref: '#/components/schemas/Carrier' positions: maxItems: 2147483647 minItems: 1 type: array description: 'List of dispatch positions. Note: The attribute `orderPositionNumber` must be unique per dispatch message.' items: $ref: '#/components/schemas/DispatchPosition' propertyGroups: type: array description: Properties of the dispatch, grouped by a name. items: $ref: '#/components/schemas/PropertyGroup' DispatchItem: required: - serialNumber type: object properties: serialNumber: type: string description: Serial number of the dispatched product. example: "667002" propertyGroups: type: array description: Properties of the dispatch item, grouped by a name. items: $ref: '#/components/schemas/PropertyGroup' description: 'There are further information for each single product. Note: The number of items will be count as dispatched quantity.' DispatchPosition: required: - dispatchedQuantity - product type: object properties: orderPositionNumber: minimum: 1 type: integer description: The relative number of the order position within the order. Numbering starts with 1. format: int32 example: 1 dispatchedQuantity: minimum: 1 type: integer description: Number of shipped products. format: int32 example: 1 product: $ref: '#/components/schemas/Product' items: type: array description: 'There are further information for each single product. Note: The number of items will be count as dispatched quantity.' items: $ref: '#/components/schemas/DispatchItem' propertyGroups: type: array description: Properties of the order response position, grouped by a name. items: $ref: '#/components/schemas/PropertyGroup' description: 'List of dispatch positions. Note: The attribute `orderPositionNumber` must be unique per dispatch message.' Product: required: - name - number type: object properties: name: type: string description: The name of the product. example: Demo-Product number: maxLength: 2147483647 minLength: 1 type: string description: '`@Deprecated and will be removed mit next major version. You may additionally set shopProductNumber or supplierProductNumber which will be used privileged!` - The product number as used by the supplier or shop. Note: It''s used to determine the corresponding order position.' example: "47119910" shopProductNumber: type: string description: 'The product number as used by the shop. Note: It''s used to determine the corresponding order position.' example: so-7119910 supplierProductNumber: type: string description: 'The product number as used by the supplier. Note: It''s used to determine the corresponding order position.' example: su-47119910 description: The product to return. Property: required: - key - value type: object properties: key: maxLength: 250 minLength: 1 type: string description: The key of the property. The keys at a property group must be unique. example: key value: maxLength: 1000 minLength: 1 type: string description: The value of the property. example: value description: The list of properties. PropertyGroup: required: - name - properties type: object properties: name: maxLength: 250 minLength: 1 type: string description: The name of the property group. example: DEMO-Group properties: maxItems: 2147483647 minItems: 1 type: array description: The list of properties. items: $ref: '#/components/schemas/Property' description: Properties of the return, grouped by a name. BackorderedDelivery: required: - plannedDeliveryDate - quantity type: object properties: quantity: minimum: 0 type: integer description: Backordered quantity to deliver. format: int32 example: 1 plannedDeliveryDate: type: string description: Backordered delivery date. Must be conform to ISO 8601 date format. format: date example: 2020-01-31 description: Backordered delivery object. ConfirmedDelivery: required: - plannedDeliveryDate - quantity type: object properties: quantity: minimum: 0 type: integer description: Confirmed quantity to deliver. format: int32 example: 1 plannedDeliveryDate: type: string description: Planned delivery date. Must be conform to ISO 8601 date format. format: date example: 2020-01-20 description: Confirmed delivery object. NetPurchasePrice: required: - amount - currency type: object properties: amount: minimum: 0 type: number description: Net item purchase price of the supplier. format: double example: 6.43 currency: type: string description: Currency of the net amount. Must be conform to ISO 4217. example: EUR description: Net item purchase price object. OrderResponse: required: - messageId - positions - shopOrderNumber - supplierName - supplierShopName - supplierStateCode type: object properties: messageId: type: string description: The unique message Id. example: 906090-42 supplierName: type: string description: The name of the supplier. example: Demo-Supplier supplierShopName: type: string description: The name of the shop as used by the supplier. example: Demo-Shop shopOrderNumber: maxLength: 50 minLength: 1 type: string description: The order number as used by the shop. example: "78231.2018" supplierOrderNumber: maxLength: 250 minLength: 0 type: string description: The order number as used by the supplier. example: 398-8923#556 entryDate: type: string description: 'Timestamp when the supplier has created the response. Note: Must conform to the ISO 8601 format.' format: date-time example: 2018-12-09T16:32:32.123+01:00 supplierStateCode: maxLength: 50 minLength: 1 type: string description: 'Status code of the response. Note: Must refer to an entry of the "SupplierResponseStateCodeDefDO" configuration or one of the IOM internal response state codes.' positions: maxItems: 2147483647 minItems: 1 type: array description: 'List of order response positions. Note: The attribute `orderPositionNumber` must be unique per response message.' items: $ref: '#/components/schemas/OrderResponsePosition' propertyGroups: type: array description: Properties of the order response, grouped by a name. items: $ref: '#/components/schemas/PropertyGroup' OrderResponsePosition: required: - confirmedDelivery - orderPositionNumber - product - quantityCanceled type: object properties: orderPositionNumber: minimum: 1 type: integer description: The relative number of the order position within the order. Numbering starts with 1. format: int32 example: 1 product: $ref: '#/components/schemas/Product' quantityCanceled: minimum: 0 type: integer description: Number of canceled products. format: int32 example: 0 confirmedDelivery: $ref: '#/components/schemas/ConfirmedDelivery' backorderedDelivery: $ref: '#/components/schemas/BackorderedDelivery' netPurchasePrice: $ref: '#/components/schemas/NetPurchasePrice' propertyGroups: type: array description: Properties of the order response position, grouped by a name. items: $ref: '#/components/schemas/PropertyGroup' description: 'List of order response positions. Note: The attribute `orderPositionNumber` must be unique per response message.' Return: required: - entryDate - messageId - positions - reason - shopOrderNumber - supplierName - supplierShopName type: object properties: messageId: type: string description: The unique message Id. example: 906090-42 supplierName: type: string description: The name of the supplier. example: Demo-Supplier supplierShopName: type: string description: The name of the shop as used by the supplier. example: Demo-Shop shopOrderNumber: maxLength: 50 minLength: 1 type: string description: The order number as used by the shop. example: "78231.2018" supplierOrderNumber: maxLength: 250 minLength: 0 type: string description: The order number as used by the supplier. example: 398-8923#556 reason: type: string description: 'Reason of return. Note: Must refer to an entry of the "Supplier2ReturnReasonDefDO" configuration or one of the IOM internal return reasons.' example: RET010 entryDate: type: string description: 'Date of entrance of the return at the supplier. Note: Must conform to the ISO 8601 format.' format: date-time example: 2018-09-14T16:22:32.123+02:00 positions: maxItems: 2147483647 minItems: 1 type: array description: 'List of return positions. Note: The attribute `orderPositionNumber` must be unique per return message.' items: $ref: '#/components/schemas/ReturnPosition' propertyGroups: type: array description: Properties of the return, grouped by a name. items: $ref: '#/components/schemas/PropertyGroup' ReturnItem: required: - serialNumber type: object properties: serialNumber: type: string description: Serial number of the returned product example: "109312" propertyGroups: type: array description: Properties of the return item, grouped by a name. items: $ref: '#/components/schemas/PropertyGroup' description: There are further information for each single article. Note that the number of articles will be the count of the listed products. ReturnPosition: required: - product - returnedQuantity type: object properties: orderPositionNumber: minimum: 1 type: integer description: The relative number of the order position within the order. Numbering starts with 1. format: int32 example: 1 returnedQuantity: minimum: 1 type: integer description: Number of returned products. format: int32 example: 1 product: $ref: '#/components/schemas/Product' items: type: array description: There are further information for each single article. Note that the number of articles will be the count of the listed products. items: $ref: '#/components/schemas/ReturnItem' propertyGroups: type: array description: Properties of the return position, grouped by a name. items: $ref: '#/components/schemas/PropertyGroup' description: 'List of return positions. Note: The attribute `orderPositionNumber` must be unique per return message.' securitySchemes: basicAuth: type: http description: Basic Authentication scheme: basic bearerAuth: type: http description: JWT Bearer token scheme: bearer bearerFormat: JWT
Open ReDoc-rendered Open API documentation in separate window.
The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.