> ## 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.

# Création d’une méthode GET pour les dossiers

> Ajoutez une méthode GET et l’activité GetCases à votre service REST Pega afin de renvoyer tous les dossiers accessibles à l’utilisateur sous la forme d’un tableau JSON contenant les détails et les pièces jointes.

Pour créer une méthode GET pour les dossiers :

1. Créez un nouveau service REST (cliquez sur **Records → Integration Resources**, cliquez avec le bouton droit sur **Service Package**, puis cliquez sur la commande **Create** dans le menu contextuel).
2. Dans le formulaire qui s’ouvre, indiquez *Dossier* comme nom du service, *customapi* comme nom du package, *v2* comme version du package et *dossier* comme nom du **modèle d’URI**, puis cliquez sur **Create and open**.
   **Remarque :** Après avoir créé le service, assurez-vous que l’URL de la méthode de service est la suivante : *[https://Server\&#95;Name/prweb/PRRestService/customapi/v2/cases](https://Server\&#95;Name/prweb/PRRestService/customapi/v2/cases)*.
3. Dans l’onglet **Methods**, développez la méthode GET.
4. Cliquez sur l’onglet **Response** et créez deux conditions de réponse :

<table width="100%">
  <thead>
    <tr>
      <th>
        <p>
          <strong>Élément à traiter</strong>
        </p>
      </th>

      <th>
        <p>
          <strong>Valeurs des paramètres</strong>
        </p>
      </th>

      <th>
        <p>
          <strong>Champs d’en-tête</strong>
        </p>
      </th>

      <th>
        <p>
          <strong>Données du message</strong>
        </p>
      </th>
    </tr>
  </thead>

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

      <td>
        <ul>
          <li>
            Condition : <em>When</em>
          </li>

          <li>
            Nom de la condition When : <em>pxIsInternalError</em>
          </li>

          <li>
            Type de contenu : <em>application/json</em>
          </li>

          <li>
            Code d’état :<em> Param.StatusCode</em>
          </li>
        </ul>
      </td>

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

    <tr>
      <td>
        <p>Réponse de succès</p>
      </td>

      <td>
        <ul>
          <li>
            Condition : <em>Default</em>
          </li>

          <li>
            Type de contenu : <em>application/json</em>
          </li>

          <li>
            Code d’état : <em>Param.StatusCode</em>
          </li>
        </ul>
      </td>

      <td>
        <ul>
          <li>
            Nom : <em>etag</em>; Mapper depuis : <em>Clipboard</em>; Clé de mappage : <em>Param.eTag</em>
          </li>

          <li>
            Nom : <em>cache-control</em>; Mapper depuis : <em>Constant</em>; Clé de mappage : « <em>no-cache</em> »
          </li>
        </ul>
      </td>

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

          <li>
            Mapper depuis : <em>Clipboard</em>
          </li>

          <li>
            Clé de mappage : <em>Param.Response</em>
          </li>
        </ul>
      </td>
    </tr>
  </tbody>
</table>

Après avoir configuré la méthode, vous devez créer une nouvelle activité nommée *GetCases* :

1. Dans l’onglet **Parameters**, créez trois variables :
   * result de type *String*
   * currentCaseId de type *String*
   * tempResult de type *String*
2. Dans l’onglet **Steps**, procédez comme suit :
   1. Récupérez la liste de tous les dossiers accessibles à l’utilisateur actuel. Pour cela, appelez *Call pzGetCasesByFilter* et sélectionnez l’option **Pass current parameter page**. ***pzGetCasesByFilter*** écrira tous les dossiers dans *myStepPage*.
   2. Créez une étape avec la méthode *Property-Set* pour renvoyer les dossiers de *myStepPage* dans une boucle. Pour cela, ajoutez une boucle, puis sélectionnez **For each element in value list** pour cette boucle et spécifiez la propriété **myStepPage.cases**. Dans les paramètres de la méthode, définissez la variable Param.currentCaseID sur *myStepCase.cases(\<CURRENT>).ID*.
   3. Créez une étape pour récupérer les détails du dossier. Pour cela, saisissez *Call GetCaseDetails* dans l’onglet **Method**, puis saisissez *myStepPage.cases(\<CURRENT>)* dans **Step Page**. Définissez le paramètre **caseID** sur *Param.currentCaseID*.
      **Remarque :** Les instructions de création d’une activité GetCaseDetails sont fournies [ci-dessous](#getcasedetails).
   4. Convertissez le résultat obtenu à l’étape précédente en chaîne de caractères et écrivez-le dans la variable Param.tempResult.
   5. Pour générer une chaîne JSON valide, ajoutez une virgule au paramètre Param.result (c’est-à-dire *Param.result + “,”*). Dans le champ **When**, ajoutez les deux conditions suivantes :
      * Si *@IsParamBlank(tools,"result")* est *true*, sélectionnez Skip Step ; si le paramètre est *false*, sélectionnez Continue Whens.
      * Si *@IsParamBlank(tools,"tempResult")* est *true*, sélectionnez Skip Step ; si le paramètre est *false*, sélectionnez Continue Whens.
   6. Vérifiez si **tempResult** est vide. Si ce n’est pas le cas, ajoutez la valeur de **tempResult** au résultat principal (c’est-à-dire *Param.result + Param.tempResult*).
   7. Créez la réponse finale **"\["+Param.result+"]"** et écrivez-la dans la variable Param.Response.

<a id="getcasedetails" />Pour créer une activité **GetCaseDetails** :

1. Dans l’onglet **Parameters**, créez trois variables :
   * caseID de type *String*
   * fileName de type *String*
   * listFileName de type *String*
2. Ouvrez l’onglet **Pages & Classes** et ajoutez une page nommée *Case* de la classe *Work-*.
3. Dans l’onglet **Steps**, procédez comme suit :
   1. Dans le champ **Method**, saisissez *Obj-Open-By-Handle*. Dans le champ **Step page**, ajoutez *Case*. Dans le paramètre **InstanceHandle**, saisissez *Param.caseID*.
   2. Créez une propriété *.atachments* et renseignez-la avec la liste *Case.pyAttachments*. Pour créer une propriété **attachment**, cliquez sur l’icône cible à droite, puis sur **Create and open** dans le formulaire **Create Property**. Ensuite, sélectionnez **Page List** comme type de propriété et saisissez *Link-Attachment* dans le champ **Page definition**, .
   3. Renseignez la page avec les valeurs de contenu. Dans le champ **Method**, saisissez **Page-Copy** ; dans le champ **CopyFrom**, saisissez **Case** ; et dans le champ **CopyInfo**, saisissez **.content**.
