Sistema de calendario y reservas online: API usuario social php
We use our own cookies and third cookies to improve our services and show adds according to your preferences. If you keep browsing, we asume that you accept this cookies. More information here
Cuando se crea una reserva para un usuario, este pertenece a una determinada empresa. Si queremos que ese usuario se comparta entre distintas empresas la solución es utilizar addsocialuser combinado con la función addsocialevent.

Este tipo de caso puede ser útil si tenemos una red social o portal con diferentes centros para los que queremos que se reserve con el mismo usuario y que no se cree un usuario nuevo cada vez que se hace una reserva en una empresa diferente.

Hay que recordar que ese usuario social que se añade se supone que ya estará validado en la aplicación web o red social en la que se va a reservar. Es decir primero se realizará una validación local en el site que se está reservando y una vez hecho esto se llamará a addsocialuser en caso de que sea la primera vez que reserva. Esta parte se tendrá que controlar en el lado de la aplicación que contacte con la API.

Recuerda que necesitarás tener una pareja de API keys de cuenta multicentro para poder utilizar esta función. Además tendrás que conocer las claves públicas de cada empresa para la que quieras añadir el evento y esa empresas deberán pertencer al multicentro.
 require_once("./lib/CRestClient.php");
$oRestClient = new CRestClient(); $sReturn = $oRestClient->addSocialUser("test_user_name", "234232423", "myemail@email.com", "json", true);
$oObject = json_decode($sReturn);
$sStatus = $oObject->user->status;
if (strcasecmp($sStatus, "true") == 0) {
echo $oObject->user->id;

$sReturn = $oRestClient->addSocialEvent("the_public_api_key_of_the_company_where_will_be_created", "myemail@email.com", "id_agenda", "id_service",
"2013-11-01", "2013-11-01", 540, 600, "comments",
"tittle of the appointment", "json", true);

$oObject = json_decode($sReturn);
$sStatus = $oObject->event->status;
if (strcasecmp($sStatus, "true") == 0) {
echo $oObject->event->id;
}

}
else {
//error
}

?>


No es necesario utilizar los dos métodos. En el caso anterior hemos creado el usuario y el evento. Puede haber ocasiones en las que sólo te interese crear un usuario social:
$sReturn = $oRestClient->addSocialUser("test_user_name", "234232423", "myemail@email.com", "json", true);

Esta función tiene un parámetro opcional que nos permite indicar una contraseña por defecto para ese usuario.
$sReturn = $oRestClient->addSocialUser("test_user_name", "234232423", "myemail@email.com", "json", true, md5("your_password"));

O crear un evento:
$oRestClient->addSocialEvent("the_public_api_key_of_the_company_where_will_be_created", "myemail@email.com", "id_agenda", "id_service",
"2013-11-01", "2013-11-01", 540, 600, "comments",
"tittle of the appointment", "json", true);

Si quieres ver más información sobre addSocialUser(pincha aquí para ver la referencia) o sobre addSocialEvent(pincha aquí para ver la referencia)

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'?>
<company>
<status>false</status>
<id>error id</id>
<message>error message</message>
</company>json
{"company":
{
"status":false,
"id":error id,
"message":error message
}
}


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