CREAR CUENTAS DE EMPRESA DESDE UNA CUENTA MULTICENTRO

Bookitit ofrece la posibilidad de gestionar varias cuentas de centros de forma simultánea. Para ello debes conseguir una cuenta multicentro poniéndote en contacto con nosotros aquí(link a la página de contacto). Con una cuenta multicentro podrás crear empresas relacionadas con esa cuenta multicentro. Este tipo de cuenta puede ser útil por ejemplo para cadenas de tiendas o para webs que gestionen muchos profesionales y quieran poder crear empresas para dar acceso a sus profesionales a Bookitit.

Para ello podemos utilizar la función addcompany de la API. Esta función permitirá añadir una empresa y vincularla a la cuenta multicentro que dispongamos. Recuerda que necesitarás tener una pareja de API keys de cuenta multicentro para poder utilizar esta función.

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 sCompany = oRestClient.addCompany(«my_company»,»6023698″,»552266″,»email_user»,sPass,»2013-01-01″,0,»json»,true);
 sCompany=»[«+sCompany+»]»;
 JSONParser parser=new JSONParser();
 JSONArray obj=(JSONArray) parser.parse(sCompany);
 HashMap hashComp = (HashMap)((JSONObject)obj.get(0)).get(«company»);
 if(hashComp .get(«status»).equals(«true»)){
  System.out.println((String)hashComp .get(«id»));
  System.out.println((String)hashComp .get(«public»));
  System.out.println((String)hashComp .get(«private»));
 }
}

Si el email de la cuenta que estamos intentando dar de alta ya existiera para ese multicentro, devolverá lo mismo que si se creara el centro(id, public key, private key).

En cambio si el email de la cuenta ya existe para otra cuenta multicentro o en el sistema, devolverá un error indicando que el email ya existe y no se podrá crear la empresa.

Estos parámetros devueltos los podemos guardar en nuestra base de datos. Además del id, obtendremos las claves pública y privada de acceso. Se recomienda guardar estas claves con algún tipo de algoritmo simétrico.

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.