Il existe 2 façons différentes d’ajouter des pièces jointes via l’API, selon ce que vous souhaitez faire exactement.
- Ajouter une pièce jointe à la facture elle-même
- Ajouter une pièce jointe lors de l’envoi de l’e-mail
Les deux options utilisent un appel API différent.
Ajouter une pièce jointe lors de l’envoi
Lors de l’envoi de la facture, vous pouvez également ajouter des fichiers supplémentaires.
Le téléchargement de ces fichiers supplémentaires se fait via un appel séparé.
Utilisez la méthode POST avec l’URL suivante :
https://eenvoudigfactureren.be/api/v1/uploads.
Envoyez le fichier en form-data avec la clé ‘file’. Le fichier ne peut pas dépasser 5MB. Vous pouvez ajouter plusieurs fichiers en une seule fois en utilisant ‘file[]’. Vous pouvez également fournir un nom de fichier via la clé ‘filename’.
La réponse retourne une liste contenant les informations suivantes pour chaque fichier téléchargé :
upload_id : À utiliser lors de l’envoi de l’e-mail (argument attachments)
filename : Nom du fichier fourni (celui-ci n’est toutefois pas conservé et devra être renvoyé lors de l’envoi de la pièce jointe par e-mail).
available_until : Période de validité pendant laquelle le fichier reste disponible (jusqu’à 1 heure après le téléchargement du fichier).
$p = curl_init('https://eenvoudigfactureren.be/api/v1/uploads');
curl_setopt($p, CURLOPT_HTTPHEADER, [
"X-API-Key: your_api_key_here",
"Accept: application/json",
]);
curl_setopt($p, CURLOPT_POSTFIELDS, [
'file' => new CURLFile('/path/to/attachment.pdf'),
'filename' => 'attachment.pdf'
]);
curl_setopt($p, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($p);
if (curl_errno($p)) {
echo 'Error: ' . curl_error($p);
} else {
echo $response;
}
curl_close($p);Ajouter une pièce jointe à la facture elle-même
Téléchargement
Pour ajouter une nouvelle pièce jointe, utilisez /upload.
Par exemple : POST https://eenvoudigfactureren.be/api/v1/invoices/3003/files/upload
$p = curl_init('https://eenvoudigfactureren.be/api/v1/invoices/3003/files/upload');
curl_setopt($p, CURLOPT_HTTPHEADER, [
"X-API-Key: your_api_key_here",
"Accept: application/json"
]);
curl_setopt($p, CURLOPT_POSTFIELDS, [
'file' => new CURLFile('/path/to/attachment.pdf'),
'filename' => 'attachment.pdf',
'role' => 'attachment'
]);
curl_setopt($p, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($p);
if (curl_errno($p)) {
echo 'Error: ' . curl_error($p);
} else {
echo $response;
}
curl_close($p);Téléchargement du fichier
Pour récupérer le contenu de la pièce jointe, utilisez /download.
Par exemple : GET https://eenvoudigfactureren.be/api/v1/invoices/3003/files/8764/download