Scaricatelo da https://github.com/Crowdhandler/crowdhandler-php-sdk 
Include esempi di utilizzo.

SDK PHP di CrowdHandler

SDK PHP per interagire con le API pubbliche e private di CrowdHandler. Funzionalità estese per il controllo e l'accodamento degli utenti

Istanziare un client API pubblico

$api = new CrowdHandler\PublicClient($yourPublicKey);

Istanziare un nuovo oggetto GateKeeper

dettagli della richiesta impliciti (PHP classico)

$gatekeeper = new CrowdHandler\GateKeeper($api);

La classe GateKeeper è un controllore che interagisce con la richiesta dell'utente e con l'API CrowdHandler e intraprende le azioni appropriate.

utilizzando la richiesta PSR7


$Richiesta = nuova Interfaccia richiesta server;
$gatekeeper = new CrowdHandler\GateKeeper($api, request);

Il GateKeeper ispeziona i superglobali per url, ip, agent e così via. Ma se si preferisce, o se il framework lo preferisce, si può passare una richiesta PSR.

Opzioni

Modalità di debug

$gatekeeper->setDebug(true);

Registrerà alcune azioni nel registro degli errori di PHP e salterà anche i reindirizzamenti, in modo da poter vedere cosa sta succedendo senza essere continuamente reindirizzati. Ispezione $gatekeeper->getRedirectUrl() per vedere dove sareste stati reindirizzati.

Ignorare gli URL

$gatekeeper->setIgnoreUrls($regexp);

Per impostazione predefinita, le risorse comuni (png jpg ecc.) saranno escluse dai controlli API, ricevendo una promozione automatica. Se si desidera, è possibile passare una propria espressione regolare. Questa sostituirà la RegExp esistente, quindi sarà necessario incorporare gli asset, se necessario.

Sala d'attesa a doppia mandata

$gatekeeper->setSafetyNetSlug('yourslug');

Per impostazione predefinita, se una chiamata API non va a buon fine o se si riceve una risposta malformata, si viene reindirizzati alla sala d'attesa definitiva di CrowdHandler finché l'API non risponde con ulteriori informazioni. Se si preferisce indirizzare a una propria sala d'attesa nota in queste circostanze (raccomandato), è possibile impostare lo slug qui.

Andare per la propria strada

$gatekeeper->setToken($_SESSION['token']);

Per impostazione predefinita, GateKeeper ispeziona e imposta i cookie per conservare la sessione degli utenti con CrowdHandler sul proprio sito. Se si desidera gestire la sessione in un altro modo, è possibile impostare il token autonomamente.

Il rilevamento IP è sbagliato? Impostatelo voi stessi

$gatekeeper->setIP($_SERVER['X-MY-WEIRD-LOADBALANCER-FORWARDS-THE-REAL-IP-LIKE-THIS']);

Tracciare l'IP dell'utente dovrebbe essere una cosa semplice, ma in ambienti con bilanciamento del carico o cloud hosting, a volte si ottiene l'IP del bilanciatore di carico invece dell'IP dell'utente. GateKeeper tenta di rilevare gli schemi più comuni per l'IP, compresi quelli del bilanciatore di carico, ma se la vostra configurazione è più esotica, è possibile ignorare ciò che rileva impostando esplicitamente. È importante tracciare l'IP in modo accurato. Se lo stesso utente viene tracciato tramite due IP, potrebbe essere bloccato erroneamente o contemporaneamente bloccato e non bloccato, a seconda che sia in attesa o in fase di transazione.

Controllare la richiesta corrente

$gatekeeper->checkRequest();

È il cuore della classe. Esamina la richiesta dell'utente, effettua un controllo con l'API e recupera un risultato che indica se all'utente deve essere concesso l'accesso o se deve essere mandato in una sala d'attesa.

Impostare il cookie

Automatico

$gatekeeper->setCookie();

Ora si imposta il cookie in modo che l'utente porti con sé il proprio token a ogni richiesta. Questo è importante, perché se il token non può essere controllato, ne verrà emesso uno nuovo, con il rischio che un utente promosso venga mandato in una sala d'attesa.

Andare per la propria strada

$_SESSION['ch-id'] = $gatekeeper->result->token;

Se non si vuole usare il cookie standard, si può fare a modo proprio. NB: non è consigliabile utilizzare la sessione PHP per memorizzare il token, poiché in genere si esaurisce dopo 20 minuti. Un utente potrebbe rimanere in una sala d'attesa per ore e poi provare a selezionare un URL sul vostro sito in una nuova scheda, il che potrebbe far sì che gli venga assegnata una nuova posizione in fondo alla coda. Per questo motivo è preferibile un cookie di sessione o permanente.

Reindirizzare l'utente se deve aspettare

Automatico

$gatekeeper->redirectIfNotPromoted()

Se l'utente è in attesa, verrà inviato alla sala d'attesa corretta. Non è necessario effettuare un controllo condizionale.

Fai da te

if (!$gatekeeper->result->promoted) {
    header('location: '.$gatekeeper->getRedirectUrl(), 302);
    exit;    
}

Se si vuole fare un controllo condizionale, questo è il controllo che si deve fare e come si può trovare l'URL a cui reindirizzarli.

Istanziare un client API privato

$api = new CrowdHandler\PrivateClient($yourPrivateKey);

Recuperare un array di oggetti

Tutti

$rs = $api->rooms->get();

Con i parametri

$rs = $api->rooms->get(['domainID'=>'dom_y0urk3y']);

Iterare

foreach($rs as $room) print $room;

Recuperare un oggetto

$camera = $api->rooms->get('room_your1d');

Aggiornare un oggetto

$api->domains->put('dom_y0ur1d', ['rate'=>50, 'autotune'=>true]);

Pubblicare un oggetto

$api->templates->post(['name'=>'My Template', 'url'=>'https://mysite.com/wait.html']);

Eliminare un oggetto

$api->gruppi->cancella('grp_y0ur1d')

Ulteriori informazioni

Base di conoscenze e API

https://www.crowdhandler.com

e-mail

support@crowdhandler.com