Hi
The XSL transformation in the template confirmation emails does not do enough for me. I need to look up further details about the performances using the web API, and modify the email accordingly.
So instead of the XSL transformation, I'm trying to call GetOrderDetails to retrieve the full order details. Unfortunately this needs an authenticated session, and the only way to get this is for the customer to login.
I've tried calling GetOrderDetails using the Session ID from OrderData. This works perfectly on the website; I complete the order, re-use the Session ID to retrieve the order details, and write out the customised email.
However this doesn't work from the Tessitura Client if I call the same template - the OrderData is not given a Session ID, as the customer is not logged in through the API.
Is there any way I can do any of the following?
1. Read the order data requested by the XSL page myself, so I can treat it as if it's GetOrderDetails results (so I can look at the cart contents and request the extra performance information from the API); or
2. Retrieve order details using GetOrderDetails without an authenticated session; or
3. Get a new valid session ID authenticated for the customer regardless of how the sale was made and without providing their password.
For now I am using ExecuteLocalProcedure to call a modified version of WP_GET_ORDER_DETAILS with the necessity for an authenticated session removed.
This kind of works, except that GetOrderDetails doesn't appear to return packages, and ExecuteLocalProcedure has no way of naming the returned elements other than LocalProcedure1, LocalProcedure2 etc (instead of Order1, LineItem1 etc).
If I understood how the order data is returned by WebAPI.Controls.ConfirmationEmailPage it would help. Is there a way of reading that data directly, rather than passing it to the XSL page with TransformXML?
Thanks to anyone who takes the time to peruse my ramblings...