En Bookitit podemos diferenciar clientes con acceso web o sin acceso web:

 

– Los clientes con acceso web pueden realizar reservas online desde el widget.
– Los clientes sin acceso web son aquellos que se crean de forma interna desde el Listado de clientes o desde el calendario online al crear una cita o reserva. Por ejemplo cuando llaman por teléfono a un centro y el profesional tiene que vincular esa cita con los datos de un cliente. Estos clientes no pdorán realizar reservas online a menos que se les active el acceso web desde el Listado de clientes.

 

El método addClient tiene una serie de parámetros que serán obligados y otros opcionales. Esto se puede ver en la documentación del método de vuestro cliente PHP descargado. Los atributos que son opcionales irán marcados con el texto (optional). El orden de los parámetros y la obligatoriedad quedaría de la siguiente forma:

 

addClient($p_sWebaccess (opcional), $p_sMode, $p_bSecure, $p_sPassword (opcional), $p_sEmail (opcional), $p_sCellphone (opcional), $p_sInternationalCode (opcional), $p_sDocument (opcional), $p_sName (opcional), $p_sAddress (opcional), $p_sPhone (opcional), $p_someCustomFields = array() (opcional))

 

Es posible que en vuestra cuenta de centro de Bookitit, alguno de los campos opcionales sea obligado o tenga que ser único si el acceso web está configurado a True, como puede ser el móvil o email. Esto dependerá de la configuración de vuestra cuenta en Bookitit. Si esto ocurre podréis ver el mensaje de error cuando estéis haciendo la integración.

 

El método devuelve un identificador de usuario que tendréis que almacenar.

 

Para actualizar un usuario podéis utilizar el método updateClient que es muy similar y está documentado en el cliente PHP. Para ello necesitaréis enviarle el identificador almacenado anteriormente y los datos de los campos que se quieran actualizar. Para el uso de esta función no se dispone de ejemplo en estos tutoriales, pero existe documentación en el cliente PHP que os habréis descargado.

 

La forma de utilizar esta función de la API es la siguiente:

 

require_once(«./lib/CRestClient.php»);
$oRestClient = new CRestClient();

 

$sClient = $oRestClient->addClient(true, «json», true,»fd19u2b0cc14531e4fe123359dd96d19″,»client@email.com», «123456789», «+34″,»», «Client_name», «», «», «», «»);
$oObject = json_decode($sClient);
$sStatus = $oObject->client->status;
if (strcasecmp($sStatus, «true») == 0) {
$oClient = $oObject->client;
$iIdClient = $oClient->id;
echo $iIdClient;
}
?>

 

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′?>
<services>
<status>false</status>
<id>error id</id>
<message>error message</message>
</services>

 

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

 

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