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

# HttpRequest

> El objeto HttpRequest: envía solicitudes HTTP `application/x-www-form-urlencoded`, de texto, JSON o binarias desde un script de actividad personalizada.

`HttpRequest` envía solicitudes HTTP con contenido `application/x-www-form-urlencoded`, de texto o datos binarios a servicios externos.

<div id="properties">
  ## Propiedades
</div>

| Name                       | Tipo    | Acceso              | Descripción                                                                                                                                             |
| :------------------------- | :------ | :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Url**                    | string  | Lectura y escritura | La URL del recurso.                                                                                                                                     |
| **Method**                 | string  | Lectura y escritura | El tipo de solicitud (por ejemplo, `GET` o `POST`).                                                                                                     |
| **AuthToken**              | string  | Lectura y escritura | Token de autenticación si el servicio externo requiere autenticación.                                                                                   |
| **AuthScheme**             | string  | Lectura y escritura | Esquema de autenticación.                                                                                                                               |
| **ThrowExceptionOnFailed** | boolean | Lectura y escritura | Si es `true` (valor predeterminado), los códigos de estado de respuesta HTTP fuera del rango 200–299 generan una excepción. Consulte la nota siguiente. |
| **Timeout**                | number  | Lectura y escritura | Tiempo de espera de la solicitud en minutos. El valor predeterminado es 1 minuto.                                                                       |
| **ResponseText**           | string  | De solo lectura     | El cuerpo de la respuesta en formato de texto.                                                                                                          |
| **ResponseType**           | string  | De solo lectura     | El tipo de contenido de la respuesta (por ejemplo, `application/json`).                                                                                 |
| **Status**                 | number  | De solo lectura     | El código de estado de respuesta HTTP del servicio externo.                                                                                             |

<Note>
  Cuando `ThrowExceptionOnFailed` es `false`, no se generan excepciones para respuestas 4xx/5xx; revise `Status` para comprobar usted mismo el código de estado HTTP. Una respuesta con un código de error significa que el servicio externo está accesible y respondiendo. Los errores relacionados con la disponibilidad del servicio o con fallos de conexión siempre generan una excepción del programa, independientemente de esta propiedad; en esos casos no hay ningún código de estado HTTP disponible.
</Note>

<Note>
  Si `ThrowExceptionOnFailed` es `true` y la respuesta devuelve un código de error, la transacción se interrumpe y el mensaje de error aparece en Skill Monitor.
</Note>

<Warning>
  El valor de `Timeout` no puede superar el límite de tiempo de ejecución del script (600 segundos).
</Warning>

<div id="methods">
  ## Métodos
</div>

<div id="setheader">
  ### SetHeader
</div>

```javascript theme={null}
void SetHeader(string name, string value);
```

Establece un encabezado HTTP adicional para la solicitud. Debe llamarse una vez por encabezado.

<div id="send">
  ### Send
</div>

```javascript theme={null}
void Send();
```

Envía la solicitud HTTP.

<div id="setfilecontent">
  ### SetFileContent
</div>

```javascript theme={null}
void SetFileContent(DocumentExportResult documentExportResult, string mediaType?);
void SetFileContent(BinaryFile binaryFile, string mediaType?);
```

Inicializa un cuerpo de solicitud HTTP basado en un archivo. El tipo de contenido se detecta a partir de la extensión del archivo (por ejemplo, `application/json`, `application/pdf`). Para anularlo, pase `mediaType`.

* La primera sobrecarga envía los datos exportados (desde `Document.Exports`) como un archivo.
* La segunda sobrecarga envía datos binarios: ya sea una imagen de origen de cuando se creó la transacción o una imagen de un campo de tipo **Picture**.

<div id="setsourcefilecontent">
  ### SetSourceFileContent
</div>

```javascript theme={null}
void SetSourceFileContent(string mediaType?);
```

Inicializa una solicitud de datos binarios con la imagen de origen importada al crear la transacción. El tipo de contenido se detecta a partir de la extensión del archivo. Use `mediaType` para reemplazarlo si es necesario.

<Warning>
  `SetSourceFileContent` está obsoleto; solo accede al primer archivo de una transacción. Use [`SetFileContent`](#setfilecontent) en su lugar.
</Warning>

<div id="setstringcontent">
  ### SetStringContent
</div>

```javascript theme={null}
void SetStringContent(string content, ContentEncoding contentEncoding?, string mediaType?);
```

Inicializa un cuerpo de solicitud HTTP basado en una cadena. De forma predeterminada, usa `Content-Type: application/json` y la codificación UTF-8. Puede sustituir cualquiera de ellos mediante los parámetros opcionales.

<div id="seturlformencodedcontent">
  ### SetUrlFormEncodedContent
</div>

```javascript theme={null}
void SetUrlFormEncodedContent(any content);
```

Inicializa el cuerpo de la solicitud a partir de un objeto de JavaScript y lo codifica como `application/x-www-form-urlencoded`. El objeto debe ser un conjunto simple de pares de propiedad/valor:

```javascript theme={null}
var form = {};
form.grant_type = "password";
form.scope = "openid permissions";
form.client_id = "value of client_id";
form.client_secret = "value of client_secret";
form.password = "Password";
form.username = "User Name";
request.SetUrlFormEncodedContent(form);
```

<div id="related-topics">
  ## Temas relacionados
</div>

* [Context](/es/vantage/documentation/skill-designer/process/custom-activity/context)
* [MultipartFormDataRequest](/es/vantage/documentation/skill-designer/process/custom-activity/multi-part-form-data-request)
* [BinaryFile](/es/vantage/documentation/skill-designer/process/custom-activity/binary-file)
* [DocumentExportResult](/es/vantage/documentation/skill-designer/process/custom-activity/document-export-result)
* [ContentEncoding](/es/vantage/documentation/skill-designer/process/custom-activity/content-encoding)
* [Modelo de objetos](/es/vantage/documentation/skill-designer/process/custom-activity/object-model)
