This document gives an overview about the Intershop 7 Order Status Import. The principle focus of the Order Status Import is, to provide a way to external systems (e.g., ERP system) to update an order in the Intershop 7, so that it reflects the current processing state.The Order Status Import is used to update the status of order's:
In contrast to previous Enfinity Suite 6.x versions, Intershop 7 does not use identical XML schemata for Order Export and Order Status Import. This is because Intershop 7 does not implement a real import of orders neither created by other Intershop 7 instances nor by any external systems.
For exporting orders in Intershop 7:
Some of the status values which are described below are based on the Intershop 7 eCommerce reference process and reflect only a demo scenario.They are not mandatory to run the system. Status values which are created by the Intershop 7 system or which the system is dealing with (processes based on it) are emphasized. Other status values are only listed due to backward compatibility.
Basically, every Intershop 7 customer has the freedom to use its own status values by its own project.
Following order status values are supported in Intershop 7 by default. Listed order status values are based on the definitions of the StateGroup 'OrderStatus'
.
Note
There are some state values that either are not used in Intershop 7 anymore or that are only used for internal processing.
Order Status | Status ID | Numeric Code | Used in Order Status Import | Description |
---|---|---|---|---|
created | CREATED | 0 | Only an internal state, the order has for a very short time after its creation. Note This status value is only an internal setting that should not be set in the context of the Order Status Import. | |
pending | PENDING | 2 | Order is waiting for payment. | |
new | NEW | 3 | Order creation has been finished, but has not been exported by the Order Export yet. Note This status is set internally only as result of a successful Order Creation. This means all sorts of checks (e.g., items are deliverable; creditworthiness of the customer, availability of the shipping method for the desired destination region etc.) were successfully completed. This status should not be set in the context of the Order Status Import. | |
(open) | (OPEN) | (4) | For backward compatibility reasons only. No longer used by Intershop 7. | |
completed | COMPLETED | 5 | X | For backward compatibility reasons only. No longer used by Intershop 7. Order handling is completely finished. This means, that ordered items has been shipped to the customer and:
Note Intershop 7 provides no capability out of the box to set an order as completed. COMPLETED is only a theoretical status of the Intershop 7 eCommerce reference process and used for a demo scenario. |
cancelled | CANCELLED | 6 | Order has been cancelled by the customer in the web shop storefront, but has not been exported by the Order Export yet. Note This status may also be set by Order Status Import. An Intershop 7 standard system will export an order marked as cancelled afterwards. | |
(rejected) | (REJECTED) | (7) | For backward compatibility reasons only. No longer used by Intershop 7. | |
in progress | INPROGRESS | 8 | Order was exported by Order Export. Note This status is set by the Order Export. | |
cancelled and exported | CANCELLEDANDEXPORTED | 9 | Order has been cancelled by the customer in the web shop storefront. After cancellation, the order has been exported. (e.g., due to marketing issues) Note This status is set internally only as result of an Order Export and should not be set in the context of the Order Status Import. | |
not deliverable | NOTDELIVERABLE | 10 | X | For backward compatibility reasons only. No longer used by Intershop 7. Order is not deliverable for any reason, e.g., incomplete or wrong address data. Note Intershop 7 provides no out of the box capability to set an order as not deliverable. NOTDELIVERABLE is only a theoretical status of the Intershop 7 eCommerce reference process and used for a demo scenario. |
delivered | DELIVERED | 11 | X | For backward compatibility reasons only. No longer used by Intershop 7. Ordered items has been delivered to the customer. Note Intershop 7 provides no capability out of the box to set an order as delivered. DELIVERED is only a theoretical status of the Intershop 7 eCommerce reference process and used for a demo scenario. |
returned | RETURNED | 12 | X | For backward compatibility reasons only. No longer used by Intershop 7. Ordered items has been returned by the customer. Note Intershop 7 provides no capability out of the box to set an order as returned. RETURNED is only a theoretical status of the Intershop 7 eCommerce reference process and used for a demo scenario. |
export failed | EXPORTFAILED | 13 | Not used in Order Status Import. Note This status is set internally only as result of an Order Export and should not be set in the context of the Order Status Import. | |
payment cancelled | PAYMENTCANCELLED | 15 | Order has been cancelled because of a payment cancellation on an external provider page. |
The highlighted status values are created by Intershop 7 by default. Further order status values are not supported by default, because Intershop 7 does not provide any kind of further order management functionality. They must be introduced by the customer project itself.
Status transition chart of the Intershop 7 order statuses: (imported status values and status values which are not created by Intershop 7 itself, are not covered here)
Following line item status values are supported in Intershop 7 by default. Listed line item (fulfillment) status values are based on the definitions of the StateGroup 'SellerOrderProductLineItemStatus'
.
Note
There are some state values that either are not used in Intershop 7 anymore or that are only used for internal processing. Some line item status are obviously the same like the order status after an operation. But this must be not mandatory.
For instance: If the whole order will be cancelled, the order gets the status cancelled as well as the line item. If only a line item is cancelled, the line item gets the cancelled status but not the whole order.
Line Item Status | Status ID | Numeric Code | Used in Order Status Import | Description |
---|---|---|---|---|
new | NEW | 10 | Order creation has been finished, but has not been exported by Order Export yet. The order gets the status NEW as well as the line item itself. | |
(confirmed) | (CONFIRMED) | (11) | For backward compatibility reasons only. No longer used by Intershop 7. | |
(partly shipped) | (PARTSHIPPED) | (12) | For backward compatibility reasons only. No longer used by Intershop 7. | |
(shipped) | (SHIPPED) | (13) | For backward compatibility reasons only. No longer used by Intershop 7. | |
(rejected) | (REJECTED) | (14) | For backward compatibility reasons only. No longer used by Intershop 7. | |
partly delivered | PARTDELIVERED | 20 | For backward compatibility reasons only. No longer used by Intershop 7. Note Intershop 7 provides no capability out of the box to set a line item as partly delivered. PARTDELIVERED is only a theoretical status of the Intershop 7 eCommerce reference process and used for a demo scenario. | |
delivered | DELIVERED | 21 | For backward compatibility reasons only. No longer used by Intershop 7. Note Intershop 7 provides no capability out of the box to set a line item as delivered. DELIVERED is only a theoretical status of the Intershop 7 eCommerce reference process and used for a demo scenario. | |
cancelled | CANCELLED | 22 | Order has been cancelled by the customer in the web shop storefront, but has not been exported by Order Export yet. The order gets the status CANCELLED as well as the line item itself. Note Intershop 7 provides no capability out of the box to cancel a single line item and to set a single line item as cancelled. In the default Intershop 7 process the line item will be cancelled if the whole order will be cancelled. | |
in progress | INPROGRESS | 23 | Order was exported by Order Export. So, each single line item gets also the status INPROGRESS. Note This status is set by the Order Export and will not be set manually or individually. | |
cancelled and exported | CANCELLEDANDEXPORTED | 24 | Order has been cancelled by the customer in the web shop storefront. After cancellation, the order has been exported. (e.g., due to marketing issues) So, each single line item gets also the status CANCELLEDANDEXPORTED. Note This status is set by the Order Export and will not be set manually or individually. |
Status transition chart of the Intershop 7 line item statuses: (imported status values and status values which are not created by Intershop 7 itself, are not covered here)
Following payment transaction status values are supported in Intershop 7 by default. Listed order status values are based on the definitions of the StateGroup 'PaymentTransaction'
.
Note
There are some state values that either are not used in Intershop 7 anymore or that are only used for internal processing.
Payment Transaction Status | Status ID | Numeric Code | Used in Order Status Import | Description |
---|---|---|---|---|
created | CREATED | 0 | Only an internal state, the payment transaction has for a very short time after its creation. Note This status value is only an internal setting that should not be set in the context of the Order Status Import. | |
authorized | AUTHORIZED | 1 | The payment amount is reserved, but isn't booked yet. Note This status is set internally only by payment services. | |
(partly captured) | (PARTCAPTURED) | (2) | (X) | This status is currently not used by Intershop 7. |
captured | CAPTURED | 3 | X | The payment amount is booked. |
voided authorization | VOIDEDAUTHORIZATION | 4 | X | An authorized transaction is cancelled |
(voided capture) | (VOIDEDCAPTURE) | (5) | This status is currently not used by Intershop 7. | |
(marked) | (MARKED) | (6) | This status is currently not used by Intershop 7. | |
(settled) | (SETTLED) | (7) | This status is currently not used by Intershop 7. | |
(refunded) | (REFUNDED) | (8) | This status is currently not used by Intershop 7. | |
(voided authorization failed) | (VOIDEDAUTHORIZATION_FAILED) | (9) | This status is currently not used by Intershop 7. | |
(refund failed) | (REFUND_FAILED) | (10) | This status is currently not used by Intershop 7. |
The statuses 5-10 are not used.
The XML schema for the Order Status Import is created from annotated Java classes (javax.xml.bind.annotation.*
). Schema is generated by the Gradle tools during build process and published to the ${IS_SHARE}/system/impex/schema folder as result of the Intershop 7 setup.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <xs:schema xmlns:tns="http://www.intershop.com/xml/ns/intershop/order/status/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.intershop.com/xml/ns/intershop/order/status/1.0" version="1.0"> <xs:element name="orders" type="tns:ordersXML"/> <xs:complexType name="orderXML"> <xs:sequence> <xs:element name="product-line-items" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="product-line-item" type="tns:productLineItemXML" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="payment-transactions" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="payment-transaction" type="tns:paymentTransactionXML" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="id" type="xs:string"/> <xs:attribute name="status" type="xs:string"/> </xs:complexType> <xs:complexType name="productLineItemXML"> <xs:sequence/> <xs:attribute name="id" type="xs:string"/> <xs:attribute name="fulfillment-status" type="xs:string"/> </xs:complexType> <xs:complexType name="paymentTransactionXML"> <xs:sequence/> <xs:attribute name="id" type="xs:string"/> <xs:attribute name="status" type="xs:string"/> </xs:complexType> <xs:complexType name="ordersXML"> <xs:sequence> <xs:element name="order" type="tns:orderXML" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:schema>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns2:orders xmlns:ns2="http://www.intershop.com/xml/ns/intershop/order/status/1.0"> <order id="00000001@PrimeTech-PrimeTechSpecials" status="DELIVERED"> <product-line-items> <product-line-item id="1" fulfillment-status="DELIVERED"/> <product-line-item id="2" fulfillment-status="DELIVERED"/> <product-line-item id="3" fulfillment-status="DELIVERED"/> </product-line-items> <payment-transactions> <payment-transaction id="BPS_INVOICE-vncKAB2yo4oAAAE6raMhWLxs" status="CAPTURED"/> </payment-transactions> </order> <order id="00000002@PrimeTech-PrimeTechSpecials" status="DELIVERED"> <product-line-items> <product-line-item id="1" fulfillment-status="DELIVERED"/> </product-line-items> <payment-transactions> <payment-transaction id="BPS_DEBIT_TRANSFER-C50KAB2y._YAAAE6dKghWLxs" status="CAPTURED"/> </payment-transactions> </order> <order id="00000003@PrimeTech-PrimeTechSpecials" status="INPROGRESS"> <product-line-items> <product-line-item id="1" fulfillment-status="INPROGRESS"/> </product-line-items> <payment-transactions> <payment-transaction id="BPS_DEBIT_TRANSFER-rHoKAB2yIFsAAAE69KshWLxs" status="CREATED"/> </payment-transactions> </order> <order id="00000004@PrimeTech-PrimeTechSpecials" status="INPROGRESS"> <product-line-items> <product-line-item id="1" fulfillment-status="CANCELLED"/> <product-line-item id="2" fulfillment-status="INPROGRESS"/> <product-line-item id="3" fulfillment-status="DELIVERED"/> </product-line-items> <payment-transactions> <payment-transaction id="BPS_CASH_ON_DELIVERY-0XQKAB2yUHoAAAE6F7QhWLxs" status="CAPTURED"/> </payment-transactions> </order> <order id="00000005@PrimeTech-PrimeTechSpecials" status="INPROGRESS"> <product-line-items> <product-line-item id="1" fulfillment-status="INPROGRESS"/> </product-line-items> <payment-transactions> <payment-transaction id="BPS_DEBIT_TRANSFER-K_wKAB2yWfIAAAE6OrghWLxs" status="CREATED"/> <payment-transaction id="BPS_GIFT_CARD-tvoKAB2yk6cAAAE6OLghWLxs" status="CREATED"/> </payment-transactions> </order> <order id="00000006@PrimeTech-PrimeTechSpecials" status="NEW"> <product-line-items> <product-line-item id="1" fulfillment-status="NEW"/> <product-line-item id="2" fulfillment-status="NEW"/> </product-line-items> <payment-transactions> <payment-transaction id="BPS_INVOICE-1PgKAB2yyywAAAE6zLshWLxs" status="CREATED"/> </payment-transactions> </order> <order id="00000007@PrimeTech-PrimeTechSpecials" status="RETURNED"> <product-line-items> <product-line-item id="1" fulfillment-status="CANCELLED"/> </product-line-items> <payment-transactions> <payment-transaction id="BPS_CASH_ON_DELIVERY-IHcKAB2yLKwAAAE6970hWLxs" status="REFUNDED"/> </payment-transactions> </order> <order id="00000008@PrimeTech-PrimeTechSpecials" status="CANCELLED"> <product-line-items> <product-line-item id="1" fulfillment-status="CANCELLED"/> </product-line-items> <payment-transactions> <payment-transaction id="BPS_CASH_ON_DELIVERY-xDkKAB2yzc0AAAE6aMAhWLxs" status="REFUNDED"/> </payment-transactions> </order> <order id="00000009@PrimeTech-PrimeTechSpecials" status="NEW"> <product-line-items> <product-line-item id="1" fulfillment-status="NEW"/> <product-line-item id="2" fulfillment-status="NEW"/> </product-line-items> <payment-transactions> <payment-transaction id="BPS_GIFT_CARD-txsKAB2yI64AAAE6asQhWLxs" status="CAPTURED"/> <payment-transaction id="BPS_CASH_ON_DELIVERY-zxAKAB2ykM8AAAE6acQhWLxs" status="CAPTURED"/> </payment-transactions> </order> <order id="00000010@PrimeTech-PrimeTechSpecials" status="INPROGRESS"> <product-line-items> <product-line-item id="1" fulfillment-status="DELIVERED"/> </product-line-items> <payment-transactions> <payment-transaction id="BPS_INVOICE-TMEKAB2yn44AAAE6ZschWLxs" status="PARTCAPTURED"/> </payment-transactions> </order> </ns2:orders>
They will be imported by a XML which will correspond a defined XSD for the import. In the storefront and in the Commerce Management application these new statuses have to be displayed.
JAXB annotation is used to describe the structure of the data which will be imported. In the build process a corresponding xsd file is generated (ac_order_status_import_xml.xsd).
To adjust the statuses in the line items the following BO classes are used: OrderBO as an entry point.
Use com.intershop.component.order.capi.OrderBO.getProductLineItems()
to get the line items and update them with ProductLineItemBO.setStatus(int)
.
At first a look up is needed to get the correct order. An required attribute is the documentNo
(document number) and the domain combinated in an ID.
Extensions will be created to retrieve the corresponding order, product line item or the payment transaction. For the line items the position is required for identification.
And for the payment transactions the ID respectively the UUID.
The last step is to simply update the status in the order, product line items and payment transaction with the help of the BO classes OrderBO, OrderProductLineItemBO and PaymentTransactionBO.
To enable the Order Status Import:
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.