Deposit API deposit serialisation

From DigiRepWiki


<response>
  ...
  <deposit>
    <!-- 
         I suggest removing Pending, and just using the data in the receipt. Pending 
         is a sub type of request (chris g.) 
    -->
    <responseCode>Accepted|Pending|Rejected|Error</responseCode>

    <!-- 
         This may be supplied if an error or rejected response was given.
    -->
    <errorCode>One of:
contentError
parseError
checkSumMismatchError
unknownChecksumAlgorithmError
badRequestError
badRequestUnknownTargetError
badRequestDepositPropertyError          
notAuthzRejection (authorised is a uk/us spelling issue)           
couldNotInjestRejection           
wouldNotInjestRejection 
    </errorCode>

    <responseMessage>[[CDATA]]</responseMessage>

    <!-- If response code is not error or rejected - -->
    <receipt>
       <!-- 
             level 1 must include this if the client supplied a
             transaction id. It is the same id.
       -->
       <TransactionIdentifier>[[CDATA]]</TransactionIdentifier> 

       <!-- 
             The unique id that this server has assigned to the injested
             item. Should be a URI, but this only _has_ to be unique 
             within the server, 
       -->
       <LocalIdentifier>[[CDATA]]</LocalIdentifier>

       <!-- 
             Optional. This is a URL which will return the excact content
             bit stream that the client passed. The URL may not be valid 
             at once if the item is pending.       -->
       <ObjectURL>[[URL]]</ObjectURL>
       <!--
             Optional. A URL for a human to find this record. This may be
             the "splash page". The URL may not be valid at once if the 
             item is pending.
       -->

       <DisplayURL>[[URL]]</DisplayURL>
        
       <!-- 
             Optional. Does pending need to be a true/false?
       -->
       <pending>[[BOOLEAN]]</pending>

       <!--
             Optional if pending. May be repeated (0..n)
       -->
       <pendingCode>[[CDATA]]</pendingCode>
     
       <!-- 0 or 1 -->
       <previewURL>[URL]</previewURL> <!-- 0 or 1 -->

       <!-- 0 .. n -->
       <actionRequired>
         [[description]]
       </actionRequired>

       <!-- 
            Optional. Describes what treatments were actually applied. If 
            not supplied then assume the worst!
       --> 
       <treatment>[[Description]]</treatment>

       <!-- 
             Optional. May be repeated. The data should be a format 
             identifier.
       -->
       <handledAs>[[CDATA]]</handledAs>






       <!--
             Optional. May be returned if a verbose response was requested.
       -->
       <verboseDescription>[[CDATA]]</verboseDescription>

       <!-- 0 or 1. -->
       <!-- Having a negative boolean is confusing. I think we should change
            the symantic to something else. Maybe <acted>true/false</acted> ? 
            - chris.
       -->
       <noOp>true</noOp>

       <!-- 0 or 1. not sure about this! -->
       <deleteCode>[[CDATA]]</deleteCode>

       <!-- 0..n -->
       <checksum> 
          <value>[[CDATA]]</value>
          <type>[[CDATA]]</type>
       </checksum>

    </receipt>

  </deposit>

</response>