Datatyper og dataformat

Dataformat

Encoding

APIet returnerer data med UTF-8-encoding, og forventer at all input er UTF-8.

Dersom din applikasjon bruker en annen encoding, må du konvertere til / fra din interne encoding når du bruker APIet.

Input: XML

Alle inndata til APIet skal være XML.

Output: XML eller JSON

APIet returnerer XML som standard.

Dersom du i stedet ønsker å få returnert JSON, legger du til en Accept-header i HTTP-forespørselen:

Accept: application/json

Datatyper

Tabellen nedenfor viser de datatypene som APIet bruker for input/output:

Datatype Format Eksempel
alphanumeric N/A Dette er beskrivelse 123
date yyyy-mm-dd 2011-03-29
datetime yyyy-mm-dd hh:ii:ss 2011-03-29 23:48:16
boolean 1 = true, 0 = false 1

Content-Type

Content-type i retur angir innholdet i HTTP-respons:

Content-Type: text/xml - Respons er XML-data

Content-Type: application/json - Respons er JSON-data

Content-Type: application/pdf - Respons er PDF-data

Endringer i dataformat

Etter at betaperioden er avsluttet vil vi kun gjøre endringer i APIet som er bakoverkompatible. Med bakoverkompatible endringer mener vi endringer av de typene vi har beskrevet nedenfor.

Din implementasjon av Fakturo-APIet må håndtere at vi gjør endringer på APIet som beskrevet nedenfor.

1. Rekkefølgen av elementer og attributter kan bli endret

Eksempel: Denne XML'en:

<invoice attrA="1">
    <apple>A</apple>
    <banana>B</banana>
</invoice>

kan bli endret til:

<invoice attrA="1">
    <banana>B</banana>
    <apple>A</apple>
 </invoice>

2. Nye elementer og attributter kan legges til i datastrukturen

Eksempel: Denne XML'en:

<invoice attrA="1">
    <apple>A</apple>
    <banana>B</banana>
</invoice>

kan bli endret til:

<invoice attrB="1" attrA="1">
    <banana>B</banana>
    <guava>D</guava>
    <apple>A</apple>
 </invoice>

3. "Pretty-print" av XML kan bli fjernet

Det kan bli aktuelt å fjerne formatering av XML. Det betyr at:

<invoice attrA="1">
    <apple>A</apple>
    <banana>B</banana>
</invoice>

kan bli endret til

<invoice attrA="1"><apple>A</apple><banana>B</banana></invoice>

4. Nye verdier for konstanter

Eksisterende konstanter (f.eks. transaksjonstyper, status for fakturaer etc) vil aldri bli fjernet, men det vil kunne bli aktuelt å legge til nye verdier, f.eks. for status på en faktura.

Opp til toppen av siden