A request can have an external unique identifier, typically the ConversationID. If you don't specify a ConversationID, include the RequestID. Using this approach provides these added benefits:
- Results are available for calls using external identifiers
- Data is protected from replayed API calls
C# Example
<!-- Moved Gist inline (mc-doc/8f7a43897caedc4c41a77f78d75e1951) -->CreateOptions co = new CreateOptions();
co.RequestType = RequestType.Asynchronous;
co.RequestTypeSpecified = true;
co.ConversationID = "123456"; // or any other unique string
CreateResult[] results = integrationFramework.Create(co, new APIObject[] { ts }, out requestID, out status);
SOAP Envelope
<!-- Moved Gist inline (mc-doc/79db4fdb97e998942801915ea3a8e739) --><soap:Body>
<CreateRequest xmlns="http://exacttarget.com/wsdl/partnerAPI">
<Options>
<RequestType>Asynchronous</RequestType>
<ConversationID>123456</ConversationID>
</Options>
...