Playbook
Költségbizonylatok tömeges feltöltése
Több bejövő számla egyszerre rögzítése, pl. hó végi kötegelt feltöltés bankszinkron után.
Ez a playbook végigvezet azon, hogyan tölthetsz fel egyszerre több költségbizonylatot a QUiCK Public API-n keresztül. A POST /2/expenses/create/ végpont hívásonként max 5 fájlt fogad; nagyobb kötegeket bontsd fel.
Előfeltételek
- Aktív QUiCK fiók és Public API token
- Elérhető PDF/JPG bizonylatok a lokális gépen
1. Token beállítása
Állítsd be a hitelesítést minden hívásra:
export QUICK_TOKEN="..."
curl -H "Authorization: Token $QUICK_TOKEN" https://api.quick.riport.co.hu/1/pulse/A feladó minden hívásnál Authorization: Token <token> fejlécet küld.
2. Fájlok Base64-kódolása
A content mező Base64-kódolt bináris; nem raw fájl. Példa (Node.js):
import { readFileSync } from 'node:fs';
const content = readFileSync('invoice.pdf').toString('base64');3. Batch feltöltés
Küldd max 5-ös csomagban a POST /2/expenses/create/ végpontra:
curl -X POST https://api.quick.riport.co.hu/2/expenses/create/ \
-H "Authorization: Token $QUICK_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"source": "public_api",
"expenses": [
{ "filename": "invoice-001.pdf", "content": "JVBERi0xLjQK..." },
{ "filename": "invoice-002.pdf", "content": "JVBERi0xLjQK..." }
]
}'A válasz processed tömbje tartalmazza a létrejött bizonylatok ID-ját.
4. Feldolgozott id-k mentése
Iterálj a processed tömbön és tárold el az id-kat helyben, hogy tudd követni a feldolgozás állapotát.
5. Részletek lekérése
Egyedi bizonylat állapotát a GET /2/expenses/{expenseId}/ adja vissza:
curl -H "Authorization: Token $QUICK_TOKEN" \
https://api.quick.riport.co.hu/2/expenses/42/Kapcsolódó endpointok
- POST/2/expenses/create/
- GET/2/expenses/{expenseId}/
Kapcsolódó fogalmak
Gyakori hibák
5-nél több fájl egy kérésben
A `POST /2/expenses/create/` egy hívásban max 5 elemet fogad az `expenses` tömbben. Bontsd több hívásra a nagyobb kötegeket.
Nem Base64 a content mező
A `content` binárisnak Base64-nek kell lennie. Raw byte-ok vagy data-URL prefix (`data:application/pdf;base64,...`) hibát ad — csak a nyers Base64 stringet küldd.