Ressurser og metoder

Fakturo-APIet er et såkalt RESTful API som gjør deg i stand til å gjøre forskjellige handlinger på de ulike ressursene i Fakturo over HTTP. En ressurs kan for eksempel være et kundeobjekt, som du kan opprette, slette, oppdatere eller hente ut detaljer om.

  • Ressursen representeres med en URL
  • Handlingen representeres med en HTTP-metode :
    • POST: Oppretter en ny ressurs
    • PUT: Oppdaterer en eksisterende ressurs
    • GET: Viser en ressurs eller en liste av ressurser
    • DELETE: Sletter en ressurs.

Eksempler

Eksemplene nedenfor viser noen eksempler på HTTP-metoder og URLer. Du finner mer informasjon om input og output for hvert enkelt url/metode i kapittelet ressurser og metoder.

Opprette en ny faktura:

POST /api/v1/invoices/

Oppdatere kunde 123:

PUT /api/v1/customer/123

Vise en liste av fakturaer:

GET /api/v1/invoices

Slette kundekonto 123:

DELETE /api/v1/customer/123

Hoved-URL for API

Alle ressurser i Fakturo API ligger under følgende hoved-URL:

https://app.fakturo.no/api/v1

I eksemplene bruker vi for enkelhets skyld kun den delen av URLen følger etter domenenavnet, slik at URLen /api/v1/invoices betyr https://app.fakturo.no/api/v1/invoices.

Paginering av lister

Alle lister i Fakturo API er delt opp i en eller flere sider. Hvis du ikke angir noen parametere vil listen returnere 100 elementer.

Ved å angi parametere kan du styre hvilken side du ønsker returnert, og antall elementer per side:

URL-parameter Forklaring
per_page Angir antall returnerte elementer per side. Tillatt verdi mellom 1 og 1000.
page Angir hvilken side du ønsker returnert. Tillatt verdi mellom 1 og total_pages.

Attributten "total_pages" i responsen viser det totale antall sider i listen. Eksempelvis:

GET /api/invoices/?per_page=10&page=3

<invoices page="3" total_pages="24" per_page="10">
  <invoice uri="https://app.fakturo.no/api/invoice/123" status="overdue">
    ...
  </invoice>
  <invoice uri="https://app.fakturo.no/api/invoice/456" status="overdue">
    ...   
  </invoice>
    <!--  8 flere invoice -->  
</invoices>
Opp til toppen av siden