En Bookitit podemos diferenciar de usuarios y clientes:

-Los usuarios son aquellos que van a tener acceso web para realizar reservas.
-Los clientes son aquellos que se crean de forma interna, por ejemplo cuando llaman por teléfono a un centro y el profesional tiene que vincular esa cita con nombres y apellidos a un cliente. Ademas no tendrán acceso web para realizar reservas.

Este método únicamente crea usuarios. Para poder crear un cliente tendrás que utilizar el método addEvent y en el mismo método introducir los datos del cliente que irá vinculado a la cita.

El método adduser tiene una serie de parámetros que serán obligados y otros opcionales. Esto lo podéis ver en la documentación del método de vuestro cliente JAVA 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:

addUser(Nombre, Email, Password, modo, seguridad_activada, teléfono (opcional), documento(opcional), dirección(opcional), campos customizados(opcional)). Los parámetros opcionales que no tengan dato, los tendréis que completar con «» si son Strings y con null si son objetos.

Es posible que en vuestra cuenta de centro de Bookitit, alguno de los campos opcionales sea obligado o tenga que ser único, como puede ser el teléfono o documento. 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. Recordad que existen usuarios y clientes, cada uno tiene identificadores diferentes pero podrían coincidir, así que si los vais a almacenar deberíais utilizar dos columnas distintas o dos tablas o algo similar que os permitiera diferenciarlos.

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

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

public static void main(String[] args) throws Exception{

CRestClient oRestClient = new CRestClient();

MessageDigest md = MessageDigest.getInstance(«MD5»);
String sPass = «testpassword»;
md.update(sPass.getBytes());
byte[] digest = md.digest();
System.out.println(digest);
StringBuffer sb = new StringBuffer();
for (byte b : digest) {
sb.append(Integer.toHexString((int) (b & 0xff)));
}

sPass = sb.toString();

String sUser = oRestClient.addUser(«username», «esasdmaaail22@user.com», sPass, «json», true, «234234234», «», «», null);
sUser=»[«+sUser+»]»;
JSONParser parser=new JSONParser();
JSONArray obj=(JSONArray) parser.parse(sUser);
HashMap hashUser=(HashMap)((JSONObject)obj.get(0)).get(«user»);
if(hashUser.get(«status»).equals(«true»)){
System.out.println((String)hashUser .get(«id»));
}
}

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.