> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Creación de un método GET para casos

> Agregue un método GET y la actividad GetCases a su Pega Service REST para devolver todos los casos disponibles para el usuario como un array JSON con información detallada y archivos adjuntos.

Para crear un método GET para Cases:

1. Cree un nuevo servicio REST (haga clic en **Records → Integration Resources**, haga clic con el botón derecho en **Service Package** y, a continuación, haga clic en el comando **Create** en el menú contextual).
2. En el formulario que se abre, especifique *Cases* como nombre del servicio, *customapi* como nombre del paquete, *v2* como versión del paquete y *cases* como nombre de la **URI template**, y haga clic en **Create and open**.
   **Nota:** Después de crear el servicio, asegúrese de que la URL del método de servicio sea la siguiente: *[https://Server\&#95;Name/prweb/PRRestService/customapi/v2/cases](https://Server\&#95;Name/prweb/PRRestService/customapi/v2/cases)*.
3. En la pestaña **Methods**, expanda el método GET.
4. Haga clic en la pestaña **Response** y cree dos condiciones de respuesta:

<table width="100%">
  <thead>
    <tr>
      <th>
        <p>
          <strong>Qué se procesa</strong>
        </p>
      </th>

      <th>
        <p>
          <strong>Valores de parámetros</strong>
        </p>
      </th>

      <th>
        <p>
          <strong>Campos de encabezado</strong>
        </p>
      </th>

      <th>
        <p>
          <strong>Datos del mensaje</strong>
        </p>
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        <p>pxIsInternalError</p>
      </td>

      <td>
        <ul>
          <li>
            Condición: <em>When</em>
          </li>

          <li>
            Nombre de la condición When: <em>pxIsInternalError</em>
          </li>

          <li>
            Tipo de contenido: <em>application/json</em>
          </li>

          <li>
            Código de estado:<em> Param.StatusCode</em>
          </li>
        </ul>
      </td>

      <td> </td>
      <td> </td>
    </tr>

    <tr>
      <td>
        <p>Respuesta correcta</p>
      </td>

      <td>
        <ul>
          <li>
            Condición: <em>Predeterminado</em>
          </li>

          <li>
            Tipo de contenido: <em>application/json</em>
          </li>

          <li>
            Código de estado: <em>Param.StatusCode</em>
          </li>
        </ul>
      </td>

      <td>
        <ul>
          <li>
            Name: <em>etag</em>; Asignar desde: <em>Clipboard</em>; Clave de asignación: <em>Param.eTag</em>
          </li>

          <li>
            Name: <em>cache-control</em>; Asignar desde: <em>Constant</em>; Clave de asignación: “<em>no-cache</em>”
          </li>
        </ul>
      </td>

      <td>
        <ul>
          <li>
            Description: <em>Response</em>
          </li>

          <li>
            Asignar desde: <em>Clipboard</em>
          </li>

          <li>
            Clave de asignación: <em>Param.Response</em>
          </li>
        </ul>
      </td>
    </tr>
  </tbody>
</table>

Después de configurar el método, debe crear una nueva actividad llamada *GetCases*:

1. En la pestaña **Parameters**, cree tres variables:
   * result de tipo *String*
   * currentCaseId de tipo *String*
   * tempResult de tipo *String*
2. En la pestaña **Steps**, complete los siguientes pasos:
   1. Obtenga una lista de todos los casos disponibles para el usuario actual. Para ello, llame a *Call pzGetCasesByFilter* y seleccione la opción **Pass current parameter page**. ***pzGetCasesByFilter*** escribirá todos los casos en *myStepPage*.
   2. Cree un paso con un método *Property-Set* que devuelva los casos de *myStepPage* en un bucle. Para ello, agregue un bucle y, en este bucle, seleccione **For each element in value list** y especifique la propiedad **myStepPage.cases**. En los parámetros del método, establezca la variable Param.currentCaseID en *myStepCase.cases(\<CURRENT>).ID*.
   3. Cree un paso para obtener los detalles del caso. Para ello, escriba *Call GetCaseDetails* en la pestaña **Method** y luego escriba *myStepPage.cases(\<CURRENT>)* en **Step Page**. Establezca el parámetro **caseID** en *Param.currentCaseID*.
      **Nota:** Más abajo se proporcionan instrucciones para crear una actividad [GetCaseDetails](#getcasedetails).
   4. Convierta el resultado obtenido en el paso anterior en una cadena y escríbalo en la variable Param.tempResult.
   5. Para generar una cadena JSON válida, agregue una coma al parámetro Param.result (es decir, *Param.result + “,”*). En el campo **When**, agregue las dos condiciones siguientes:
      * Si *@IsParamBlank(tools,"result")* es *true*, Skip Step; si el parámetro es *false*, Continue Whens.
      * Si *@IsParamBlank(tools,"tempResult")* es *true*, Skip Step; si el parámetro es *false*, Continue Whens.
   6. Compruebe si **tempResult** está vacío. Si no lo está, agregue el valor de **tempResult** al resultado principal (es decir, *Param.result + Param.tempResult*).
   7. Cree la respuesta final **"\["+Param.result+"]"** y escríbala en la variable Param.Response.

<a id="getcasedetails" />Para crear una actividad **GetCaseDetails**:

1. En la pestaña **Parameters**, cree tres variables:
   * caseID de tipo *String*
   * fileName de tipo *String*
   * listFileName de tipo *String*
2. Abra la pestaña **Pages & Classes** y agregue una página llamada *Case* de la clase *Work-*.
3. En la pestaña **Steps**, complete los siguientes pasos:
   1. En el campo **Method**, escriba *Obj-Open-By-Handle*. En el campo **Step page**, agregue *Case*. En el parámetro **InstanceHandle**, escriba *Param.caseID*.
   2. Cree una nueva propiedad *.atachments* y rellénela con la lista *Case.pyAttachments*. Para crear una propiedad **attachment**, haga clic en el icono de destino de la derecha y, a continuación, haga clic en **Create and open** en el formulario **Create Property**. Después, seleccione **Page List** como tipo de propiedad y escriba *Link-Attachment* en el campo **Page definition**, .
   3. Rellene la página con valores de contenido. En el campo **Method**, escriba **Page-Copy**; en el campo **CopyFrom**, escriba **Case**; y en el campo **CopyInfo**, escriba **.content**.
