Only replying 3 years late but yes I have this experience. This is from a time before MWS (~15 years ago), we built an DSP-based IS portal to report on transactions, setup profiles, etc using wm.tn:* services (which are pretty complete). The portal’s still working and in use.
For inbound transactions, you query transactions (
wm.tn.query:createDocumentQuery, wm.tn.query:documentQuery), check the documents status (e.g.,
results/UserStatus), and see if it worked.
The one tricky bit is determining if outbound document deliveries are successful. I did this as a two-stage process. First, review outbound delivery tasks to find documents that are or have been delivered. For this, create and execute a task query (
wm.tn.query:createTaskQuery, wm.tn.query:taskQuery), then retrieve the TN document associated with each delivery (
wm.tn.doc:viewAs) in a Try/Catch block, and add both the delivery job and the document to your transfer report.
This still leaves outbound documents that haven’t started a delivery job yet (say due to a misconfig or bug). For those, create another, wider query on TN transactions (
wm.tn.query:createDocumentQuery, wm.tn.query:documentQuery). Then, query each document for its delivery job (do a
wm.tn.query:createTaskQuery, wm.tn.query:taskQuery for that document). Skip documents with a delivery task (these are already covered by task query section above).Transfer the remaining ‘orphan outbounds’ to the outbound transfer report.