Website and Bullhorn API Integration View live site
Please note: I am not currently working on Bullhorn projects. Their API has changed since this project was completed in 2009.
Bullhorn Software tools that power New Age's business. Bullhorn's API, at least as of this writing, is a series of ColdFusion forms rather than a web service/ RESTful approach. While .NET/ VisualStudio do a great job of providing a foundation for web service integration projects, much of that foundation is lost if you're not talking to web services. I encountered some complications in accepting a file upload, validating the file and passing it on to the 3rd party form in C#. The client's web host takes a serious approach to security. In Phase One, the web server (the IIS worker process) did not have access to write to the drive. Always preferring to be keep fighting with other parties to a minimum, I circumvented this restriction by streaming the file for the simple resume upload. To avoid this issue in Phase Two, I finally submitted the form directly to Bullhorn and intercepted the response.
- Giving in to my anal-retentive coding nature, I renamed the class to BullhornWorker to make things obvious
- The code was provided as a class, but it's not an object, it's a set of related utilities
- As such, any method I actually used has been marked as static because there are no common values to be initialized
- I moved the Bullhorn private label id and API key out to Web.config variables to make the code easier to maintain
- Added caching for the query that lists all jobs in the system and any filtered job queries: because this is easily the most often call and given the job list does not update more than daily, there's no danger to caching the list and a big performance boost
- Added a couple of helper methods to reduce redundancy
- The Web.config key DEVELOPMENT_DEBUGGING expects a boolean; if set to "true", the code will return any XML exception information
- Web.config keys required: BULLHORN_PRIVATE_LABEL_ID, BULLHORN_API_KEY, CACHE_ON, DEVELOPMENT_DEBUGGING