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."; }