Elencare e cercare le fatture
- Nella sandbox
In parole semplici
La chiave di un cliente vede le fatture del proprio cliente; l’operatore vede quelle di ogni cliente, oppure quelle di un cliente con client. Le righe contengono ciò che contiene GET /invoices/{id}, senza documents, e nessun contenuto della fattura: né acquirente né importi,
e nessuna data di emissione (per la Romania e la Polonia la deadline_at ne deriva, con un’approssimazione di pochi giorni). Un parametro sconosciuto risponde 400.
apiKeyAuthorizationBearer <token>Inviare la chiave come token bearer: Authorization: Bearer <your-api-key>. Lo stato del servizio è l’unica chiamata che non richiede una chiave.
q?stringParte, senza distinzione tra maiuscole e minuscole, dell’invoice_ref o del numero della fattura. Al massimo 100 caratteri.
length <= 100route?array<>Uno o più canali, separati da virgole.
state?array<>Uno o più stati, separati da virgole.
client?stringIl filtro dell’operatore su un cliente. La chiave di un cliente può indicare solo il proprio cliente; ogni altro risponde 404. Un’altra forma risponde 400.
^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$received_from?stringPrimo giorno UTC in cui la fattura è stata ricevuta, incluso.
datereceived_to?stringUltimo giorno UTC in cui la fattura è stata ricevuta, incluso.
datesort?stringPer orario di ricezione. Gli ex aequo si ordinano per id, così una pagina non cambia ordine tra una chiamata e l’altra.
"newest""newest""oldest"page?integer1 <= value1page_size?integer252550100200Una pagina di risultati.
application/json- response
data*array<>total*integerRisultati prima della paginazione.
page*integerLa pagina restituita. Una pagina oltre la fine viene riportata all’ultima.
page_size*integercounts_by_state*Risultati per stato con tutti i filtri tranne state. Uno stato senza risultati viene omesso.
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 }}Fatture ricevute e scartate per giorno e canale GET
Calcolato dall’archivio a ogni chiamata. received conta le fatture per il giorno UTC in cui sono arrivate; rejected conta le fatture ora scartate per il giorno UTC della loro ultima modifica. Un giorno senza nulla ha zeri, così un grafico non ha buchi. Stesso ambito di GET /invoices.
Inviare una fattura o una nota di credito come JSON canonico POST
Il servizio controlla subito il documento rispetto al modello canonico e ai controlli preliminari, e risponde 422 se uno dei due fallisce. Tutto il resto avviene in modo asincrono (generazione, validazione ufficiale, invio al canale, stati) e viene riportato con gli eventi di stato. L’invio corretto di una fattura scartata usa lo stesso invoice_ref e una nuova Idempotency-Key; il servizio collega i tentativi. In produzione un export dell’ERP viene letto solo quando le impostazioni del connettore del cliente contengono il suo venditore e i suoi dati di pagamento, non l’esempio della mappatura: altrimenti 422 connector-settings-missing, con l’indicazione di ciò che manca. Una sandbox lo legge con l’esempio, come prima.