Direct naar inhoud

Aan de slag

Verzoeken en antwoorden

Headers, gegevensformaten, bedragen in centen, datums, paginering, filters en sorteren.

Headers

HeaderWaardeWanneer
AuthorizationBearer factora_…Altijd
Acceptapplication/jsonAltijd; zo krijg je fouten als JSON en nooit een redirect
Content-Typeapplication/jsonBij POST en PATCH met een body
Content-Typemultipart/form-dataBij uploads (bankafschriften, boekhouddocumenten)

Gegevensformaten

TypeFormaatVoorbeeld
BedragGeheel getal in eurocenten, exclusief btw tenzij anders vermeld12500 = € 125,00
Btw-tariefPercentage als getal, 0–10021
AantalDecimaal getal, minimaal 0.011.5
DatumYYYY-MM-DD2026-11-12
TijdstipISO 8601, met offset of in UTC (Z)2026-11-12T09:14:03+01:00 of 2026-11-12T08:14:03.000000Z
IDUUID9d3c5e2a-1b7f-4c0e-9a51-2f6d8b7e4c10
ValutaISO 4217; verkoopfacturen zijn in euroEUR

Datums zonder tijd volgen de kalender van Nederland (Europe/Amsterdam). Een factuur is bijvoorbeeld vervallen zodra haar vervaldatum vóór vandaag in Nederland ligt.

Vorm van een antwoord

De inhoud staat altijd onder data. Acties die niets teruggeven, geven alleen een message.

{
    "data": {
        "id": "9d3c5e2a-1b7f-4c0e-9a51-2f6d8b7e4c10",
        "name": "Jansen Bouw"
    }
}
{
    "message": "Factuur verwijderd."
}

Paginering

Lijsten zijn gepagineerd. Met page kies je de pagina en met per_page het aantal resultaten (1–100). Lees door tot next_page_url null is.

{
    "data": {
        "current_page": 1,
        "data": [
            {
                "id": "9d3c…01",
                "name": "Bakkerij De Korf"
            },
            {
                "id": "9d3c…02",
                "name": "Jansen Bouw"
            }
        ],
        "first_page_url": "https://factora.one/api/v1/customers?page=1",
        "from": 1,
        "last_page": 66,
        "last_page_url": "https://factora.one/api/v1/customers?page=66",
        "next_page_url": "https://factora.one/api/v1/customers?page=2",
        "path": "https://factora.one/api/v1/customers",
        "per_page": 2,
        "prev_page_url": null,
        "to": 2,
        "total": 132
    }
}
GroepStandaard per_pageWaar staat de lijst
Klanten, facturen, offertes, producten, abonnementen, klantenportaal50data.data; paginagegevens in data
Boekhouding (/accounting/…)25data; paginagegevens op het hoogste niveau

Filters en sorteren

Filters zijn queryparameters, bijvoorbeeld ?status=sent&customer_id=…. Facturen en offertes zijn te sorteren met sort; een - ervoor sorteert aflopend.

ResourceFiltersSorteren
Klantensearch (naam, e-mail, plaats)Vast op naam
Facturenstatus, customer_id, search (nummer of klantnaam)invoice_date, due_date, invoice_number, total_amount, status, created_at; standaard -invoice_date
Offertesstatus, customer_idquote_date, valid_until, quote_number, total_amount, status, created_at; standaard -quote_date
Productensearch (naam, SKU, omschrijving), is_activeActief eerst, dan op naam
Abonnementenstatus, customer_idNieuwste eerst
BoekhouddocumentenstatusNieuwste eerst

Een onbekende waarde voor sort geeft 422.

Bijwerken met PATCH

PATCH werkt alleen de velden bij die je meestuurt. Uitzondering: stuur je bij een factuur of offerte lines mee, dan vervangt die lijst alle regels. Neem het id van een bestaande regel mee om hem te behouden en bij te werken; regels zonder bekend id worden nieuw aangemaakt en ontbrekende regels verwijderd.