Formatos de respuesta

La API REST de Targetprocess admite formatos de respuesta XML y JSON. El formato predeterminado es XML.

Hay dos opciones para configurar el formato de respuesta:

Defina el formato sobre la marcha mediante el parámetro URL format :

/api/v1/UserStories/35429?format=json
/api/v1/UserStories/35429?format=xml

Utilice HTTP el encabezado Accept para especificar el formato de respuesta. Por ejemplo, para recuperar la respuesta en JSON:

GET /api/v1/UserStories/ HTTP/1.1
Host: localhost
Accept: application/json

XML

Todos los campos, excepto Id y Nombre, se devuelven como elementos xml. Los campos Id y Nombre se devuelven como atributos. Si un campo es nulo, el elemento xml correspondiente tendrá el atributo «nil» establecido en «true». El formato XML utiliza la norma ISO 8601 para el formato de fecha.
<UserStory Id="376" Name="CRUD operations">
 <Description nil="true" />
 <CreateDate>2011-09-01T18:20:35</CreateDate>
</UserStory>

JSON

El formato JSON utiliza el formato

"/Date(1198908717056+0300)/"

donde el número es el número de milisegundos transcurridos desde el 1 de enero de 1970.
{
 "Id": 376,
 "Name": "CRUD operations",
 "Description": null,
 "CreateDate": "/Date(1314890435000+0300)/"
}

JSONP

La API REST de Targetprocess es compatible con el patrón JSONP. Para devolver el JSON rellenado con tu callback, utiliza el callback=functionName parámetro de consulta.
/api/v1/UserStories/35429?format=json&callback=parseJson
parseJson({
 "Id": 376,
 "Name": "CRUD operations",
 "Description": null,
 "CreateDate": "/Date(1314890435000+0300)/"
});
Aquí hay un ejemplo con la ayuda de jQuery. Extraemos todos los proyectos y mostramos sus nombres.
$.getJSON("/api/v1/projects?&format=json&callback=?", buildProjects);
function buildProjects(data) {
  var projectNames = "";
  for (i = 0; i < data.Projects.Items.length; i++) {
    if (data.Projects.Items[i]) {
      projectNames += data.Projects.Items[i].Name;
    }
  }
  alert(projectNames);
}