> ## 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 REST de servicio

> Cree un método POST de Pega Service REST para exportar archivos a un caso: cree el paquete de servicio, agregue el rol PegaAPI y defina las condiciones de respuesta.

Primero, debe crear un paquete de servicio:

1. Haga clic en la pestaña **Records** de la izquierda, expanda **Integration Resources**, haga clic con el botón derecho en **Service Package** y seleccione **Create** en el menú contextual.

2. En el formulario **Create Service Package**, escriba *customapi* en el campo **Service Package Name**. Proporcione una descripción del paquete en el campo **Short description** y haga clic en **Create and open**.

3. En el formulario **Edit Service Package**, especifique un grupo de acceso en el campo **Service access group** (el formato del grupo es *\<Application\_name>:\<Access group>*).
   **Nota:** Para ver la lista de grupos de acceso disponibles, haga clic en la pestaña **Records** de la izquierda y vaya a **Security → Access Group**.

4. Haga clic en **Save**.

A continuación, debe agregar un nuevo rol al grupo de acceso para que los usuarios puedan acceder a la Web API:

1. Vaya al grupo de acceso recién creado haciendo clic en **Records → Security → Access Group → ABBYYFC:Administrators/ABBYYFC:Users**.
2. En el campo **Available roles**, agregue el rol *PegaRULES:PegaAPI*.

Ahora debe crear un nuevo servicio:

1. Haga clic en la pestaña **Records** de la izquierda, expanda **Integration-Services**, haga clic con el botón derecho en **Service REST** y seleccione **Create** en el menú contextual.
2. En el formulario que se abre, especifique lo siguiente:
   * Nombre del servicio: *files*
   * Nombre del paquete de servicio: *customapi*
   * Plantilla de URI: *cases/\{id}/files/\{name}*
   * Versión del servicio: *v2*
3. Haga clic en **Create and open**.
4. Haga clic en la pestaña **Service** y escriba *Pega-API-CaseManagement* en el campo **Pega class**. En la sección **URL path parameters**, escriba *Param.CaseId* en la columna **Map to Key** para el parámetro **Id**. A continuación, escriba *Param.FileName* para el parámetro **name**.
5. Haga clic en la pestaña **Methods**. Expanda el método POST y, en la pestaña **Request**, especifique lo siguiente para los campos **Datos del mensaje**:
   * Description: *Request Data*
   * Map to: *Clipboard*
   * Map to key: *Param.Request*
6. <a id="response" />Haga clic en la pestaña **Response** y cree tres condiciones de respuesta:

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

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

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

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

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

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

          <li>
            Nombre de 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>
          <strong>pxIsErrorResponse</strong>
        </p>
      </td>

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

          <li>
            Nombre de When: <em>pxIsErrorResponse</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>
        <ul>
          <li>
            Descripción: <em>Response</em>
          </li>

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

          <li>
            Mapear desde la clave: <em>Param.Response</em>
          </li>
        </ul>
      </td>
    </tr>

    <tr>
      <td>
        <p>Respuesta de éxito</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>
            Nombre: <em>location</em>: Mapear desde: <em>Clipboard</em>; Mapear desde la clave: <em>Param.Location</em>
          </li>

          <li>
            Nombre: <em>etag</em>; Mapear desde: <em>Clipboard</em>; Mapear desde la clave: <em>Param.eTag</em>
          </li>
        </ul>
      </td>

      <td>
        <ul>
          <li>
            Descripción: <em>Response</em>
          </li>

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

          <li>
            Mapear desde la clave: <em>Param.Response</em>
          </li>
        </ul>
      </td>
    </tr>
  </tbody>
</table>

<Warning>
  Asegúrese de que la URL del método del servicio sea la siguiente: *[https://Server\&#95;Name/prweb/PRRestService/customapi/v2/cases/\&#123;id\&#125;/files/\&#123;name\&#125](https://Server\&#95;Name/prweb/PRRestService/customapi/v2/cases/\&#123;id\&#125;/files/\&#123;name\&#125);.* De lo contrario, el conector devolverá
  un error cuando el usuario intente exportar un archivo a Pega.
</Warning>
