Hi there, I am new to the Developer Forums, but am checking them out, having just been at TLCC and heard they are a good resource. I'm in the process of converting a very basic calendar listing application from SOAP to REST, and I am trying to find a couple of REST equivalents to the SOAP calls my script uses. Hoping someone can point me in the right direction.
My existing application takes the Performance ID of the first performance of a prod season and uses GetProductionDetailEx to return performance details (this could also be done with the Prod Seas ID). It then loops through those results to get a comma-delimited list of all Performance IDs, and uses them to call GetPerformancesEx4 to get details about each performance.
The data I need on performances includes perf date, perf time, and availbility_by_customer.
The main thing I'm struggling with right now is finding something that will do what GetProductionDetailEx is doing for me. I would like to pass a Prod Season ID or Performance ID to the API and return a list of performance IDs to use with TXN/Performances?performanceIds={performanceIds}&seasonId={seasonId} in REST.
Any help is very muchly appreciated!
Hi Christian,
This isn't a direct answer, but when I was at the conference last week, someone gave me the tip of hopping into the Tessitura Client, setting the log viewer to trace, and then doing what you want to be doing. Then review the log window for clues to endpoints. This might help in the long term for you!
Cheers,Kathleen
That's a nifty tool, thanks for passing it along!
POST /TXN/Performances/Search seems to be the workhorse for this sort of task. I have only used it for getting performances in a date range, but you can pass it a ton of search criteria.
Thanks, Tushar! From the API documentation, it looks like you are right on. However, I tried passing a production season ID to that endpoint and after a long duration I got back all performances in our entire database! Oops. Clearly I did something wrong, so I will keep exploring down this path. Thanks for the tip!
Sounds like might be a better option?
TXN/Performances?performanceIds={performanceIds}&seasonIds={seasonIds}&productionSeasonId={productionSeasonId}
example (pass the perf id):
TXN/Performances?performanceIds=28049&seasonIds=&productionSeasonId=
Should return everything you described above.
Right, but I think in order to get that info for a range of performances, I need to give TXN/Performances a comma separated list of perf IDs, yes? The trick is getting that list of perf IDs from a single prod season ID. That's what I used to do with GetProductionDetailEx and which I hope I can now do with TXN/Performances/Search.However, I discovered that my local version of the API is whatever comes with Tessitura v12.5.1, so was TXN/Performances/Search maybe not available back then? I don't seem to have it. We're moving to RAMP this month, so hopefully this won't be an issue for long.
Then pass the prod season id and leave the performance blank. It will return all the performances.
TXN/Performances?performanceIds=&seasonIds=&productionSeasonId=27979
Yep, confirmed this works in v15. It didn't work in 12.5.1, which is part of what confused me. Thank you!
No problem. REST fun... yay!
Hi again -- this project is coming along and I've almost got it sorted. I just have one more piece of the puzzle that I need to figure out in REST. The SOAP call GetPerformancesEx4 returns a field called 'availbility_by_customer' that I have used to designate a performance having limited seating or to list it as sold out. I haven't yet found a REST equivalent in TXN/Performances or related performance resources. I've been playing with TXN/Performances/Zones to see performance seat availability by zone, but this seems needlessly complicated and involves needing to make the script aware of what zones are for OK for customers to see and which ones aren't. I can do that, but it's more complex than just having the one field in each performance that tells me what's available to the customer. Does anyone know if there's a REST equivalent?