<?php

// Include Composer autoload
include __DIR__ . "/../../../../vendor/autoload.php";
$nodeId = 'XXXXX';
// Entrez le nom de votre noeud créé par OpenWide
// Create the client
$client = new \Sitra\ApiClient\Client(['projectId' => 00, 'baseUrl' => 'http://api.sitra-tourisme.com/', 'OAuthClientId' => 'XXXXXXXXXXXXXXXXXXXXXXX', 'OAuthSecret' => 'XXXXXXXXXXXXXXXXXXXXXXX']);
/* Le fichier CSV validé doit être de la forme :
	ID_TRIP; NOM_TRIP; ID_SITRA; NOM_SITRA
	Si ce n'est pas le cas, BIEN REOORDONNER LES COLONNES dans cet ordre*/
if (($handle = fopen("/chemin/absolu/vers/le/fichier/valide/par/l/OT.csv", "r")) !== FALSE) {
    $i = 0;
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        if ($i > 0) {
            // S'il y a l'entête de colonne en première ligne, on ne la prend pas en compte
            $idTrip = intval($data[0]);
            $nameTrip = $data[1];
            $idSitra = intval($data[2]);
            $nameSitra = $data[3];
            try {
                $metadata = $client->putMetadata(['referenceId' => $idSitra, 'nodeId' => $nodeId, 'metadata' => ['general' => '{"locationId":"' . $idTrip . '","version":1}']]);
            } catch (\Sitra\ApiClient\Exception\SitraException $e) {
                echo $e->getMessage();
                echo "\n";
                echo $e->getPrevious()->getMessage();
            }
        }
        $i++;
    }
    fclose($handle);
コード例 #2
0
<?php

// Include Composer autoload
include __DIR__ . "/../vendor/autoload.php";
// Create the client
$client = new \Sitra\ApiClient\Client(['apiKey' => 'XXX', 'projectId' => 00, 'baseUrl' => 'http://api.sitra-tourisme.com/', 'OAuthClientId' => 'XXX', 'OAuthSecret' => 'XXX']);
try {
    $metadata = $client->getMetadata(['referenceId' => 123457, 'nodeId' => 'jolicode']);
    var_dump($metadata['identifiant']);
    $metadata = $client->putMetadata(['referenceId' => 123457, 'nodeId' => 'jolicode', 'metadata' => ['general' => '{"infoGenerale":"Mise à jour le ' . date('Y-m-d H:i:s') . '"}']]);
    $metadata = $client->getMetadata(['referenceId' => 123457, 'nodeId' => 'jolicode']);
    var_dump($metadata['identifiant']);
    $metadata = $client->putMetadata(['referenceId' => 123457, 'nodeId' => 'jolicode', 'metadata' => ['membres.membre_21' => '{"projet test":"Mise à jour le ' . date('Y-m-d H:i:s') . '"}']]);
    $metadata = $client->getMetadata(['referenceId' => 123457, 'nodeId' => 'jolicode', 'targetType' => 'membre', 'targetId' => 21]);
    var_dump($metadata['identifiant']);
    $metadata = $client->deleteMetadata(['referenceId' => 123457, 'nodeId' => 'jolicode', 'targetType' => 'membre', 'targetId' => 21]);
    var_dump($metadata);
    $metadata = $client->getMetadata(['referenceId' => 123457, 'nodeId' => 'jolicode', 'targetType' => 'membre', 'targetId' => 21]);
    var_dump($metadata);
    $metadata = $client->putMetadata(['referenceId' => 123457, 'nodeId' => 'jolicode', 'metadata' => ['node' => json_encode(['general' => json_encode(['toto' => true, 'foo' => 'bar']), 'membres' => [['targetId' => 111, 'jsonData' => json_encode(['foo' => 'barbar'])]]])]]);
    $metadata = $client->putMetadata(['referenceId' => 123457, 'nodeId' => 'jolicode', 'metadata' => ['membres' => '[{"targetId": 21, "jsonData": "{ \\"foo\\": \\"bar\\", \\"bar\\": 691 }" }, { "targetId": 12, "jsonData": "{ \\"bar\\": \\"foo\\" }" } ]']]);
    $metadata = $client->getMetadata(['referenceId' => 123457, 'nodeId' => 'jolicode', 'targetType' => 'membre']);
    var_dump($metadata);
} catch (\Sitra\ApiClient\Exception\SitraException $e) {
    echo $e->getMessage();
    echo "\n";
    echo $e->getPrevious()->getMessage();
}
コード例 #3
0
<?php

// Include Composer autoload
include __DIR__ . "/../vendor/autoload.php";
// Create the client
$client = new \Sitra\ApiClient\Client(['apiKey' => 'XXX', 'projectId' => 00, 'baseUrl' => 'http://api.sitra-tourisme.com/']);
try {
    /*
     * Export
     */
    // Notifications come from a $_POST from Apidae
    $exportNotification = array("statut" => "SUCCESS", "reinitialisation" => "false", "projetId" => "672", "urlConfirmation" => "http://api.sitra-tourisme.com/api/v002/export/confirmation?hash=672_20150106-1344_V4BjvT", "ponctuel" => "true", "urlRecuperation" => "http://export.sitra-tourisme.com/exports/672_20150106-1344_V4BjvT.zip");
    $exportFiles = $client->getExportFiles(['url' => $exportNotification['urlRecuperation']]);
    foreach ($exportFiles->name('objets_lies_modifies-14*') as $file) {
        var_dump($file->getRealpath());
        // If you use XML (Apidae settings)
        //$xml = simplexml_load_string($file->getContents());
        //print_r($xml);
        // If you use JSON
        // $json = \GuzzleHttp\Utils::jsonDecode($file->getContents(), true);
        // print_r($json);
    }
    $confirmation = $client->confirmExport(['hash' => $exportNotification['urlConfirmation']]);
    /*
     * Reference
     */
    $cities = $client->getReferenceCity(['query' => ['codesInsee' => ["38534", "69388", "74140"]]]);
    var_dump(count($cities));
    $elements = $client->getReferenceElement(['query' => ["elementReferenceIds" => [2, 118, 2338]]]);
    var_dump(count($elements));
    $elements = $client->getReferenceInternalCriteria(['query' => ["critereInterneIds" => [1068, 2168]]]);
コード例 #4
0
ファイル: demo.php プロジェクト: sitra-tourisme/sitra-api-php
<?php

// Include Composer autoload
include __DIR__ . "/../vendor/autoload.php";
// Create the client
$client = new \Sitra\ApiClient\Client(['apiKey' => 'XXX', 'projectId' => 00, 'baseUrl' => 'http://api.sitra-tourisme.com/']);
try {
    /*
     * Reference
     */
    $cities = $client->getReferenceCity(['query' => ['codesInsee' => ["38534", "69388", "74140"]]]);
    var_dump(count($cities));
    $elements = $client->getReferenceElement(['query' => ["elementReferenceIds" => [2, 118, 2338]]]);
    var_dump(count($elements));
    $elements = $client->getReferenceInternalCriteria(['query' => ["critereInterneIds" => [1068, 2168]]]);
    var_dump(count($elements));
    $elements = $client->getReferenceSelection(['query' => ["selectionIds" => [64, 5896]]]);
    var_dump(count($elements));
    /*
     * Object API's
     */
    $search = $client->searchObject(['query' => ["searchQuery" => "vélo"]]);
    var_dump($search['numFound']);
    $search = $client->searchObjectIdentifier(['query' => ["searchQuery" => "vélo"]]);
    var_dump($search['numFound']);
    $search = $client->searchAgendaIdentifier(['query' => ["searchQuery" => "vélo"]]);
    var_dump($search['numFound']);
    $search = $client->searchAgenda(['query' => ["searchQuery" => "vélo"]]);
    var_dump($search['numFound']);
    $search = $client->searchDetailedAgendaIdentifier(['query' => ["searchQuery" => "vélo"]]);
    var_dump($search['numFound']);
コード例 #5
0
ファイル: sso.php プロジェクト: sitra-tourisme/sitra-api-php
<?php

// Include Composer autoload
include __DIR__ . "/../vendor/autoload.php";
// Create the client
$client = new \Sitra\ApiClient\Client(['ssoRedirectUrl' => 'http://example.com/TODO', 'ssoClientId' => 'XXX', 'ssoSecret' => 'XXX']);
// Display SSO url to the client (or redirect to it):
?>

<a href="<?php 
echo $client->getSsoUrl();
?>
">Ask for auth code</a>

<?php 
try {
    if (isset($_GET['code']) && !empty($_GET['code'])) {
        // The redirect URL get a "code", we use it to ask for a token
        $token = $client->getSsoToken(['code' => $_GET['code'], 'redirect_uri' => 'http://example.com/TODO']);
        // Store the new token in the client, will be used automatically!
        $client->setAccessToken($token['scope'], $token['access_token']);
        // Now you can call SSO only methods:
        $profile = $client->getUserProfile();
        var_dump($profile);
        $permissions = $client->getUserPermissionOnObject(['id' => 123457]);
        var_dump($permissions);
    }
} catch (\Sitra\ApiClient\Exception\SitraException $e) {
    echo $e->getMessage();
    echo "\n";
    echo $e->getPrevious()->getMessage();