Fast Find does not show API added/updated candidates

Forum for users and developers of Bullhorn's Webservices API suite

Moderators: StaffingSupport, s.emmons, BullhornSupport

gokonski
User
Posts: 78
Joined: Thu Nov 13, 2008 2:21 pm
Location: Opole, PL
Contact:

Fast Find does not show API added/updated candidates

Post by gokonski » Wed Jun 09, 2010 10:34 pm

Hey,

we have a problem with API added/updated candidates not showing up in the Fast Find search results, like they used to untill this week.
I thought it works like explained before:
... The quick find is a direct look into the DB, which will be instantaneous. The candidate list and candidate search uses a different index that is not updated immediately by the API (for now).

http://supportforums.bullhorn.com/viewt ... lay#p12711

But for us it takes about 1hr for those candidates to display in Fast Find. The is no problem in finding them using new or old API just after adding them to the system.

So my question is: have you changed something in the fast find logic, so that there is a delay for those candidates to show up?

Thanks Greg

apsmith
Site Admin
Posts: 2051
Joined: Wed Dec 31, 1969 8:00 pm

Re: Fast Find does not show API added/updated candidates

Post by apsmith » Thu Jun 10, 2010 2:24 pm

Greg,

There should not be any delay when a candidate is added into the system for Fast Find. Are there any followup edits happening after the initial save operation?
Andrew Smith
Director, Technical Operations
Developer Forum Admin

gokonski
User
Posts: 78
Joined: Thu Nov 13, 2008 2:21 pm
Location: Opole, PL
Contact:

Re: Fast Find does not show API added/updated candidates

Post by gokonski » Thu Jun 10, 2010 10:51 pm

Hey, we have 2 scripts which do the following actions:

1. parses the candidates using legacy API and adds Work History - Fast Find problem.
2. parses using legacy API - updates the candidates, adds Notes, creates tearsheets and adds parsed candidates under that tearsheet (all via new API) - Fast Find and Tearsheet problem.

Tearsheet problem:
There should be 18 candidates in total under this tearsheet, but when you expand the view Bullhorn displays only 13, any idea what happend to the missing 5?
image004.jpg
image004.jpg (109.31 KiB) Viewed 15078 times
When I use our application that uses new API, it shows all 18 records as supposed:
Untitled.png
Untitled.png (242.29 KiB) Viewed 15079 times
Thanks Greg

apsmith
Site Admin
Posts: 2051
Joined: Wed Dec 31, 1969 8:00 pm

Re: Fast Find does not show API added/updated candidates

Post by apsmith » Fri Jun 11, 2010 9:02 am

Greg,

This is Great information, can you give me the ID of 1 or 2 of the ones that show and 1 or 2 of the ones that don't for comparison?
Andrew Smith
Director, Technical Operations
Developer Forum Admin

gokonski
User
Posts: 78
Joined: Thu Nov 13, 2008 2:21 pm
Location: Opole, PL
Contact:

Re: Fast Find does not show API added/updated candidates

Post by gokonski » Sun Jun 13, 2010 9:58 pm

Hey Andrew,

Shows up: 46089

Does not display: 18752

I have also noticed that when we add the candidate using legacy API he does show up under the tearsheet and Fast Find, but then when we use new API to update his record it dispaears and can not be found via Fast Find. If you look at the number of the fields returned (new API: find()) for added and updated candidate you will see that there are much more for added one, so it looks like one of the required field is missing in API update function.

Code: Select all

--
-- Candidate added via legacy API 
--

[3] => Array
(
	[address] => Array
		(
			[address1] => 
			[address2] => 0
			[city] => 
			[countryID] => 1
			[state] => CO
			[zip] => 80112
		)
	[customFloat1] => 0.0
	[customFloat2] => 0.0
	[customFloat3] => 0.0
	[customInt1] => 0
	[customInt2] => 0
	[customInt3] => 0
	[customText1] => 
	[customText10] => 
	[customText11] => 
	[customText12] => 
	[customText13] => 
	[customText14] => 
	[customText15] => 
	[customText16] => 
	[customText17] => 
	[customText18] => 
	[customText19] => 
	[customText2] => 
	[customText20] => 
	[customText3] => 
	[customText4] => 
	[customText5] => 
	[customText6] => 
	[customText7] => 
	[customText8] => 
	[customText9] => 
	[email] => xxxx
	[email2] => 
	[email3] => 
	[fax] => 
	[fax2] => 
	[fax3] => 
	[firstName] => xxx
	[isDayLightSavings] => true
	[isDeleted] => false
	[lastName] => yyy
	[massMailOptOut] => false
	[middleName] => 
	[mobile] => 0
	[name] => xxx yyy
	[namePrefix] => 
	[nameSuffix] => 
	[nickName] => 
	[pager] => 
	[phone] => 1234
	[phone2] => 
	[phone3] => 
	[timeZoneOffsetEST] => 0
	[userID] => 25876
	[userTypeID] => 35
	[username] => xxxyyy
	[categoryID] => 45
	[certifications] => 
	[comments] => 
	[companyName] => Ipremise
	[companyURL] => 
	[customTextBlock1] => 
	[customTextBlock2] => 
	[customTextBlock3] => 
	[customTextBlock4] => 
	[customTextBlock5] => 
	[dateAdded] => 2009-05-27T11:30:11.487-04:00
	[dayRate] => 0.0000
	[dayRateLow] => 0.0000
	[degreeList] => 
	[description] => 
	[desiredLocations] => 
	[disability] =>  
	[educationDegree] => 
	[employeeType] => W2
	[employmentPreference] => 
	[ethnicity] => 
	[experience] => 0
	[externalID] => 
	[gender] =>  
	[hourlyRate] => 0.0000
	[hourlyRateLow] => 0.0000
	[isEditable] => true
	[numCategories] => 1
	[numOwners] => 1
	[occupation] => Technical Support Representative
	[ownerCorporationID] => 1659
	[ownerID] => 2
	[password] => detroit226
	[preferredContact] => Home
	[recentClientList] => 
	[referredBy] => 
	[salary] => 0.0000
	[salaryLow] => 0.0000
	[secondaryAddress] => Array
		(
			[address1] => 
			[address2] => 
			[city] => 
			[countryID] => 1
			[state] => 
			[zip] => 
		)
	[skillSet] => Top 3 skills: HELPDESK (1 years).
	[source] => 
	[ssn] => 
	[status] => Active
	[taxID] => 
	[travelLimit] => 0
	[type] => 
	[veteran] =>  
	[willRelocate] => false
	[workAuthorized] => true
	[workPhone] => 
)

Code: Select all

--
-- Candidate added via legacy API and then updated via NEW API
--

[2] => Array
(
	[address] => Array
		(
			[address1] => 
			[address2] => 0
			[city] => Denver
			[countryID] => 1
			[state] => CO
			[zip] => 80202
		)
	[email] => xxx@xxx.com
	[firstName] => xxx
	[isDayLightSavings] => true
	[isDeleted] => false
	[lastName] => yyy
	[massMailOptOut] => false
	[mobile] => 123
	[name] => xxx yyy
	[phone] => 123
	[phone2] => 
	[timeZoneOffsetEST] => -120
	[userID] => 18752
	[userTypeID] => 35
	[username] => xxxyyy
	[comments] => 
	[companyName] =>
	[dateAdded] => 2008-12-04T13:38:57.473-05:00
	[dayRate] => 0.0000
	[dayRateLow] => 0.0000
	[description] => 
	[employeeType] => W2
	[isEditable] => true
	[numCategories] => 1
	[numOwners] => 1
	[occupation] => Senior Information Center Analyst
	[ownerCorporationID] => 1659
	[ownerID] => 18
	[password] => purplecow934
	[preferredContact] => 
	[salary] => 0.0000
	[salaryLow] => 0.0000
	[secondaryAddress] => Array
		(
			[countryID] => 1
		)
	[skillSet] => Top 3 skills: INVENTORY (4 years), ENVIRONMENT (4 years), SECURITY POLICIES (3 years).
	[source] => 
	[status] => Active
	[travelLimit] => 0
	[willRelocate] => false
	[workAuthorized] => true
)
Hope that makes sense, Greg.

PS. Company PLID = 2428

gokonski
User
Posts: 78
Joined: Thu Nov 13, 2008 2:21 pm
Location: Opole, PL
Contact:

Re: Fast Find does not show API added/updated candidates

Post by gokonski » Mon Jun 14, 2010 2:25 am

Hey,

Unfortunately our client went thru the missing candidates and re-saved them in BH and they are showing up on the tearsheet now.
Looks like there is a bug in API update function: one (or more) fields should be required in order to be included in FastFind results and Tearsheet.

Can you please help asap, as this is major bug preventing our clients to find/see the candidates.

Greg

apsmith
Site Admin
Posts: 2051
Joined: Wed Dec 31, 1969 8:00 pm

Re: Fast Find does not show API added/updated candidates

Post by apsmith » Tue Jun 15, 2010 10:38 am

Greg,

Without having a current example, it is hard to say what is wrong about the data. Can you post in a test candidate that you can leave as corrupt?
Andrew Smith
Director, Technical Operations
Developer Forum Admin

gokonski
User
Posts: 78
Joined: Thu Nov 13, 2008 2:21 pm
Location: Opole, PL
Contact:

Re: Fast Find does not show API added/updated candidates

Post by gokonski » Tue Jun 15, 2010 10:23 pm

Hey,

Company PLID = 2428
Tearsheet ID = 1583
Candidate added via legacy and updated via new API (does not diplay on the tearsheet): 57203
Candidate added via legacy API: 57207

Greg

apsmith
Site Admin
Posts: 2051
Joined: Wed Dec 31, 1969 8:00 pm

Re: Fast Find does not show API added/updated candidates

Post by apsmith » Wed Jun 16, 2010 8:58 am

Greg,

The issue here is not the association from the candidate to the tearsheet, but rather the candidate himself.

The candidate's CategoryID is set to 0, which is invalid. If you do not have a category to set, use ID of 45, which is "Other". A candidate must have a valid categoryID.
Andrew Smith
Director, Technical Operations
Developer Forum Admin

gokonski
User
Posts: 78
Joined: Thu Nov 13, 2008 2:21 pm
Location: Opole, PL
Contact:

Re: Fast Find does not show API added/updated candidates

Post by gokonski » Wed Jun 16, 2010 11:03 am

Yeah was saying the same, that the problem is with one of the candidates' fields.

Thanks for the info, did not find anything about the category set to 0 being invalid , also reponse from the web services did not end up with a fault string or some error message, so I have assumed that the update() was done ok. I think its a bug in the API and it should not allow users to pass "0" as a categoryID.

Thanks again. Greg

gokonski
User
Posts: 78
Joined: Thu Nov 13, 2008 2:21 pm
Location: Opole, PL
Contact:

Re: Fast Find does not show API added/updated candidates

Post by gokonski » Wed Jun 16, 2010 12:34 pm

Just to confirm: in order to update categoryID all I have to do is to send something like:

Code: Select all

$input['categoryID'] = (int) 12345; 
is that correct?

Just wondering because it does not seem to be working and in lagacy API we had to do it by sending 2 variables:\

Code: Select all

$post['categoryIDSpecified'] = true;
$post['categoryID'] = 12345; 
Thanks Andrew for your help.

apsmith
Site Admin
Posts: 2051
Joined: Wed Dec 31, 1969 8:00 pm

Re: Fast Find does not show API added/updated candidates

Post by apsmith » Wed Jun 16, 2010 1:19 pm

Greg,

You might not be able to use the old API page, as it has issues updating records that are "corrupted". Records without a valid categoryID would fail DB joins necessary to complete the update.

I would suggest getting the FULL DTO for these candidates using the find operation, then saving the the entire DTO back with only the category change using the webservice API.
Andrew Smith
Director, Technical Operations
Developer Forum Admin

gokonski
User
Posts: 78
Joined: Thu Nov 13, 2008 2:21 pm
Location: Opole, PL
Contact:

Re: Fast Find does not show API added/updated candidates

Post by gokonski » Wed Jun 16, 2010 9:15 pm

Hey Adrew, this is exactly what I am doing, I am not using legacy CURL api to update the client, instead I am usingnew webservice API, here the sample code:

Code: Select all

	public function updateCandidate(array $input) {

		$res = $this->_soapClient->call('save', 
			array(
				'session'	=> $this->_session,
				'dto xsi:type="ns4:candidateDto" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns4="http://candidate.entity.bullhorn.com/"'	=>  
					array(		
						'userID' 				=> (int)$input['userID'],
						'dateAdded'				=> $input['dateAdded'],
						'isDayLightSavings' 	=> $input['isDayLightSavings'],
						'categoryID' 			=> (int)$input['categoryID'],
						'numCategories' 		=> (int)$input['numCategories'],
						'ownerID' 				=> (int)$input['ownerID'],
						'numOwners' 			=> $input['numOwners'],
						'timeZoneOffsetEST' 	=> (int)$input['timeZoneOffsetEST'],
						'userTypeID' 			=> $input['userTypeID'],
						'username' 				=> $input['username'],
						'password' 				=> $input['password'],
						'massMailOptOut' 		=> $input['massMailOptOut'],
						'travelLimit' 			=> $input['travelLimit'],			
						'workAuthorized' 		=> $input['workAuthorized'],
						'ownerCorporationID' 	=> $input['ownerCorporationID'],
						'isDeleted' 			=> $input['isDeleted'],
						'isEditable' 			=> $input['isEditable'],
						'preferredContact' 		=> $input['preferredContact'],
						'name' 					=> $input['firstName'] . ' ' . $input['lastName'], 
						'firstName' 			=> $input['firstName'],
						'lastName' 		=> $input['lastName'],
						'email' 		=> $input['email'],
						'phone' 		=> $input['phone'],
						'phone2'		=> $input['phone2'],
						'mobile' 		=> $input['mobile'],	
						'comments' 		=> $input['comments'],
						'companyName' 	=> $input['companyName'],
						'occupation' 	=> $input['occupation'],
						'employeeType' 	=> 'W2',
						'source' 		=> $input['source'],
						'salaryLow' 	=> $input['salaryLow'],
						'salary' 		=> $input['salary'],
						'dayRate'		=> $input['dayRate'],
						'dayRateLow'	=> $input['dayRateLow'],					
						'status'		=> 'Active',
						'skillSet' 		=> $input['skillSet'],
						'address' => array(
							'address1' 	=> $input['address']['address1'],
							'address2' 	=> $input['address']['address2'],
						    'city'		=> $input['address']['city'],
						    'state' 	=> $input['address']['state'],
						    'zip' 		=> $input['address']['zip'],
						    'countryID' => $input['address']['countryID']
						),
						'willRelocate' => $input['willRelocate'],
						'description' => $input['description']					
					)
			),
			self::namespace);

		if ($res['faultstring'])
			throw new Exception($res['faultstring']);

		return true;
	}	
As you can see I am sending full DTO. the category is updated from 45 to for example:

[categoryID] => 230662

but when I go to BH web app. it shows me that there is only category Other:
screen.png
screen.png (919 Bytes) Viewed 14942 times
and then when I press edit there are 2 categories: Other and 230062. Why is not the new category (which is candidate's main category) listed there ?

Am I missing some extra parameter ??

Thanks Greg

apsmith
Site Admin
Posts: 2051
Joined: Wed Dec 31, 1969 8:00 pm

Re: Fast Find does not show API added/updated candidates

Post by apsmith » Thu Jun 17, 2010 12:20 pm

Greg,

Sorry, the means to correctly set a true category relationship is to associate the candidate to the ID.

The categoryID of 45 is just to ensure data integrity.
Andrew Smith
Director, Technical Operations
Developer Forum Admin

gokonski
User
Posts: 78
Joined: Thu Nov 13, 2008 2:21 pm
Location: Opole, PL
Contact:

Re: Fast Find does not show API added/updated candidates

Post by gokonski » Mon Jun 21, 2010 3:17 am

Ok so what happens when I am changing candidate's categoryID from 45 (Other) to 1234 (w.out using associate function) ??

Post Reply