Standards for Technology in Automotive Retail
Application level errors are those that occur once the payload has made it into the application for processing. The BOD that returns these errors could either be a Acknowledgement or a Confirm depending on the verb that was used to send the BOD. If a Process verb is used, then an Acknowledgement Verb is the appropriate response. Confirm BOD could technically be used in almost any situation, but it is an OAGi recommendation that application level errors be handled where possible by the corresponding response Verb.
The following messages may occur at a ConfirmBOD or SOAP Fault level. This depends on how the implementation is architect-ed on the back end system. While the ConfirmBOD can send back Warnings, SOAP Faults are restricted to errors that stop processing of the message. Warnings are not included in the list for this reason. There are also some concerns about warnings on how these should be handled from an interoperability standpoint.
All of the codes listed in the following table are to be treated as ERRORS.
|STAR Level 1 Requirement|
STAR1013: ConfirmBOD reason codes that are sent at the Warning or Informational status, should not trigger a resending of the BOD.
|A doucment already exists. This may happen for a BOD such as ProcessPartsOrder where the document identifiers to another existing parts order from the same dealer.||Duplicate Document|
|One or more required data elements have invalid values.||Invalid Required Value|
|The operation that cannot be performed, such as Change or Cancel based on the receiver's business rules and the condition of the document. For example, the part order has already been shipped therefore the order cannot be cancelled.||Cannot Perform|
|One or more required fields are missing.||Required Field Missing|
|An error (e.g. database server is down) on the server prevented the execution of the BOD. The client will have to resend the BOD at a later time.||Server Error|
|The client attempts to perform an operation that is not permitted. An example of when this may occur is if the dealer attempts to order a part when their account is placed on hold. This is to be used for authorization errors||Not Permitted|
|The received BOD or BOD version is not supported by the receiver.||BOD Not Supported|
|The structure of the BOD is not valid. For example, the BOD failed schema validation.||Invalid Structure|