# ADOBESIGNSEND

## Aperçu

L'application de workflow **ADOBESIGNSEND** vous permet d'envoyer un ou plusieurs documents à Adobe Sign pour signature électronique.

## Mode de fonctionnement

* L'application ADOBESIGNSEND crée une enveloppe unique et l'envoie à un ou plusieurs signataires.<br>
* Vous pouvez spécifier un ou plusieurs fichiers par action ADOBESIGNSEND. Pour ce faire, utilisez le paramètre `FILEx`, où `x` correspond au numéro de fichier (p.ex. : `FILE1`). Au moins un fichier est requis.<br>
* Vous pouvez spécifier un ou plusieurs signataires. Pour ce faire, utilisez la combinaison de `SIGNER_NAME_LIST` et `SIGNER_EMAIL_LIST`. Vous pouvez également utiliser `SIGNER_NAMEx` et `SIGNER_EMAILx`, où `x` correspond au numéro du signataire.<br>
* Vous pouvez spécifier un rôle par destinataire. Pour ce faire, selon la méthode que vous utilisez pour spécifier les signataires (avec ou sans `_LIST`), vous pouvez utiliser `SIGNER_ROLE_LIST` ou `SIGNER_ROLEx`, où `x` correspond au numéro du signataire.\
  Valeurs possibles : `SIGNER` (par défaut), `APPROVER`, `ACCEPTOR`, `CERTIFIED_RECIPIENT`, `FORM_FILLER` ou `DELEGATE_TO_SIGNER`, `DELEGATE_TO_APPROVER`, `DELEGATE_TO_ACCEPTOR`, `DELEGATE_TO_CERTIFIED_RECIPIENT`, `DELEGATE_TO_FORM_FILLER` ou`SHARE`.<br>
* Des logs d'application sont disponibles. Ceux-ci peuvent être spécifiés en définissant la valeur du paramètre `AdobeSignSendLogLevel` dans le fichier `web.config` sur `0` pour désactiver la journalisation, `1` pour les logs d'erreur, `2` pour des logs d'informations ou `3` pour les logs de débogage; la valeur par défaut est `0`.

## Configuration de l'API Adobe Sign

### Création d'une application API Adobe Sign

1. Dans l'interface d'administration Adobe Sign, ajoutez une nouvelle `API Application` puis cliquez sur **Configure OAuth for application**.<br>
2. Activez les portées ci-dessous et sélectionnez `account` sous **Modifier** pour les deux :
   * `agreement_write`
   * `agreement_read` <br>
3. Vous pouvez récupérer les `Client ID` et `Client Secret` directement depuis l'onglet de configuration.<br>
4. Insérez une adresse valide dans le champ **Redirect URI;** elle sera utile pour l'étape suivante.

<figure><img src="/files/kFXnrV80zQrE5Ztd03MS" alt=""><figcaption></figcaption></figure>

### Obtenir le jeton de rafraîchissement

Adobe Sign ne supportant pas l'authentification `client_credentials`, il est nécessaire d'utiliser un jeton de rafraîchissement afin de récupérer un `access_token` valide. Le jeton de rafraîchissement à une durée de validité de 60 jours. Ces 60 jours sont renouvelés à chaque appel d'API, ce qui signifie que lorsque vous exécutez ADOBESIGNSEND ou ADOBESIGNCHECK, la validité est prolongé de 60 jours.

#### Consentement et obtention du code à usage unique

Afin de pouvoir utiliser votre nouvelle application Adobe Sign, vous devez l'autoriser à accéder aux `scopes` définis. Vous devez executer l'URL ci-dessous dans votre navigateur :

```
<HOST_SERVER>/public/oauth?redirect_uri=<REDIRECT_URI>&client_id=<CLIENT_ID>&response_type=code&scope=agreement_read:account+agreement_write:account
```

Remplacez les informations ci-dessous par vos propres valeurs :

* `<HOST_SERVER>` : Serveur hôte de votre compte Adobe Sign. En général l'URL est composée ainsi : `https://api.naX.adobesign.com`, où `X` est l'identifiant du serveur.
* `<REDIRECT_URI>` : URL que vous avez définie dans votre application Adobe Sign.
* `<CLIENT_ID>` : Identifiant client de votre application Adobe Sign

Après avoir accordé le consentement à votre application, vous serez redirigé vers votre `REDIRECT_URI` avec un paramètre `CODE` dans l'URL.&#x20;

```
<HOST_SERVER>/public/oauth?redirect_uri=<REDIRECT_URI>&client_id=<CLIENT_ID>&response_type=code&scope=agreement_read:account+agreement_send:account 
```

Le code ainsi retourné par Adobe Sign est à usage unique et sera utilisé pour obtenir le jeton de rafraîchissement.

#### Récupération du jeton de rafraîchissement

Afin d'obtenir le jeton de rafraîchissement, exécutez la requête ci-dessous en indiquant vos valeurs :

```
curl --location --request POST '<HOST_SERVER>/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'code=<CONSENT_CODE>' \
--data-urlencode 'client_id=<CLIENT_ID>' \
--data-urlencode 'client_secret=<CLIENT_SECRET>' \
--data-urlencode 'redirect_uri=<REDIRECT_URI>' \
--data-urlencode 'grant_type=authorization_code'
```

* `HOST_SERVER` : Serveur hôte de votre compte Adobe Sign. En général l'URL est composée ainsi : `https://api.naX.adobesign.com` , où `X` est l'identifiant du serveur.
* `<CONSENT_CODE>` : Code à usage unique obtenu sur l'étape précédente ([Consentement et obtention du code à usage unique](/admin-fr/9.1/applications-de-workflow/adobe-sign/application-de-workflow-adobesignsend.md#consentement-et-obtention-du-code-a-usage-unique)).
* `<CLIENT_ID>` : Identifiant client de votre application Adobe Sign.
* `<CLIENT_SECRET>` : Clé secrète client de votre application Adobe Sign.
* `<REDIRECT_URI>` : URL que vous avez définie dans votre application Adobe Sign.

Après exécution de la requête, vous obtiendrez une valeur pour le jeton de rafraîchissement contenu dans la donnée `refresh_token`.&#x20;

{% hint style="info" %}
Si votre jeton de rafraîchissement est expiré, vous devrez effectuer les manipulations précédentes de nouveau.
{% endhint %}

## Paramètres requis

Vous pouvez utiliser l'une des configurations suivantes : avec une liste de signataires ou avec des numéros de signataires.

### Avec une liste de signataires

| **Paramètre**       | **Type** | **Direction** | **Description**                                                                                            |
| ------------------- | -------- | ------------- | ---------------------------------------------------------------------------------------------------------- |
| `SIGNER_NAME_LIST`  | TEXT     | IN            | Noms des signataires, séparés par la valeur définie dans le paramètre `DATA_SEPARATOR`                     |
| `SIGNER_EMAIL_LIST` | TEXT     | IN            | Adresses email des signataires, séparées par la valeur définie dans le paramètre `DATA_SEPARATOR`          |
| `FILEx`             | FILE     | IN            | Fichier(s) à envoyer, où `x` correspond au numéro de fichier; vous pouvez ajouter un ou plusieurs fichiers |

### Avec des numéros de signataires

| **Paramètre**   | **Type** | **Direction** | **Description**                                                                                                                    |
| --------------- | -------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `SIGNER_NAMEx`  | TEXT     | IN            | Nom(s) du ou des signataires, où `x` correspond au numéro du signataire; vous pouvez ajouter un ou plusieurs signataires           |
| `SIGNER_EMAILx` | TEXT     | IN            | Adresse(s) email du ou des signataires, où `x` correspond au numéro du signataire; vous pouvez ajouter un ou plusieurs signataires |
| `FILEx`         | FILE     | IN            | Fichier(s) à envoyer, où `x` correspond au numéro de fichier; vous pouvez ajouter un ou plusieurs fichiers                         |

## Paramètres facultatifs

### Configuration Adobe Sign

| **Paramètres**            | **Type** | **Direction** | **Description**                                                                                                                                                                                                                                                                                                                                                  |
| ------------------------- | -------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ADOBESIGN_CLIENT_ID`     | TEXT     | IN            | <p>ID client Adobe Sign<br><br>Par défaut, cette valeur provient du paramètre <code>AdobeSignClientId</code> dans le fichier <code>web.config</code>.</p>                                                                                                                                                                                                        |
| `ADOBESIGN_CLIENT_SECRET` | TEXT     | IN            | <p>Clé secrète client Adobe Sign<br><br>Par défaut, cette valeur provient du paramètre <code>AdobeSignClientSecret</code> dans le fichier <code>web.config</code>.</p>                                                                                                                                                                                           |
| `ADOBESIGN_REFRESH_TOKEN` | TEXT     | IN            | <p>Jeton de rafraîchissement de l'authentification</p><p></p><p>Par défaut, cette valeur provient du paramètre <code>AdobeSignAuthServer</code> dans le fichier <code>web.config</code>.</p><p></p><p>Pour l'obtenir référez-vous à la section <a href="/pages/-Mb7fikb2zI82INI132F#configuration-de-lapi-adobe-sign">Configuration de l'API Adobe Sign.</a></p> |
| `ADOBESIGN_HOST_SERVER`   | TEXT     | IN            | <p>Serveur hôte Adobe Sign (p.ex. :  <code><https://api.naX.adobesign.com></code>, où <code>X</code> est l'identifiant du serveur)<br></p><p>Par défaut, cette valeur provient du paramètre <code>AdobeSignHostServer</code> dans le fichier <code>web.config</code>.</p>                                                                                        |

### Général

| **Paramètres**     | **Type** | **Direction** | **Description**                                                                                                                                                                                                         |
| ------------------ | -------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DATA_SEPARATOR`   | TEXT     | IN            | <p>Séparateur utilisé pour séparer les contenus de <code>SIGNERS\_NAME\_LIST</code>, <code>SIGNERS\_EMAIL\_LIST</code> et <code>SIGNER\_ROLE\_LIST</code><br><strong>Par défaut :</strong> <code>,</code> (virgule)</p> |
| `SIGNER_ROLE_LIST` | TEXT     | IN            | Rôles des signataires, séparés par la valeur définie dans le paramètre `DATA_SEPARATOR`                                                                                                                                 |
| `SIGNER_ROLEX`     | TEXT     | IN            | Rôle(s) du ou des signataires, où `x` correspond au numéro du signataire; vous pouvez ajouter un ou plusieurs signataires                                                                                               |
| `AGREEMENT_NAME`   | TEXT     | IN            | <p>Nom de l'agrément, il sera affiché dans l'email envoyé à l'utilisateur<br><strong>Par défaut :</strong><code>WorkflowGen</code></p>                                                                                  |

### Paramètre de retour

| **Paramètre**            | **Type** | **Direction** | **Description**                                                                                                                                                                                                  |
| ------------------------ | -------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ADOBESIGN_AGREEMENT_ID` | TEXT     | OUT           | Contient l'ID de l'agrément Adobe Sign; vous pouvez utiliser cet ID dans l'application de workflow [ADOBESIGNCHECK](/admin-fr/9.1/applications-de-workflow/adobe-sign/application-de-workflow-adobesigncheck.md) |

## Exemples

### Avec liste de signataires

| **Paramètre**            | **Type** | **Direction** | **Valeur**                                     |
| ------------------------ | -------- | ------------- | ---------------------------------------------- |
| `SIGNER_NAME_LIST`       | TEXT     | IN            | `Jean Dupont,Bernard Martin`                   |
| `SIGNER_EMAIL_LIST`      | TEXT     | IN            | `jean.dupont@email.fr,bernard.martin@email.fr` |
| `SIGNER_ROLE_LIST`       | TEXT     | IN            | `APPROVER,SIGNER`                              |
| `FILE1`                  | FILE     | IN            | `contrat.pdf`                                  |
| `ADOBESIGN_AGREEMENT_ID` | TEXT     | OUT           | `xxxxx-xxxxx-xxxxx-xxxxx`                      |

### Avec numéros de signataire

| **Paramètre**            | **Type** | **Direction** | **Valeur**                |
| ------------------------ | -------- | ------------- | ------------------------- |
| `SIGNER_NAME1`           | TEXT     | IN            | `Jean Dupont`             |
| `SIGNER_NAME2`           | TEXT     | IN            | `Bernard Martin`          |
| `SIGNER_EMAIL1`          | TEXT     | IN            | `jean.dupont@email.fr`    |
| `SIGNER_EMAIL2`          | TEXT     | IN            | `bernard.martin@email.fr` |
| `SIGNER_ROLE1`           | TEXT     | IN            | `APPROVER`                |
| `SIGNER_ROLE2`           | TEXT     | IN            | `SIGNER`                  |
| `FILE1`                  | FILE     | IN            | `contrat.pdf`             |
| `ADOBESIGN_AGREEMENT_ID` | TEXT     | OUT           | `xxxxx-xxxxx-xxxxx-xxxxx` |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.workflowgen.com/admin-fr/9.1/applications-de-workflow/adobe-sign/application-de-workflow-adobesignsend.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
