Bullhorn API

Has anyone worked with bullhorn API?

Could you provide a link to the bullhorn API page? Googling it is drawing a blank for me.

That’s the documentation
Developer Documentation | Bullhorn Developer Center

BullHorn is Job Staffing web application; The api allows me to connect to their database via SOAP to retrieve job results.

Do you have a question about the API, or are you just looking for a show of hands?

Yeah i have a question it could be a general php thing.

The findMultiple() method in the SOAP only allows 20 results. If there’s more than 20 results they give me a error.

i’m trying to figure out how to tell the script to run 20 and then loop back and grab the remainder results.

	
		$findId_array =  array();
		foreach ($queryResult->return->ids as $value)
			{
				// Cast each Id to an integer type
				$findId = new SoapVar($value, XSD_INTEGER,"int","http://www.w3.org/2001/XMLSchema");
				$findId_array[] = $findId;
			}
		
		// Create the findMultiple() method request
		$find_request = array(
                                        'session' => $API_currentSession,
                                        'entityName' => 'Category',
                                        'ids' => $findId_array
                                     );

		// Use the findMultiple method to return the candidate dtos
		try 
			{
				$findResult = $BHclient->findMultiple($find_request);
			} catch (SoapFault $fault) {
				var_dump($BHclient->__getLastRequest());
				die($fault->faultstring);
			}

 print_array($findResult); 


I am just looking into using Bullhorn and it is a nightmare to use.
I’m slowly getting through it though.

Are you still having the problem? If so are you using the 2.0 API or the older version?
As far as I know the new version does not have the limit.

i’m done with the bullhorn project. I was using the API 2.0 version; the 1.0 isn’t much different from 2.0…

You just need to really understand the documentation; once you get a good understanding of their methods its pretty much down hill from there.

Their Webservices server is super slow too. :confused:

I am not having fun using it. So is there also the limit with the 2.0 version I was told by them it was not the case.
I have found their documentation to be pretty useless I am have learnt most of it by trial and error.

Could you answer a couple of questions for me hopefully something simple now you have got to grips with it.
I have a script that lists the jobs and i want to display the job contact name and email address but i can’t figure out how.

The other thing I want to do is create search form, any tips on how to do this?
Do I need to use the where clause to create my own search?

Thanks

Yeah I trial error the project for 6 weeks. The support forums are no help at all …

They allow you to run a SQL comment in their statement buts it really dumbed down.

To do a search in the jobOrder

the follow script will cover search in the job description, their state and in the category.

The category was tricky because the ‘elements’ is kind of their JOIN command.


if($desc) 
    {
        $desc = " and description like'%$desc%' ";
    }

    if($state)
    {
        $states = " and address.state='$state' ";
    }
    
    if($joborder) {
    
        $orderClause = " and ('$joborder' in elements(categories)) ";
    
    }


	$query_array = array(
							'entityName' => 'JobOrder',
							'maxResults' => 300,
							'parameters' => array(),
                                                        'where' => "isPublic = '1' and isOpen = '1'  $orderClause  $desc $states"
  							
						);

Once you get the join going you can set the maxresults to 300 it’ll spit out 300 ids but then you have to take the information and rerun the query to get the joborder information based on the ids

so it’ll end up looking like this


                    [1] => 3
                    [2] => 4
                    [3] => 5
                    [4] => 6
                    [5] => 7
                    [6] => 8
                    [7] => 9
                    [8] => 10
                    [9] => 11
                    [10] => 12
                    [11] => 13
                    [12] => 14
                    [13] => 15
                    [14] => 16
                    [15] => 17
                    [16] => 18
                    [17] => 19
                    [18] => 20
                    [19] => 21


run a foreach loop

                                            
                $find_request = array(
                                        'session' => $API_currentSession,
                                        'entityName' => 'JobOrder',
                                        'ids' => $findId
                                     );


Let me know if that helps… i’m looking at my code and i’m still confused lmao i finished the project about a month ago… so it would be a good time to pick my brain before i completely forget the nightmare.

Thanks for the code it is very helpful, i thought i would have to use the where clause.
You would have thought they would have a proper api with search functions but no…

The last thing im stuck with is getting the contact details of the job did you manage to do that?

Thanks again

to get contact details you would have to call another method 'CorporateUser ’ to get the owner of the joborder information. i believe the table name is ownerID

OK thanks.

So ill need to get the id for the other detsails then do another call to get the contact details.

yeah. the corporateuser method will give you everything you need of the owner for joborder id# .

I am struggling to get this, is there ancy chance you could show me an example? Should I be using a new find request ?