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

> L’objet HttpRequest permet d’envoyer, depuis un script d’activité personnalisée, des requêtes HTTP application/x-www-form-urlencoded, texte, JSON ou binaires.

`HttpRequest` envoie à des services externes des requêtes HTTP contenant des données `application/x-www-form-urlencoded`, du texte ou des données binaires.

<div id="properties">
  ## Propriétés
</div>

| Name                       | Type    | Access           | Description                                                                                                                    |
| :------------------------- | :------ | :--------------- | :----------------------------------------------------------------------------------------------------------------------------- |
| **Url**                    | string  | Lecture/écriture | L’URL de la ressource.                                                                                                         |
| **Method**                 | string  | Lecture/écriture | La méthode de requête (par exemple, `GET` ou `POST`).                                                                          |
| **AuthToken**              | string  | Lecture/écriture | Jeton d’authentification si le service externe exige une authentification.                                                     |
| **AuthScheme**             | string  | Lecture/écriture | Mode d’authentification.                                                                                                       |
| **ThrowExceptionOnFailed** | boolean | Lecture/écriture | Si `true` (par défaut), les codes d’état de réponse HTTP en dehors de 200–299 génèrent une exception. Voir la note ci-dessous. |
| **Timeout**                | number  | Lecture/écriture | Délai d’expiration de la requête, en minutes. La valeur par défaut est de 1 minute.                                            |
| **ResponseText**           | string  | Lecture seule    | Le corps de la réponse au format texte.                                                                                        |
| **ResponseType**           | string  | Lecture seule    | Le type de contenu de la réponse (par exemple, `application/json`).                                                            |
| **Status**                 | number  | Lecture seule    | Le code d’état de la réponse HTTP renvoyé par le service externe.                                                              |

<Note>
  Lorsque `ThrowExceptionOnFailed` est `false`, aucune exception n’est générée pour les réponses 4xx/5xx — vérifiez alors vous-même le code d’état HTTP dans `Status`. Une réponse avec un code d’erreur signifie que le service externe est joignable et qu’il répond. Les erreurs liées à la disponibilité du service ou aux échecs de connexion génèrent toujours une exception du programme, quelle que soit cette propriété — dans ces cas, aucun code d’état HTTP n’est disponible.
</Note>

<Note>
  Si `ThrowExceptionOnFailed` est `true` et que la réponse contient un code d’erreur, la transaction est interrompue et le message d’erreur apparaît dans Skill Monitor.
</Note>

<Warning>
  La valeur `Timeout` ne peut pas dépasser la limite de durée d’exécution du script (600 secondes).
</Warning>

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

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

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

Définit un en-tête HTTP supplémentaire pour la requête. Appelez cette méthode une fois par en-tête.

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

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

Envoie la requête HTTP.

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

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

Initialise un corps de requête HTTP à partir d’un fichier. Le type de contenu est déterminé à partir de l’extension du fichier (par exemple, `application/json`, `application/pdf`). Pour le remplacer, transmettez `mediaType`.

* La première surcharge envoie les données exportées (depuis `Document.Exports`) sous forme de fichier.
* La seconde surcharge envoie des données binaires — soit l’image source utilisée lors de la création de la transaction, soit une image provenant d’un champ de type **Picture**.

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

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

Initialise une requête avec des données binaires à partir de l’image source importée lors de la création de la transaction. Le type de contenu est déterminé à partir de l’extension du fichier. Remplacez-le par `mediaType` si nécessaire.

<Warning>
  `SetSourceFileContent` est obsolète — cette méthode accède uniquement au premier fichier d’une transaction. Utilisez plutôt [`SetFileContent`](#setfilecontent).
</Warning>

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

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

Initialise un corps de requête HTTP basé sur une string. Par défaut, `Content-Type: application/json` et l’encodage UTF-8 sont utilisés. Vous pouvez remplacer l’un ou l’autre à l’aide des paramètres optionnels.

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

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

Initialise le corps de la requête à partir d’un objet JavaScript et l’encode au format `application/x-www-form-urlencoded`. L’objet doit être un simple ensemble de paires propriété-valeur :

```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">
  ## Rubriques associées
</div>

* [Context](/fr/vantage/documentation/skill-designer/process/custom-activity/context)
* [MultipartFormDataRequest](/fr/vantage/documentation/skill-designer/process/custom-activity/multi-part-form-data-request)
* [BinaryFile](/fr/vantage/documentation/skill-designer/process/custom-activity/binary-file)
* [DocumentExportResult](/fr/vantage/documentation/skill-designer/process/custom-activity/document-export-result)
* [ContentEncoding](/fr/vantage/documentation/skill-designer/process/custom-activity/content-encoding)
* [Modèle objet](/fr/vantage/documentation/skill-designer/process/custom-activity/object-model)
