Nahrávání dokladů
Jak přes API nahrát přijaté faktury a účtenky a sledovat jejich vytěžení.
Doklady nahrané přes API se vytěží úplně stejně jako doklady nahrané v aplikaci. V přehledu Nahrané soubory u nich uvidíte zdroj API. K nahrávání potřebujete API klíč s přístupem Čtení a zápis.
Nahrát můžete PDF, obrázky (JPG, PNG, WEBP, HEIC), dokumenty Word, Excel, OpenDocument a RTF. Najednou až 20 souborů, každý do 20 MB.
Menší soubory jedním požadavkem
Pokud mají soubory dohromady nejvýš zhruba 4 MB, pošlete je jako multipart/form-data v polích file:
curl https://moniary.com/api/v1/uploads \
-H "Authorization: Bearer $MONIARY_API_KEY" \
-F file=@faktura.pdf \
-F file=@uctenka.jpg
{
"uploadSessionId": "On3iHRaS2JhErPH2Ai",
"documents": [
{
"fileName": "faktura.pdf",
"path": "…/uploads/invoices/srprbuxP_mon_faktura.pdf"
}
]
}
Větší soubory přes podepsanou adresu
- Vyžádejte si adresy pro nahrání:
curl https://moniary.com/api/v1/uploads \
-H "Authorization: Bearer $MONIARY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"files": [{"fileName": "faktura.pdf", "contentType": "application/pdf", "size": 8123456}]}'
- Každý soubor nahrajte metodou
PUTna jehouploadUrl. Hlavičku Authorization tady neposílejte:
curl -X PUT "$UPLOAD_URL" -H "Content-Type: application/pdf" --data-binary @faktura.pdf
- Nahrávání dokončete. Pošlete
fileNameapathz odpovědi v prvním kroku:
curl https://moniary.com/api/v1/uploads/$SESSION/complete \
-H "Authorization: Bearer $MONIARY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"documents": [{"fileName": "faktura.pdf", "path": "…"}]}'
Vytěžení začne až po tomto kroku. Když použijete CLI (moniary upload), udělá všechny tři kroky za vás.
Stav vytěžení
curl https://moniary.com/api/v1/uploads/$SESSION \
-H "Authorization: Bearer $MONIARY_API_KEY"
Dokud doklady čekají ve frontě, je data prázdné (null). Potom odpověď obsahuje souhrn (totalFiles, activeFiles, completedFiles, failedFiles) a u každého souboru jeho části (parts) s výsledkem: status, invoiceId a invoiceNumber vytvořeného dokladu, případně rejectionReason nebo reviewIssues. Pokud je v jednom souboru víc dokladů, rozdělí se na víc částí.
Vytěžení obvykle trvá několik desítek sekund. Stav zjišťujte nejvýš jednou za pár sekund. Hotový doklad pak načtete akcí invoices.getInvoiceById.
Za vytěžení zaplatíte stejně jako za doklady nahrané v aplikaci.