Skip to content

Instantly share code, notes, and snippets.

@erichnascimento
Last active August 29, 2015 14:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save erichnascimento/568289cfb5a6ef6d13a7 to your computer and use it in GitHub Desktop.
Save erichnascimento/568289cfb5a6ef6d13a7 to your computer and use it in GitHub Desktop.
Exemplo de consumo do webservice do Selecty via PHP/JSON
#!/usr/bin/env php
<?php
/**
* Exemplo de consumo Selecty webservices
*
* @author Erich Nascimento <erich@youse.com.br>
* @copyright Youse Technologies
*/
// URL Base
$base = 'http://globalempregos.selecty.com.br/ws/amfphp/json.php';
// URL do serviço de autenticação
$authenticationService = 'system.youcloud.AuthenticationService.authenticationHost';
$paramHostName = 'globalempregos.selecty.com.br';
//
// Invoca o serviço de autenticação e armazena a chave de acesso
//
echo "Autenticando na plataforma...\n";
$authKey = file_get_contents(
$base . '/' .
$authenticationService . '/' .
$paramHostName
);
// Como é um JSON, o mesmo DEVE ser decodificado
$authKey = json_decode($authKey);
echo "A chave de acesso dada foi: $authKey \n";
echo "\n";
echo "\n";
//
// Invoca o serviço de estatística de vagas
// Repare que precisamos do $authKey
//
// URL do serviço de estatística de vagas
$statisticService = 'hr.CurriculumWebService.getVacancyStatistics';
// Pode ser: "area", "city" ou "occupation"
$param1 = 'city';
// Pode ser "emprego", "estagio" ou "null"
$param2 = 'emprego';
echo "\n";
// Invoca o serviço de autenticação e armazena a chave de acesso
echo "Obtendo a estatistica de vagas por cidade ($param1, $param2)...\n";
$statistics = file_get_contents(
$base . '/' .
$statisticService . '/' .
$param1 . '/' .
$param2 . '/?' .
'authKey=' . urlencode($authKey)
);
// Decodifica a string JSON
$statistics = json_decode($statistics);
$totalVacancies = 0;
foreach ($statistics as $value)
{
echo sprintf("\n%s (%s)", $value->label, $value->quantity);
// Incrementa o totalizador de vagas
$totalVacancies+=$value->quantity;
}
echo sprintf("\n\nTotal de vagas por cidade: %s vagas\n", $totalVacancies);
echo "\n";
echo "\n";
//
// Invoca o serviço que obtem as vagas
// Repare que precisamos do $authKey
//
// URL do serviço de obtenção de vagas
$vacancyService = 'hr.CurriculumWebService.getVacanciesByCriteria';
// O filtro desejado
$param1 = '{"_tag": "emprego", "city": "São Paulo"}';
// Total de registros por requisição
$param2 = 10;
// Offset (página)
$param3 = 0;
// Invoca o serviço de autenticação e armazena a chave de acesso
echo "\nObtendo vagas que sejam da área de TI ($param1)...\n";
$itVacancies = file_get_contents(
$base . '/' .
$vacancyService . '/' .
urlencode($param1) . '/' .
$param2 . '/' .
$param3 . '/?' .
'authKey=' . urlencode($authKey)
);
// decodifica o resultado
$itVacancies = json_decode($itVacancies);
echo sprintf("\nListando as primeiras %d vagas encontradas: \n", count($itVacancies));
foreach ($itVacancies as $value)
echo sprintf("\n%d vaga(s) para %s em %s - %s", $value->totalVacancies, $value->occupation, $value->city, $value->state);
echo "\n";
echo "\n";
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment