Sistema de agendas y reservas online: API servicios java
Usamos cookies propias y de terceros para mejorar nuestros servicios y mostrar publicidad según tus preferencias. Si continúas navegando, consideramos que aceptas su uso. Más información aquí
Para obtener los servicios que has creado en tu centro simplemente tendrás que utilizar el método getservices.

Para ello utilizando de nuevo la clase CRestClient:

public static void main(String[] args) throws Exception{
  CRestClient oRestClient = new CRestClient();
  String sServices = oRestClient.getServices("json", true);

  sServices="["+sServices+"]";
  JSONParser parser=new JSONParser();
  JSONArray obj=(JSONArray) parser.parse(sServices);
  HashMap hashServices=(HashMap)((JSONObject)obj.get(0)).get("services");
  if(hashServices.get("status").equals("true")){
   hashServices.remove("status");
   Iterator it = hashServices.entrySet().iterator();
   while(it.hasNext()) {
    Map.Entry e = (Map.Entry)it.next();
    System.out.println(e.getKey());
    System.out.println(e.getValue());
   }
  }
  else{
   //error
  }

  System.out.println(sServices);
}

El valor devuelto en $sServices tras la llamada a getServices es:

{"services":{"0":{"id":"bkt17226","name":"Servicio Masaje","duration":"45","price":"30","price_no_prepay":null,"prepay":"0","public":"1","updated":"2013-09-15 13:11:16","synchro_id":null},"1":{"id":"bkt17237","name":"Servicio Corte","duration":"600","price":"10","price_no_prepay":"20","prepay":"1","public":"1","updated":"2013-09-15 13:01:07","synchro_id":null},"status":"true"}}

Si os fijais tras la llamada a getservices se utiliza la librería simple json para poder acceder de forma cómoda a los datos. Esta librería tenéis que descargarla de aquí (link a http://code.google.com/p/json-simple/)

sServices="["+sServices+"]";
JSONParser parser=new JSONParser();

Todas las peticiones son devueltas con un campo “status”. Ese campo indica si la petición fué 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.