Een factuur kan rechtstreeks worden doorgestuurd via PEPPOL naar uw klant.
Gebruik hiervoor de POST-methode met als URL bijvoorbeeld https://eenvoudigfactureren.be/api/v1/invoices/1001?send_peppol.
Mogelijke parameters:
- purchase_order: Het inkoopordernummer dat wordt meegegeven met de factuur
- attachments (list): Optioneel een lijst met attachments
Een voorbeeld in PHP hoe u een factuur kunt versturen naar uw boekhouder:
$p = curl_init('https://eenvoudigfactureren.be/api/v1/invoices/1001?send_peppol');
curl_setopt($p, CURLOPT_HTTPHEADER, [
"X-API-Key: your_api_key_here",
"Content-Type: application/json",
"Accept: application/json"
]);
curl_setopt($p, CURLOPT_POST, 1);
curl_setopt($p, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($p);
if (curl_errno($p)) {
echo 'cURL Error: ' . curl_error($p);
} else {
$result = json_decode($response, true);
echo "Response:\n";
print_r($result);
}
curl_close($p);Bijlages toevoegen
Tijdens het versturen van de factuur kan je ook bijkomend bestanden toevoegen.
Het opladen van deze bijkomende bestanden gebeurt in een afzonderlijke call.
Gebruik de POST-methode met als URL https://eenvoudigfactureren.be/api/v1/uploads.
Verstuur het bestand als form-data met als key ‘file’. Het bestand mag niet groter zijn dan 5MB. Je kan meerdere bestanden in één keer toevoegen door ‘file[]’ te gebruiken. Optioneel kan je ook een bestandsnaam meegeven langs key ‘filename’.
Als antwoord krijg je een lijst terug met per opgeladen bestand:
upload_id: Deze gebruik je bij het verzenden van de e-mail (argument attachments)
filename: Doorgegeven bestandsnaam (deze wordt echter niet bijgehouden en dien je opnieuw door te geven tijdens doorsturen van de attachment per e-mail).
available_until: Geldigheidsperiode waarin het bestand beschikbaar blijft (tot 1 uur na opladen van het bestand).
$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);PDF- of UBL-bestand zelf genereren
Zelf het PDF-bestand van de factuur (of het volledige UBL-bestand) genereren en gebruiken tijdens het verzenden van de factuur via Peppol is mogelijk.
Voeg eerst het PDF- of UBL-bestand toe als bijlage (zie voorgaande). Bij het verzenden van de factuur via Peppol geef je het bestand door via attachments. Als bijkomende eigenschap geef je mee type=pdf of type=ubl.
$p = curl_init('https://eenvoudigfactureren.be/api/v1/invoices/1001?send_peppol');
curl_setopt($p, CURLOPT_HTTPHEADER, [
"X-API-Key: your_api_key_here",
"Accept: application/json"
]);
curl_setopt($p, CURLOPT_POSTFIELDS, http_build_query([
'attachments[0][upload_id]' => '33207514-1505-4ffe-bdbc-81a1109f75d9',
'attachments[0][filename]' => 'invoice123.pdf',
'attachments[0][type]' => 'pdf',
]));
curl_setopt($p, CURLOPT_RETURNTRANSFER, true);
$result = json_decode(curl_exec($p), true);
curl_close($p);
if ($result) {
echo "Response:\n";
print_r($result);
} else {
echo "Request failed.";
}