Intereting Posts
PHP Datetime «следующая неделя среда» дает мне понедельника [PHP Предупреждение: mail (): «sendmail_from» не установлен в php.ini или пользовательский заголовок «From:» отсутствует Генерировать уникальные случайные буквенно-цифровые символы длиной 7 символов Ошибка (# 200) Пользователь не разрешил приложению выполнять это действие htmlpurifier удалить inline css Преобразование времени в формате HH: MM: SS только на секунды? Как получить пользовательский токен доступа и секрет доступа с помощью API Twitter с помощью php Как я могу написать тесты для загрузки файлов в PHP? Php.Advance еженедельный календарь на неделю Являются ли PHP включением путей относительно файла или кода вызова? Исключить исключение «DOMException» с сообщением «Ошибка запроса иерархии» Установка интерфейса API Restler yii2 – как установить десятичное значение валюты Использование Google Maps v3, PHP и Json для создания маркеров Как отправить HTML-письмо с mailgun?

Вставить кандидата в категории + BullHorn

Я пытаюсь сохранить и обновить кандидата в Bullhorn через REST API с PHP.
Я загрузил кандидата из BullHorn, и мои категории показаны следующим образом:

["categories"]=> object(stdClass)#632 (2) { ["total"]=> int(2) ["data"]=> array(0) { } } ["category"]=> object(stdClass)#654 (1) { ["id"]=> int(1123135) } 

Я вижу, что мой id равен 1123135 . Но как я могу узнать, какие именно эти категории? Я выбрал две категории в BullHorn, и мой id теперь 1123135 …. У меня есть категории, такие как « Эксперт по электронному маркетингу, наука о данных, … ».

Но как я могу обновить эти категории на основе выбранных вами вариантов?

Solutions Collecting From Web of "Вставить кандидата в категории + BullHorn"

Категории в Bullhorn похожи на большинство других объектов. Так я это делаю

 function BHGetCategoryData($entity_type, $entity_id) { $url = $_SESSION['restUrl'].'entity/'.$entity_type.'/'.$entity_id.'?BhRestToken='.$_SESSION['BhRestToken'].'&fields=id,name'; $options = array( CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => false, CURLOPT_FOLLOWLOCATION => true, CURLOPT_AUTOREFERER => true, CURLOPT_CONNECTTIMEOUT => 120, CURLOPT_TIMEOUT => 120, ); $ch = curl_init( $url ); curl_setopt_array( $ch, $options ); $data = curl_exec( $ch ); $obj = json_decode($data, true); curl_close( $ch ); return $obj; } function BHQueryCategory() { $url = $_SESSION["restUrl"]."/query/Category?where=enabled=true%20AND%20id>1&fields=id,name&orderBy=id&count=100&BhRestToken=".$_SESSION["BhRestToken"]; $options = array( CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => false, CURLOPT_FOLLOWLOCATION => true, CURLOPT_AUTOREFERER => true, CURLOPT_CONNECTTIMEOUT => 120, CURLOPT_TIMEOUT => 120, ); $ch = curl_init( $url ); curl_setopt_array( $ch, $options ); $data = curl_exec( $ch ); $obj = json_decode($data, true); return $obj; } // This dumps a list of categories var_dump(BHQueryCategory()); $entity_id= 1123135; $entity_type='Category'; // This will query one category for the name and id var_dump(BHGetCategoryData($entity_type, $entity_id)); 

Это, конечно, предполагает, что у вас есть ваш токен для отдыха и отдыха, и все, что позаботится об этом.

Из-за временных задержек при динамическом вытягивании всех ваших категорий я бы предположил, что вы загружаете полный список и заполняете его на стороне клиента, а не вызываете запрос каждый раз, когда хотите заполнить выпадающий список.

Также здесь запутанный бит. Существует «Категория», которая может быть записана как одно значение для записи кандидата. Существует также «Категории», которые являются отношениями «To-Many» и не могут быть написаны с основным объектом, его нужно вызывать отдельно. Ниже приведена функция, которая сделает это.

 function BHCreateCandidateToMany($candid,$codegroup,$codestring) { $url = $_SESSION['restUrl'].'entity/Candidate/'.$candid.'/'.$codegroup.'/'.$codestring.'?BhRestToken='.$_SESSION['BhRestToken']; echo $url; $options = array( CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_HTTPHEADER => Array("Content-Type: application/json"), CURLOPT_CUSTOMREQUEST => "PUT", CURLOPT_FOLLOWLOCATION => true, CURLOPT_AUTOREFERER => true, CURLOPT_CONNECTTIMEOUT => 120, CURLOPT_TIMEOUT => 120, ); $ch = curl_init( $url ); curl_setopt_array( $ch, $options ); $data = curl_exec( $ch ); $obj = json_decode($data, true); curl_close( $ch ); return $obj; } 

Документация находится здесь – http://developer.bullhorn.com/documentation/rest-api-1-1-update

(Пожалуйста, убирайте код по мере необходимости – просто грубый черновик, чтобы вы на своем пути)