# Application de workflow DOCAPOSTESEND

## Aperçu

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

## Mode de fonctionnement

* L'application DOCAPOSTESEND crée une enveloppe unique et l'envoie à un ou plusieurs signataires.<br>
* Vous pouvez spécifier un ou plusieurs fichiers par action DOCAPOSTESEND. 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_FIRSTNAME_LIST` ,`SIGNER_LASTNAME_LIST`et `SIGNER_EMAIL_LIST`. Vous pouvez également utiliser `SIGNER_FIRSTNAMEx` ,`SIGNER_LASTNAMEx`et `SIGNER_EMAILx`, où `x` correspond au numéro du signataire.<br>
* Vous pouvez spécifier un type de signature par destinataire. Pour ce faire, selon la méthode que vous utilisez pour spécifier les signataires (avec ou sans `_LIST`), vous pouvez utiliser `SIGNATURE_TYPE_LIST` ou `SIGNATURE_TYPEx`, où `x` correspond au numéro du signataire.\
  Valeurs possibles : `OTP`(défaut), `PAD`, `TOKEN`, `CONSENT_PROOF` ou `IDENTITY`.<br>
* Des logs d'application sont disponibles. Ceux-ci peuvent être spécifiés en définissant la valeur du paramètre `DocaposteSendLogLevel` 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`.

## 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_FIRSTNAME_LIST` | TEXT     | IN            | Prénoms des signataires, séparés par la valeur définie dans le paramètre `DATA_SEPARATOR`                  |
| `SIGNER_LASTNAME_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_FIRSTNAMEx` | TEXT     | IN            | Prénom(s) du ou des signataires, où `x` correspond au numéro du signataire; vous pouvez ajouter un ou plusieurs signataires        |
| `SIGNER_LASTNAMEx`  | 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 Docaposte

| **Paramètres**                       | **Type** | **Direction** | **Description**                                                                                                                                                                           |
| ------------------------------------ | -------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DOCAPOSTE_USERNAME`                 | TEXT     | IN            | <p>Nom d'utilisateur Docaposte<br><br>Par défaut, cette valeur provient du paramètre <code>DocaposteUsername</code> dans le fichier <code>web.config</code>.</p>                          |
| `DOCAPOSTE_PASSWORD`                 | TEXT     | IN            | <p>Mot de passe Docaposte<br><br>Par défaut, cette valeur provient du paramètre <code>DocapostePassword</code> dans le fichier <code>web.config</code>.</p>                               |
| `DOCAPOSTE_HOST_SERVER`              | TEXT     | IN            | <p>Serveur hôte Docaposte</p><p></p><p>Par défaut, cette valeur provient du paramètre <code>DocaposteHostServer</code> dans le fichier <code>web.config</code>.</p>                       |
| `DOCAPOSTE_OFFER_CODE`               | TEXT     | IN            | <p>Code de l'offre Docaposte<br></p><p>Par défaut, cette valeur provient du paramètre <code>DocaposteOfferCode</code> dans le fichier <code>web.config</code>.</p>                        |
| `DOCAPOSTE_ORGANIZATIONAL_UNIT_CODE` | TEXT     | IN            | <p>Code de l'organisation Docaposte</p><p></p><p>Par défaut, cette valeur provient du paramètre <code>DocaposteOrganizationalUnitCode</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\_FIRSTNAME\_LIST</code>,<code>SIGNERS\_LASTNAME\_LIST</code>, <code>SIGNERS\_EMAIL\_LIST</code> et <code>SIGNER\_TYPE\_LIST</code><br><strong>Par défaut :</strong> <code>,</code> (virgule)</p>                                                                                                          |
| `SIGNER_TYPE_LIST` | TEXT     | IN            | <p>Type de signature des signataires, séparés par la valeur définie dans le paramètre <code>DATA\_SEPARATOR</code><br><br><strong>Valeurs possibles :</strong></p><ul><li><code>OTP</code>(par défaut)</li><li><code>PAD</code></li><li><code>TOKEN</code></li><li><code>CONSENT\_PROOF</code></li><li><code>IDENTITY</code></li></ul>                                     |
| `SIGNER_TYPEX`     | TEXT     | IN            | <p>Type de signature du ou des signataire(s), où <code>x</code> correspond au numéro du signataire; vous pouvez ajouter un ou plusieurs signataires<br></p><p><strong>Valeurs possibles :</strong></p><ul><li><code>OTP</code>(par défaut)</li><li><code>PAD</code></li><li><code>TOKEN</code></li><li><code>CONSENT\_PROOF</code></li><li><code>IDENTITY</code></li></ul> |
| `CUSTOM_REFERENCE` | TEXT     | IN            | <p>Référence fournisseur</p><p></p><p>Le contenu de ce paramètre peut permettre au fournisseur d'identifier la transaction de son côté avec par exemple une valeur propre à son domaine métier (p.ex. : numéro de dossier client).<br><strong>Par défaut :</strong><code>WorkflowGen</code></p>                                                                            |
| `TEST_MODE`        | TEXT     | IN            | <p>Indique si la transaction est une transaction de TEST (<code>Y</code> ou <code>N</code>)</p><p><strong>Par défaut :</strong> <code>N</code></p>                                                                                                                                                                                                                         |
| `EMAIL_SUBJECT`    | TEXT     | IN            | <p>Sujet de l'email qui sera envoyé aux signataires</p><p><strong>Par défaut :</strong> <code>Please sign the document sent from WorkflowGen</code></p>                                                                                                                                                                                                                    |
| `EMAIL_FROM`       | TEXT     | IN            | <p>Nom de domaine de l'adresse email qui sera utilisée pour l'envoi de l'email aux signataires</p><p><strong>Par défaut :</strong> <code>do-not-reply</code></p>                                                                                                                                                                                                           |
| `EMAIL_BODY`       | FILE     | IN            | Contenu de l'email à envoyer aux signataires (voir la section [Personnalisation du corps de l'email](#personnalisation-du-corps-demail))                                                                                                                                                                                                                                   |

### Paramètres de retour

| **Paramètre**                | **Type** | **Direction** | **Description**                                                                                                                                                                                                         |
| ---------------------------- | -------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DOCAPOSTE_TRANSACTION_ID`\` | TEXT     | OUT           | Contient l'ID de la transaction Docaposte; vous pouvez utiliser cet ID dans l'application de workflow [DOCAPOSTECHECK](https://docs.workflowgen.com/admin-fr/8.4/application-de-workflow-docapostecheck)                |
| `DOCAPOSTE_DOCUMENT_NAMES`   | TEXT     | OUT           | Contient les noms des documents envoyés à Docaposte; vous pouvez utiliser ces valeurs dans l'application de workflow [DOCAPOSTECHECK](https://docs.workflowgen.com/admin-fr/8.4/application-de-workflow-docapostecheck) |

### Personnalisation du corps de l'email

Il est possible de personnaliser le contenu du corps de l'email envoyé au signataire. Le modèle doit contenir la balise `<DOCAPOSTE_SIGN_URL>`, qui sera remplacée par le lien permettant au signataire d'effectuer leur signature.

**Valeur par défaut :**

```markup
<!DOCTYPE html>
<html lang=""en"" xmlns=""http://www.w3.org/1999/xhtml"">
<head>
    <meta charset=""utf-8"" />
</head>
<body>
    <p>Hello {firstname} {lastname},</p>
    <p>
        Please sign the document sent from WorkflowGen.
        <br />
        <a href=""<DOCAPOSTE_SIGN_URL>"">Click here to sign on Docaposte</a>
    </p>
    <p>Regards,</p>
    <p>WorkflowGen</p>
</body>
</html>
```

## Exemples

### Avec liste de signataires

| **Paramètre**              | **Type** | **Direction** | **Valeur**                                     |
| -------------------------- | -------- | ------------- | ---------------------------------------------- |
| `SIGNER_FIRSTNAME_LIST`    | TEXT     | IN            | `Jean,Bernard`                                 |
| `SIGNER_LASTNAME_LIST`     | TEXT     | IN            | `Dupont,Martin`                                |
| `SIGNER_EMAIL_LIST`        | TEXT     | IN            | `jean.dupont@email.fr,bernard.martin@email.fr` |
| `SIGNER_TYPE_LIST`         | TEXT     | IN            | `PAD,OTP`                                      |
| `FILE1`                    | FILE     | IN            | `contrat.pdf`                                  |
| `DOCAPOSTE_TRANSACTION_ID` | TEXT     | OUT           | `xxxxx-xxxxx-xxxxx-xxxxx`                      |
| `DOCAPOSTE_DOCUMENT_NAMES` | TEXT     | OUT           | `contrat.pdf`                                  |

### Avec numéros de signataire

| **Paramètre**              | **Type** | **Direction** | **Valeur**                |
| -------------------------- | -------- | ------------- | ------------------------- |
| `SIGNER_LASTNAME1`         | TEXT     | IN            | `Dupont`                  |
| `SIGNER_LASTNAME2`         | TEXT     | IN            | `Martin`                  |
| `SIGNER_FIRSTNAME1`        | TEXT     | IN            | `Jean`                    |
| `SIGNER_FIRSTNAME1`        | TEXT     | IN            | `Bernard`                 |
| `SIGNER_EMAIL1`            | TEXT     | IN            | `jean.dupont@email.fr`    |
| `SIGNER_EMAIL2`            | TEXT     | IN            | `bernard.martin@email.fr` |
| `SIGNER_TYPE1`             | TEXT     | IN            | `PAD`                     |
| `SIGNER_TYPE2`             | TEXT     | IN            | `TOKEN`                   |
| `FILE1`                    | FILE     | IN            | `contrat.pdf`             |
| `DOCAPOSTE_TRANSACTION_ID` | TEXT     | OUT           | `xxxxx-xxxxx-xxxxx-xxxxx` |
| `DOCAPOSTE_DOCUMENT_NAMES` | TEXT     | OUT           | `contrat.pdf`             |
