inFakt wysyła fakturę w formacie PDF na podany adres i zmienia jej status na sent (o ile faktura nie ma już statusu paid).
Wymagania
- Klucz API z zakresem
api:invoices:writew zmiennejINFAKT_API_KEY. idfaktury w zmiennejINVOICE_ID.
Żądanie
Parametr print_type określa wersję dokumentu (original, copy i inne), locale jego język (pl, en, pe), a send_copy: true powoduje wysłanie dodatkowej kopii wiadomości.
curl -X POST "https://api.sandbox-infakt.pl/v3/invoices/$INVOICE_ID/deliver_via_email.json" \
-H "X-inFakt-ApiKey: $INFAKT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"recipient": "ksiegowosc@example.com",
"print_type": "original",
"locale": "pl",
"send_copy": true
}'const res = await fetch(`https://api.sandbox-infakt.pl/v3/invoices/${process.env.INVOICE_ID}/deliver_via_email.json`, {
method: "POST",
headers: {
"X-inFakt-ApiKey": process.env.INFAKT_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"recipient": "ksiegowosc@example.com",
"print_type": "original",
"locale": "pl",
"send_copy": true
}),
});
console.log(res.status);import os
import requests
res = requests.post(
f"https://api.sandbox-infakt.pl/v3/invoices/{os.environ['INVOICE_ID']}/deliver_via_email.json",
headers={"X-inFakt-ApiKey": os.environ["INFAKT_API_KEY"]},
json={
"recipient": "ksiegowosc@example.com",
"print_type": "original",
"locale": "pl",
"send_copy": True
},
)
print(res.status_code)<?php
$ch = curl_init('https://api.sandbox-infakt.pl/v3/invoices/' . getenv('INVOICE_ID') . '/deliver_via_email.json');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'X-inFakt-ApiKey: ' . getenv('INFAKT_API_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'recipient' => 'ksiegowosc@example.com',
'print_type' => 'original',
'locale' => 'pl',
'send_copy' => true,
]),
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo $status, PHP_EOL;Weryfikacja
Odpowiedź 202 Accepted bez treści oznacza, że wysyłka trafiła do kolejki. Po jej realizacji odpowiedź GET /invoices/$INVOICE_ID.json zawiera "status": "sent".
Kod 403 z limit: cant_print_invoice oznacza wyczerpanie limitu wydruków w planie.