ACCEDER AL PANEL DE CONTROL DESDE OTRA APLICACIÓN SIN INTRODUCIR USUARIO Y CONTRASEÑA DE NUEVO

La función auth de la API permite integrar en otra web un acceso al panel de control de Bookitit sin que el centro o profesional tenga que validarse de nuevo. Para ello crearemos un botón con una petición a una dirección de tu servidor, que se encargará de realizar una petición al método auth por API y redirigirá a la URL que le devuelve. Este método auth, devuelve una URL en caso de que la validación sea correcta o devolverá un error en caso que la validación sea incorrecta.

Supongamos que tenemos un archivo link.html que contiene un enlace hacia nuestro servidor, podría ser algo así:

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv=»Content-Type» content=»text/html; charset=UTF-8″>
</head>
<body>
<div>
<a href=»http://nuestroservidor/login.php»>Click here to login</a>
</div>
</body>
</html>

Este archivo login.php o acción de controlador, contendrá el siguiente código:

auth(«user_email», «single», «json», true);
 $oObject = json_decode($sReturn);
 $sStatus = $oObject->auth->status;
 if (strcasecmp($sStatus, «true») == 0) {
  $sUrl = $oObject->auth->authenticated_url;
  header(«Location: $sUrl»);
 }
 else {
  //error
 }

?>

Este método auth es el encargado de conectar con el webservice y devolver la url a la que se redirecciona en el caso que la validación tenga éxito.

Fíjate que una vez realizada la conexión se redirige a la url devuelta por el método auth.

$sReturn = $oRestClient->auth(«user_email», «single», «json», true);
$oObject = json_decode($sReturn);
$sStatus = $oObject->auth->status;
if (strcasecmp($sStatus, «true») == 0) {
  $sUrl = $oObject->auth->authenticated_url;
  header(«Location: $sUrl»);

De esta forma tras hacer la redirección deberías ver el panel de control de esa cuenta de Bookitit. En la versión actual no se soporte acceso al panel de una cuenta multicentro.

Todas las peticiones son devueltas con un campo “status”. Ese campo indica si la petición fue correcta o falló.

En caso de fallo se devuelve un xml o json con el siguiente formato.

En todas las llamadas se devuelve un campo status que indica el resultado de la petición. En caso de que haya un error, dependiendo de si has solicitado la petición en json o en xml se devolverá con el siguiente formato:

xml
<?xml version=’1.0′ encoding=’utf-8′?>
<auth>
<status>false</status>
<id>error id</id>
<message>error message</message>
</auth>

json
 {«auth»:
  {
  «status»:false,
   «id»:error id,
   «message»:error message
  }
 }

Si quieres saber más sobre esta función puedes acceder a la referencia completa.