# Envoi unitaire de mail

## URL

<mark style="color:green;">`POST`</mark> `https://api.mailpartner.fr/v1/send`

{% hint style="warning" %}
La plateforme n’envoie pas de mails commerciaux entre **20h et 8h en semaine et les dimanches et jours fériés** (restriction légale). Si un message mail est envoyé, le message est **en pause jusqu’au prochain jour ouvrable à 8h**.\
Vous n’envoyez pas de mails commerciaux ? Contactez nous pour désactiver cette restriction : <help@mailpartner.fr>
{% endhint %}

#### **Paramètres obligatoires**

<table data-full-width="false"><thead><tr><th width="180">Nom</th><th>Valeur</th></tr></thead><tbody><tr><td><code>apiKey</code></td><td><a href="https://my.mailpartner.fr/dashboard/api">Votre clé API</a></td></tr><tr><td><code>subject</code></td><td>Sujet du mail</td></tr><tr><td><code>htmlContent</code></td><td><p>Contenu du mail en HTML.</p><p>Le tag <code>#READ_ONLINE#</code> ajoute le lien “Si cet e-mail ne s’affiche pas correctement, veuillez utiliser le lien suivant :”<br>Le tag <code>#UNSUBSCRIBE_LINK#</code> ajoute le lien de désinscription</p></td></tr><tr><td><code>From</code></td><td>Adresse email émetteur de l'envoi <br>email: email<br>name (optionnel) : Nom</td></tr><tr><td><code>to</code></td><td>Vous pouvez ajouter jusqu’a 500 destinataires :</td></tr></tbody></table>

| `email`            | Email du destinataire |
| ------------------ | --------------------- |
| `name` (optionnel) | Nom du destinataire   |

#### **Paramètres optionnels**

<table><thead><tr><th width="262">Nom</th><th>Valeur</th></tr></thead><tbody><tr><td><code>replyTo</code></td><td></td></tr><tr><td><code>variables</code></td><td>Vous pouvez ajouter <strong>jusqu’a 8 variables</strong> personnalisées contenant uniquement du texte (pas de html).<br>Ex:<br><code>"variables":{"firstname":"John", "lastname": "Doe"}</code>Ces variables doivent être ajoutés dans le <strong>template</strong> ou dans <strong>htmlContent</strong> de cette manière: <strong>#FIRSTNAME#</strong> et <strong>#LASTNAME#</strong></td></tr><tr><td><code>attachments</code></td><td><p>3 pièces jointes Maximum. 5Mo par pièce jointe.</p><p><code>base64Content</code> : Le contenu doit être encodé en Base64. Vous devez également spécifier le type MIME et un nom de fichier.</p><p><code>filename</code> : Nom de la pièce jointe (sans extension)</p><p><code>contentType</code> <strong>:</strong> Type mime de la pièce jointe.</p><p>Vous pouvez voir la liste officielle des types MIME <a href="https://www.iana.org/assignments/media-types/media-types.xhtml">ici</a>.<br>Pour le contenu, vous pouvez trouver un encodeur Base64 en ligne – par exemple <a href="https://www.freeformatter.com/base64-encoder.html">ici</a>. Une fois le fichier encodé, utilisez la chaîne de caractères résultante comme valeur du contenu Base64Content.</p><p></p><p><strong>Exemple JSON complet :</strong></p><pre class="language-json"><code class="lang-json">{
  "attachments": [
    {
      "base64Content": "VGhpcyBpcyB5b3VyIGF0dGFjaGVkIGZpbGUhISEK",
      "contentType": "text/plain",
      "filename": "test"
    }
  ]
}
</code></pre></td></tr><tr><td><code>tag</code></td><td>Identifiant en minuscule (sans espace) entre 3 et 20 caractères</td></tr><tr><td><code>scheduledDeliveryDate</code></td><td>Date d’envoi du mail, au format <code>dd/mm/YYYY</code>. A définir uniquement si vous souhaitez que les mails soient envoyés en différé.</td></tr><tr><td><code>time</code></td><td>Heure d’envoi du mail (format 0-24), obligatoire si <code>scheduledDeliveryDate</code> est défini.</td></tr><tr><td><code>minute</code></td><td>Minute d’envoi du mail (format 0-55, par intervalle de cinq minutes), obligatoire si <code>scheduledDeliveryDate</code> est défini.</td></tr><tr><td><code>sandbox</code></td><td><p></p><p><code>1</code> pour le mode Bac à Sable</p><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>Aucun mail ne sera envoyé, et il n’y aura aucun débit sur votre compte. Ces mails seront supprimés de vos listes d’envois automatiquement tous les jours.</p></div></td></tr><tr><td><code>_format</code></td><td><code>json</code> ou <code>xml</code></td></tr></tbody></table>

| `email`            | Email |
| ------------------ | ----- |
| `name` (optionnel) | Nom   |

#### Requête

{% tabs %}
{% tab title="PHP" %}

<pre class="language-php"><code class="lang-php">&#x3C;?php
        // Prepare data for POST request
        $jsonParams = "{
       "apiKey": "Your API kEY",
       "subject": "Sujet de mon email",
       "sandbox":0,
       "htmlContent": "Mon premier &#x3C;strong>email&#x3C;/strong>",
       "scheduledDeliveryDate":"25/09/2020",
       "time":"12",
       "minute":"00",
       "from": {
          "name" :"Marie",
          "email": "monemail@email.com"    
       },
       "to": [
          {
              "email": "email1"
<strong>          },
</strong>          {
              "emai": "email2"
          }
        ]
       }"
 
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL,'http://api.mailpartner.fr/v1/send');
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_TIMEOUT, 10);
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonParams);
 
        $result = curl_exec($curl);
        curl_close($curl);
 
        // Process your response here
        echo $result;
?>
</code></pre>

{% endtab %}
{% endtabs %}

#### **Réponse**

{% tabs %}
{% tab title="json" %}

```json
{
    "success": true,
    "code": 200,
    "messageId": "xxx",
    "nbMail": 1,
    "cost": 1,
    "currency": "EUR",
    "scheduledDeliveryDate": "2020-09-25 12:00:00"
}
```

{% endtab %}
{% endtabs %}


---

# 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://www.docpartner.dev/api/mail-partner/envoi-unitaire.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.
