ParseResume

Have a question about Bullhorn's HTTP based APIs? You've found the right place.

API Update [posted on December 13, 2012]:

This version of the Bullhorn APIs should no longer be used.

All new work should be done using Bullhorn's REST or Web Services APIs. For more information please visit: http://developer.bullhorn.com/documentation

Bullhorn REST API provides a simpler and faster way for developers to build applications that interact with the Bullhorn platform and is used by Bullhorn Inc. to develop features of the Bullhorn ATS/CRM application.

Of the BullhornSTAFFING HTTP API interfaces listed below, our analysis shows that the following are most commonly used by developers:

Resume Parsing API
Published Job Data (XML)
The interface to these will continue to work as is because Bullhorn will replace the back end to use REST API. The URLs for these 2 specific APIs may change in the 2nd half of 2013; developers may require to update their applications to use the new URLs.

Moderators: StaffingSupport, s.emmons

jross
User
Posts: 13
Joined: Thu Feb 03, 2011 10:54 am

Re: ParseResume

Post by jross » Mon Mar 14, 2011 7:40 pm

Jon,

Thanks for your prompt reply.

The forum will not permit me to upload a .doc, .docx, .txt, or .html file; I receive an error message, e.g. "The extension doc is not allowed." Can I email you the TestResume.doc file?

Note when this TestResume.doc file is uploaded to our server, the content type indicated is application/msword, and the content type for TestResume.docx is application/vnd.openxmlformats-officedocument.wordprocessingml.document. I tested both formats.

Also note the Trace output is only printing a portion of the request:
System.Net Verbose: 0 : [3312] (printing 1024 out of 19924)

BTW- which file types does the ParseResume support? Also, do you have any partners that have implemented ParseResume via ASP.Net. And/or has Bullhorn tested the ParseResume with ASP.Net or other languages outside of the .CFM form?

Regards,
Jeff

jdonnelly
User
Posts: 192
Joined: Wed Feb 09, 2011 4:57 pm

Re: ParseResume

Post by jdonnelly » Tue Mar 15, 2011 5:34 pm

Hey Jeff,

I found the issue and I was able to get a response with your code (ignore my last post if you read it, which I deleted). There is a carriage-return linefeed in front of your post body that is breaking the request. Remove the first \r\n from your code and you should see a response and make sure that it is redefined so that there is a \r\n separating the form-data pieces. ie:

Code: Select all

string boundary = "---------------------------" + "456565598932"; // DateTime.Now.Ticks.ToString("x");
// old definition --> byte[] boundarybytes = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");

// new definition: 
byte[] boundarybytes = System.Text.Encoding.ASCII.GetBytes("--" + boundary + "\r\n");

Stream postedBytesStream = new MemoryStream();
FileStream fileStream = null;
HttpWebRequest webRequest = null;
HttpWebResponse webResponse = null;

try
{

	// write params
	string formdataTemplate = "Content-Disposition: form-data; name=\"{0}\"\r\n\r\n{1}";
	foreach (string key in fileParams.Keys)
	{
		if (key != "xmlFormat")
		{
			postedBytesStream.Write(boundarybytes, 0, boundarybytes.Length);
			string formitem = string.Format(formdataTemplate, key, fileParams[key]);
			byte[] formitembytes = System.Text.Encoding.UTF8.GetBytes(formitem);
			postedBytesStream.Write(formitembytes, 0, formitembytes.Length);
			
			// not the most elegant, but it works.. redefine boundary bytes with the leading \r\n:
			boundarybytes = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");
		}
	}

Jon Donnelly
Technical Support Engineer
Developer Forum Admin
B U L L H O R N
support@bullhorn.com

jross
User
Posts: 13
Joined: Thu Feb 03, 2011 10:54 am

Re: ParseResume

Post by jross » Wed Mar 16, 2011 9:04 am

Jon,

That is awesome! Thank you for taking time to look into this in detail. After implementing your fix, last night I was able to get both the ParseResume and AttachFile working as expected. This is really helpful; thanks again!

One more question - Do you know if there is an XML DTD which describes the list of legal elements for ParseResume string?

Regards,
Jeff

jdonnelly
User
Posts: 192
Joined: Wed Feb 09, 2011 4:57 pm

Re: ParseResume

Post by jdonnelly » Wed Mar 16, 2011 2:37 pm

Hey Jeff,

Glad to help. Unfortunately, we do not have a dtd for the BHUserContact XML that is output from the parse resume page. However, the same elements should be output each time even if a field is not populated. Let me know if you have any other questions.

Thanks,
Jon Donnelly
Technical Support Engineer
Developer Forum Admin
B U L L H O R N
support@bullhorn.com

jross
User
Posts: 13
Joined: Thu Feb 03, 2011 10:54 am

Re: ParseResume

Post by jross » Tue Mar 22, 2011 12:10 pm

Jon,

I'm not sure if I should ask this in a new post, but we had a few more questions.

1. Which file types does ParseResume support?

2. How would we record the jobs to which candidate has applied via the client's web site? Would Job Web Responses work for this? Is there an API to add to this list?

3. How does the client indicate which jobs should be posted to their web site? When query JobOrder using the following flags, I receive ids = null. If I remove isPublic, I believe I receive the full list of jobs (51). The client only wants to currently make public (publish) JobOrder #439.

Code: Select all

            GiGiSharedSites.com.bullhornstaffing.api.dtoQuery jobOrderListQuery = new GiGiSharedSites.com.bullhornstaffing.api.dtoQuery();
            jobOrderListQuery.entityName = "JobOrder";
            jobOrderListQuery.maxResults = 20;
            jobOrderListQuery.maxResultsSpecified = true;
            jobOrderListQuery.where = " isDeleted = 0 and isOpen = 1 and isPublic = 1 ";
Thank you in advance for your assistance.

Regards,
Jeff

jdonnelly
User
Posts: 192
Joined: Wed Feb 09, 2011 4:57 pm

Re: ParseResume

Post by jdonnelly » Thu Mar 24, 2011 2:50 pm

Hello Jeff,

I posted a response to these questions on: http://supportforums.bullhorn.com/viewt ... =32&t=9201.

Thanks,
Jon Donnelly
Technical Support Engineer
Developer Forum Admin
B U L L H O R N
support@bullhorn.com

jitender
User
Posts: 18
Joined: Tue Mar 01, 2011 3:48 am

Re: ParseResume

Post by jitender » Wed Jul 13, 2011 8:16 am

Hello Jeff,

Can you please help me by uploading code to upload resume and update description field.

Thanks,
Jitender

Locked