Formål og præcis afgrænsning
Læs den tildelte organisations salgsfakturaer. Listen læser organisationens eksisterende fakturaer, ikke kun de kladder, som denne app selv har oprettet. Svaret indeholder ingen bank-, betalings-, afsender-bankkonto- eller Stripe-felter og ingen dokumentlinks.
En faktura oprettet gennem partner-API'et gemmes som kladde med status: "draft", sent: false og posted: false. total_incl_vat_minor er null, indtil fakturaen er bogført. Partner-API'et har ingen operation til at sende, bogføre eller betale en faktura.
Før kaldet
Vælg den eksplicit konfigurerede installation. HOURS_BASE er enten dens /api/partner/sandbox/v1 eller /api/partner/v1. Basisadressen vises i App Console for appen. Et sandboxtoken begynder med hsk_; et produktions-access-token begynder med hat_. De er ikke indbyrdes udskiftelige og er ikke Supabase-login-tokens.
Produktion kræver en godkendt apprevision, en kundegrant og de relevante scopes. Kundegrantet er givet af organisationsejeren med tofaktor (aal2), gælder de valgte konti og varer højst 90 dage. Endelig journalbogføring kræver et særskilt mandat. Sandbox kræver en klargjort appgeneration i et separat projekt. En gyldig tokenform alene er ikke adgang.
Input og grænser
| Parameter | Betydning |
|---|---|
limit | 1–100; standard 50. |
after | UUID fra forrige side; udelades ved første side. |
Ukendte og gentagne queryparametre afvises. Kaldet filtreres og autoriseres ud fra serverens gemte kontekst, ikke ud fra en valgfri klientheader med kunde-id.
Eksempel
Indstil HOURS_BASE og HOURS_TOKEN fra den aktive, autoriserede kontekst.
curl --silent --show-error --fail-with-body \
--request GET "$HOURS_BASE/invoices" \
--header "Authorization: Bearer $HOURS_TOKEN"Succes og output
Forvent HTTP 200 ved succes. Eksemplet viser en kladde:
{
"data": [
{
"id": "00000000-0000-4000-8000-000000000300",
"status": "draft",
"sent": false,
"posted": false,
"total_incl_vat_minor": null
}
],
"has_more": false,
"next_after": null
}Når has_more er true, indeholder next_after en UUID, som sendes som after i næste kald. Svaret giver ikke ekstra rettigheder eller en komplet kopi af den interne model.
Fejl og genforsøg
Manglende eller forkert miljøtoken afvises. Manglende scope, tilbagekaldt grant eller ændret apprevision stopper kaldet. En ugyldig cursor giver invalid_input, og en ukendt parameter giver unknown_query_parameter.
Ved midlertidig transportfejl kan det samme læsekald forsøges igen under aktuel adgang. Et rettighedsstop er ikke et tomt datasæt.
Kladde er ikke sendt, bogført eller betalt
Vis eksempelvis »Kladde oprettet i Hours« efter den oprindelige kvittering. Vis ikke »Sendt«, »Bogført« eller »Betalt«, medmindre sent eller posted faktisk er true. Et beløb i total_incl_vat_minor findes først, når fakturaen er bogført; null er ikke det samme som nul.
Test din integration
Test korrekt kontekst, manglende scope, forkert miljø og fremmede referencer. Test tomt resultat, fuld side, næste side og ændret adgang under gennemlæsningen.
Se rettigheder, fejl og pagination.