Obrada (neuspjeli računi)
Trajna odbijanja i tko po njima postupa.
- U sandboxu
Jednostavnim riječima
Popis za obradu sadrži račune koje je kanal slanja neke zemlje trajno odbio ili čije slanje nije uspjelo ni nakon svih ponovnih pokušaja te za svaki navodi što nije u redu i tko postupa. Na njemu radi mjesečna usluga Obrada odbijenih računa (Rejection Care). Odbijenu datoteku nikad ne šaljemo ponovno nepromijenjenu: klijent ili partner ispravlja podatke u ERP-u, a predaje se ispravljeni račun.
Račun dospijeva na popis za obradu kad ga kanal slanja trajno odbije ili kad se zbog prolaznih pogrešaka iscrpe svi ponovni pokušaji. Popis navodi što nije u redu i tko postupa. Odbijenu datoteku nikad ne šaljemo ponovno nepromijenjenu: ispravite podatke u ERP-u i predajte ispravljeni račun. Obrada odbijenih računa, usluga uz mjesečni paušal, oslanja se na ova tri poziva. Razina usluge utvrđena je u ugovoru, a ne ovdje.
Ključ klijenta s opsegom read čita retke vlastitog klijenta. Označavanje retka kao obrađenog posao je usluge Obrada odbijenih računa, pa klijentski ključ za taj poziv dobiva 403.
Popis
GET /care vraća jedan redak po računu.
| Polje | Značenje |
|---|---|
invoice_id | ID računa. |
invoice_ref | Vlastita referenca partnera. |
client, route | Klijent i kanal slanja računa. |
catalogue_code | Šifra koja objašnjava odbijanje (pogledajte pogreške). |
who_acts | Odgovorna strana za šifru: erp, us, business, client, buyer ili route. |
field | Mjesto u kanonskom modelu, na primjer invoice.buyer_reference. Nikad vrijednost. |
fix_hint | Što promijeniti, prema odbijanju ili unosu u katalogu. |
age_seconds | Koliko je dugo račun na popisu. |
deadline_at | Okvirni rok računa, kad ga ima (pogledajte čitanje računa). |
handled | Je li ga netko označio kao obrađen. |
handled_at | Kada je označen. Prisutno je samo kad je handled true. |
Parametar upita status bira open, handled ili all (zadano). Klijentski ključ dobiva najviše 200 najnovijih redaka, a truncated: true kaže kad ih ima više. Popis smije tražiti 30 puta u minuti.
Napomena
Popis ne sadrži tijelo računa, a ne sadrži ga ni zapisnik.
curl "https://api-sandbox-eu.eurinvoice.com/care" \
-H "Authorization: Bearer <your-api-key>"import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Example {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api-sandbox-eu.eurinvoice.com/care"))
.header("Authorization", "Bearer <your-api-key>")
.GET()
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}const response = await fetch('https://api-sandbox-eu.eurinvoice.com/care', {
headers: {
Authorization: 'Bearer <your-api-key>',
},
});
console.log(response.status);
console.log(await response.text());{
"data": []
}Označavanje kao obrađenog
POST /care/{id}/handled označava redak kao obrađen i vraća taj redak. Ponovni poziv zadržava prvi handled_at. Za račun koji nije na popisu odgovor je 404. Pozvati ga smije samo operaterov ključ.
curl -X POST "https://api-sandbox-eu.eurinvoice.com/care/inv_unknown/handled" \
-H "Authorization: Bearer <your-api-key>"import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Example {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api-sandbox-eu.eurinvoice.com/care/inv_unknown/handled"))
.header("Authorization", "Bearer <your-api-key>")
.POST(HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}const response = await fetch('https://api-sandbox-eu.eurinvoice.com/care/inv_unknown/handled', {
method: 'POST',
headers: {
Authorization: 'Bearer <your-api-key>',
},
});
console.log(response.status);
console.log(await response.text());{
"type": "https://eurinvoice.com/problems/not-found",
"title": "This invoice is not on the care list",
"status": 404
}Izvoz dokaza
GET /care/{id}/evidence vraća datoteke spremljene za račun: invoice_id i popis files, a za svaku datoteku njezin kind, njezin sha256 i samu datoteku kao file_base64. Datoteka je spremljeni izvornik, pa je tijelo računa u ovom odgovoru, a ne na popisu. Za račun koji nije na popisu odgovor je 404, a isto vrijedi i za račun drugog klijenta. Ključ klijenta s opsegom read smije ga pozvati 10 puta u minuti. Datoteke koje zajedno prelaze 8 MiB daju odgovor 413 (evidence-too-large); čitajte ih jednu po jednu pozivom GET /invoices/{id}/documents/{kind}.
curl "https://api-sandbox-eu.eurinvoice.com/care/inv_unknown/evidence" \
-H "Authorization: Bearer <your-api-key>"import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Example {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api-sandbox-eu.eurinvoice.com/care/inv_unknown/evidence"))
.header("Authorization", "Bearer <your-api-key>")
.GET()
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}const response = await fetch('https://api-sandbox-eu.eurinvoice.com/care/inv_unknown/evidence', {
headers: {
Authorization: 'Bearer <your-api-key>',
},
});
console.log(response.status);
console.log(await response.text());{
"type": "https://eurinvoice.com/problems/not-found",
"title": "This invoice is not on the care list",
"status": 404
}Odgovori
| Status | Značenje |
|---|---|
200 | Popis, označeni redak ili dokazi. |
401 | Nema ključa ili je ključ nepoznat. |
403 | Ključ nema opseg read ili je klijentski ključ pokušao označiti redak kao obrađen. |
404 | Račun nije na popisu za obradu. |
413 | Dokazi zajedno prelaze 8 MiB (evidence-too-large). |
429 | Previše zahtjeva za ključ. Pričekajte onoliko sekundi koliko navodi Retry-After. |