Enumerați și căutați facturi
- În sandbox
În cuvinte simple
O cheie de client vede facturile propriului client; operatorul le vede pe ale tuturor clienților sau pe ale unui client, cu client. Rândurile conțin ce conține GET /invoices/{id}, fără documents, și niciun conținut al facturii: fără cumpărător sau sume,
și fără data emiterii (pentru România și Polonia, deadline_at rezultă din ea, cu o abatere de câteva zile). Un parametru necunoscut primește 400.
apiKeyAuthorizationBearer <token>Trimiteți cheia ca token de tip bearer: Authorization: Bearer <your-api-key>. Starea serviciului este singurul apel care nu necesită cheie.
q?stringO parte din invoice_ref sau din numărul facturii, fără deosebire între majuscule și minuscule. Cel mult 100 de caractere.
length <= 100route?array<>Unul sau mai multe canale, separate prin virgulă.
state?array<>Una sau mai multe stări, separate prin virgulă.
client?stringFiltrul operatorului pe un client. O cheie de client poate numi doar propriul client; orice alt client primește 404. O altă formă primește 400.
^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$received_from?stringPrima zi UTC în care factura a fost primită, inclusiv.
datereceived_to?stringUltima zi UTC în care factura a fost primită, inclusiv.
datesort?stringDupă momentul primirii. La egalitate decide id-ul, deci o pagină nu se reordonează între apeluri.
"newest""newest""oldest"page?integer1 <= value1page_size?integer252550100200O pagină de rezultate.
application/json- response
data*array<>total*integerRezultatele înainte de paginare.
page*integerPagina returnată. O pagină după ultima este redusă la ultima.
page_size*integercounts_by_state*Rezultatele pe stare, cu toate filtrele în afară de state. O stare fără rezultate este omisă.
curl -X GET "https://example.com/invoices" \ -H "Authorization: Bearer <your-api-key>"{ "data": [ { "id": "string", "invoice_ref": "string", "invoice_number": "string", "route": "PEPPOL", "environment": "sandbox", "state": "received", "legal_id": "string", "buyer_status": "string", "document_sha256": "string", "attempts": [ { "id": "string", "state": "received", "created_at": "2019-08-24T14:15:22Z" } ], "errors": [ { "code": "string", "source": "string", "message": "string", "field": "string", "fix_hint": "string", "who_fixes": "us", "related": [ { "code": "string", "source": "string" } ] } ], "documents": [ { "kind": "string", "sha256": "string", "href": "string" } ], "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "deadline_at": "2019-08-24T14:15:22Z" } ], "total": 0, "page": 0, "page_size": 0, "counts_by_state": { "property1": 0, "property2": 0 }}Facturi primite și respinse pe zi și canal GET
Calculat din stocare la fiecare apel. received numără facturile după ziua UTC în care au sosit; rejected numără facturile respinse în prezent după ziua UTC a ultimei lor modificări. O zi fără nimic are zerouri, deci un grafic nu are goluri. Același domeniu ca la GET /invoices.
Transmiteți o factură sau o notă de credit ca JSON canonic POST
Serviciul verifică imediat documentul față de modelul canonic și verificările preliminare și răspunde cu 422 dacă oricare eșuează. Tot ce urmează rulează asincron (generare, validare oficială, transmiterea pe canal, stări) și este raportat prin evenimente de stare. O retransmitere corectată a unei facturi respinse folosește același invoice_ref și un Idempotency-Key nou; serviciul leagă încercările. În producție, un export ERP este citit doar când setările conectorului clientului conțin propriul vânzător și propria plată, nu exemplul din mapare: altfel 422 connector-settings-missing, cu indicarea a ceea ce lipsește. Un sandbox îl citește cu exemplul, ca până acum.