0

I'm noticing that for request IDs that show a messageErrorStatus of 'The subscriber ExactTarget system status is held' in response to the DeliveryRecords API (https://www.exacttargetapis.com/messaging/v1/messageDefinitionSends/key:XXXXX/deliveryRecords/XXXXX), I'm getting an 'OK' OverallStatus in response to the Retrieve ResultMessage Object SOAP request using the same RequestID. Further - I'm getting an 'OK' OverallStatus in response to the Retrieve ResultMessage Object SOAP request using a Request ID that I make up (example below). Does anyone know why? Is the default response from the Retrieve ResultMessage Object API 'OK'? Additionally - if the subscriber status is 'Held', does this trigger message request fail too early for the Retrieve ResultMessage Object API to have any knowledge of it?

Request:

RequestID equals aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee

Response:

<soap:Body>
    <RetrieveResponseMsg xmlns="http://exacttarget.com/wsdl/partnerAPI">
        <OverallStatus>OK</OverallStatus>
        <RequestID>42fe6f5f-f2e9-48a7-87a4-d25fa8fcf571</RequestID>
    </RetrieveResponseMsg>
</soap:Body>
0

Your original call is a REST request.

The SOAP RetrieveResponseMsg is specific to the SOAP Asynchronous API server. It returns the result of an Asynchronous SOAP API call.

All other requestID values (REST, SOAP Synchronous, fake value) return an "OK" response... Meaning, it didn't find that requestID in the Async service, but there's nothing wrong with that, so "OK".

If there were real results, they would look something like this:

   <soap:Body>
      <RetrieveResponseMsg xmlns="http://exacttarget.com/wsdl/partnerAPI">
         <OverallStatus>OK</OverallStatus>
         <RequestID>YYYYYYY-YYYY-YYYY-b97e-1a8db53b6f84</RequestID>
         <Results xsi:type="ResultMessage">
            <PartnerKey xsi:nil="true"/>
            <CreatedDate>2020-06-22T23:12:59.73</CreatedDate>
            <ObjectID xsi:nil="true"/>
            <RequestID>XXXXXXX-XXXX-XXXX-8d70-61714cad6d62</RequestID>
            <ConversationID/>
            <OverallStatusCode>OK</OverallStatusCode>
            <StatusCode>OK</StatusCode>
            <StatusMessage>Upserted DataExtensionObject</StatusMessage>
            <RequestType>Asynchronous</RequestType>
            <ResultType>DataExtensionUpdateResult[]</ResultType>
            <ResultDetailXML><![CDATA[all the really useful info in here as another SOAP XML reponse]]></ResultDetailXML>
         </Results>
      </RetrieveResponseMsg>
   </soap:Body>

The Marketing Cloud SOAP and REST APIs are completely separate and do not talk to each other.

Most of the Marketing Cloud REST calls are Synchronous, so you would get the response immediately and not need to retrieve the result of the call later on. The only exception that I know of would be the REST Data Extension Async API, and it has its own status retrieval mechanism.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.