Offsys documentatie
Orders
Orders
Lijst
Haal de orders van de layout op.
| Veld | Waarde | Verplicht | Omschrijving |
|---|---|---|---|
| filter | Tekst | Nee | Zoek orders met een filter |
| sort | id, number, date, retour_date, status, created_at of updated_at | Nee | Veld waarop gesorteerd wordt. Standaard: id |
| direction | asc of desc | Nee | Oplopend of aflopend. Standaard: asc |
| page | Getal | Nee | Zie pagina's |
| per_page | Getal | Nee | Zie pagina's |
Voorbeeld:
curl "https://api.offsys.nl/orders?sort=date&direction=desc" \-X GET \-H "Authorization: 37d37675-59cd-431c-8d28-9553de7bae4d"Resultaat:
{ "status": "success", "orders": [ { "number": 20260001, "status": "offerte", "rejected": false, "rejected_date": "", "rejected_reason": "", "event": "Bruiloft", "office": 1, "reference": "Bruiloft Jansen", "date": "2026-06-12 10:00:00", "max_delivery_time": "12:00:00", "retour_date": "2026-06-14 18:00:00", "max_retour_time": "", "lines": [ { "id": "1001", "name": "Partytent 6x3 meter", "description": "", "amount": "2.0", "price": "275.00000", "deposit": "50.00", "discount": "25", "vat": 21, "total_excl": 500, "options": null, "variant": null }, { "id": "1002", "name": "Statafel", "description": "", "amount": "8.0", "price": "12.50000", "deposit": "0.00", "discount": "", "vat": 21, "total_excl": 100, "options": null, "variant": null } ], "totals": { "amount_excl": 600, "vat": 126, "amount_incl": 726, "deposit": 50, "total": 776 }, "customer": { "type": 2, "id": 318, "name": "Jansen Evenementen", "address": "Dorpsstraat 1", "postal": "1234 AB", "place": "Utrecht", "phone": "0301234567", "email": "[email protected]", "contact": { "name": "Anna Jansen", "email": "[email protected]", "phone": "0612345678" } }, "location": { "type": 3, "name": "Boerderij De Linde", "address": "Lindelaan 4", "postal": "3456 CD", "place": "Houten", "email": "", "phone": "", "contact": { "name": "", "email": "", "phone": "" } }, "internal_note": "", "quotation_note": "", "production_note": "", "delivery_note": "", "quotation_text": "", "quotation_days": 14, "invoice_days": 14, "created_date": "2026-05-02 09:14:21", "invoice_date": "", "quotation_date": "2026-05-02 09:20:03", "seller": "Piet de Vries", "show_without_vat": false, "payment_date": "", "mailing_address": null, "invoice_address": null, "links": { "document": "https://bekijk.offsys.nl/vCHDDDDDJ/teII1syhKxhM", "preview": "https://bekijk.offsys.nl/vCHDDDDDJ/teII1syhKxhM?track=no", "pdf": "https://bekijk.offsys.nl/vCHDDDDDJ/teII1syhKxhM/print", "download": "https://bekijk.offsys.nl/vCHDDDDDJ/teII1syhKxhM/download" } } ], "meta": { "total": 1, "per_page": 100, "current_page": 1, "last_page": 1 }}| Veld | Omschrijving |
|---|---|
| number | Ordernummer |
| status | aanvraag, offerte, bevestigd, factuur of opdracht |
| rejected | true als de aanvraag of offerte is afgewezen. Het moment en de reden staan in rejected_date en rejected_reason |
| date | Leverdatum |
| retour_date | Retourdatum, leeg als die niet bekend is |
| lines | De orderregels. total_excl is het bedrag van de regel na korting, zonder btw. Bij een tekstregel is id gelijk aan TEKST en total_excl leeg |
| totals | amount_excl is het totaal zonder btw, amount_incl het totaal met btw, deposit de borg en total het totaal met btw en borg |
| customer | type 1 is een eenmalige klant, type 2 een klant uit Offsys |
| location | Waar geleverd wordt, zie Locatie |
| mailing_address, invoice_address | Een afwijkend post- of factuuradres, of null als er geen is |
| payment_date | Datum van betaling |
| links | Links naar de offerte of factuur |
Links
| Veld | Omschrijving |
|---|---|
| document | De offerte of factuur voor de klant. Openen telt als bekeken |
| preview | Dezelfde pagina, maar openen telt niet als bekeken |
| PDF in de browser | |
| download | PDF om te downloaden |
Detail
Haal één order op met het ordernummer.
Voorbeeld:
curl "https://api.offsys.nl/order/20260001" \-X GET \-H "Authorization: 37d37675-59cd-431c-8d28-9553de7bae4d"Resultaat:
{ "status": "success", "order": { ... }}De order heeft dezelfde velden als bij Lijst.
Aanmaken
Zet een nieuwe aanvraag, offerte of factuur in Offsys.
| Veld | Waarde | Verplicht | Omschrijving |
|---|---|---|---|
| date | Datum | Ja | Leverdatum, met of zonder tijd |
| max_delivery_time | Tijd | Nee | Uiterlijke levertijd, bijvoorbeeld 12:00 |
| retour_date | Datum | Nee | Retourdatum, met of zonder tijd |
| max_retour_time | Tijd | Nee | Uiterlijke retourtijd |
| status | aanvraag, offerte of factuur | Nee | Standaard: aanvraag. Gebruikt je account ook bevestigd of opdracht, dan kun je die ook meegeven |
| office | Getal | Nee | Id van de vestiging |
| reference | Tekst | Nee | Referentie. Standaard: Via website |
| event | Bruiloft, Geboorte, Verjaardag, Jubileum, Uitvaart, Open dag, Bedrijfsopening, Bedrijfsfeest, Zakelijk Event, Vergadering, Beurs, Overig, Doorlevering, Vergaderen, Trouwen, Feesten of Afscheid | Nee | Soort evenement. Standaard: Overig |
| people | Getal | Nee | Aantal personen |
| aangevraagdvia | website, telefoon, email, winkelbezoek, beurs, locatie, mond-tot-mond, zelf-benaderd, google of onbekend | Nee | Hoe de aanvraag binnenkwam. Standaard: website |
| information | Tekst | Nee | Interne notitie |
| quotation_note | Tekst | Nee | Opmerking op de offerte |
| production_note | Tekst | Nee | Opmerking voor de productie |
| delivery_note | Tekst | Nee | Opmerking voor de aflevering |
| quotation_text | Tekst | Nee | Tekst bovenaan de offerte |
| quotation_days | Getal | Nee | Hoeveel dagen de offerte geldig is. Standaard: 14 |
| invoice_days | Getal | Nee | Betaaltermijn van de factuur in dagen. Standaard: 14 |
| seller | Getal | Nee | Id van de verkoper |
| show_without_vat | 1 of 0 | Nee | Bedragen op de offerte zonder btw tonen |
| payment_method | overboeking, iDEAL, verrekening, pin of kas | Nee | Betaalwijze |
| payment_date | Datum | Nee | Datum van betaling |
| customer | Ja | De klant, zie hieronder | |
| location | Nee | Waar geleverd wordt, zie hieronder | |
| mailing_address | Nee | Afwijkend postadres, zie hieronder | |
| invoice_address | Nee | Afwijkend factuuradres, zie hieronder | |
| lines | Ja | De orderregels, zie hieronder |
Klant
Met customer[type] geef je aan wat voor klant het is.
| Type | Omschrijving |
|---|---|
| 1 | Eenmalige klant |
| 2 | Bestaande klant. Geef het id mee |
| 3 | Nieuwe klant. Bestaat er al een klant met deze naam, dan wordt die gebruikt |
| Veld | Waarde | Verplicht | Omschrijving |
|---|---|---|---|
| type | 1, 2 of 3 | Ja | |
| id | Getal | Bij type 2 | Id van de klant |
| name | Tekst | Bij type 1 en 3 | Naam |
| address | Tekst | Nee | Adres |
| postal | Tekst | Nee | Postcode |
| place | Tekst | Nee | Plaats |
| phone | Tekst | Nee | Telefoonnummer |
| Tekst | Nee | E-mailadres | |
| isCompany | 1 of 0 | Nee | Alleen bij type 3: of de klant een bedrijf is |
| contact[name] | Tekst | Nee | Alleen bij type 3: naam van de contactpersoon. Bestaat die al bij de klant, dan wordt die gebruikt |
| contact[email] | Tekst | Nee | E-mailadres van de contactpersoon |
| contact[phone] | Tekst | Nee | Telefoonnummer van de contactpersoon |
Locatie
Met location[type] geef je aan waar geleverd wordt.
| Type | Omschrijving |
|---|---|
| 1 | De klant komt afhalen |
| 2 | Het adres van de klant |
| 3 | Een los adres, met name, address, postal, place, email en phone |
| 4 | Een bekende locatie. Geef het id mee |
Post- en factuuradres
Heeft de order een ander post- of factuuradres dan de klant, stuur dan mailing_address of invoice_address mee. Stuur je ze niet mee bij een klant van type 2 of 3, dan gebruikt Offsys het post- en factuuradres dat bij de klant is ingesteld.
| Veld | Waarde | Verplicht | Omschrijving |
|---|---|---|---|
| name | Tekst | Ja | Naam |
| address | Tekst | Nee | Adres |
| postal | Tekst | Nee | Postcode |
| place | Tekst | Nee | Plaats |
| country | Tekst | Nee | Land |
| contact | Tekst | Nee | Contactpersoon |
| Tekst | Nee | E-mailadres |
Orderregels
Stuur de regels mee als lines[0], lines[1] enzovoort. Velden die je niet meestuurt krijgen de waarde van het product.
| Veld | Waarde | Verplicht | Omschrijving |
|---|---|---|---|
| id | Tekst | Ja | Het productnummer (het id bij producten), of TEKST voor een regel met alleen tekst |
| name | Tekst | Nee | Naam. Verplicht bij een tekstregel |
| description | Tekst | Nee | Omschrijving |
| amount | Getal | Nee | Aantal. Standaard: 1 |
| price | Bedrag | Nee | Prijs per stuk zonder btw. Zie hieronder |
| discount | Tekst | Nee | Korting per stuk, als bedrag (5) of percentage (10%). Standaard: geen korting |
| deposit | Bedrag | Nee | Borg voor deze regel |
| vat | Getal | Nee | Btw-percentage |
| variant | Getal | Nee | Id van de variant van het product |
| options | Lijst | Nee | Gekozen waarden van de productoptie, in de volgorde van de labels. Bijvoorbeeld lines[0][options][0]=Wit |
Prijs van een orderregel
Stuur je geen price mee, dan bepaalt Offsys de prijs:
- Heeft het product een vaste prijs (pricing_method is fixed), dan is dat de prijs van het product of van de gekozen variant.
- Heeft het product een prijs per periode (pricing_method is period), dan rekent Offsys de prijs uit met de staffel, van de leverdatum tot de retourdatum. Zonder retourdatum rekent Offsys met één dag.
Voorbeeld:
curl "https://api.offsys.nl/order" \-X POST \-H "Authorization: 37d37675-59cd-431c-8d28-9553de7bae4d" \-d "date=2026-06-12 10:00" \-d "retour_date=2026-06-14 18:00" \-d "event=Bruiloft" \-d "customer[type]=1" \-d "customer[name]=Jan Jansen" \-d "customer[email][email protected]" \-d "location[type]=3" \-d "location[name]=Boerderij De Linde" \-d "location[address]=Lindelaan 4" \-d "location[postal]=3456 CD" \-d "location[place]=Houten" \-d "lines[0][id]=1001" \-d "lines[0][amount]=2" \-d "lines[1][id]=1002" \-d "lines[1][amount]=8"Resultaat:
De volledige order, met dezelfde velden als bij Lijst.
{ "status": "success", "order": { "number": 20260002, "status": "aanvraag", ... }}Wijzigen
Wijzig een bestaande order. Alleen de velden die je meestuurt veranderen. Je kunt dezelfde velden gebruiken als bij Aanmaken.
Stuur je lines mee, dan vervangen die alle bestaande regels. Zonder lines blijven de regels en prijzen zoals ze zijn, ook als je de datums wijzigt.
Daarnaast kun je een aanvraag of offerte afwijzen:
| Veld | Waarde | Verplicht | Omschrijving |
|---|---|---|---|
| rejection_date | Datum | Nee | Datum van afwijzen. Werkt alleen bij een aanvraag of offerte. Stuur een lege waarde mee om het afwijzen ongedaan te maken |
| rejection_reason | Tekst | Nee | Reden van afwijzen |
Voorbeeld:
curl "https://api.offsys.nl/order/20260001" \-X PUT \-H "Authorization: 37d37675-59cd-431c-8d28-9553de7bae4d" \-d "status=factuur" \-d "payment_method=iDEAL"Resultaat:
De gewijzigde order, met dezelfde velden als bij Lijst.
Mailen
Mail de offerte of factuur naar de klant, met de mailinstellingen van je account.
| Veld | Waarde | Verplicht | Omschrijving |
|---|---|---|---|
| to | Lijst met e-mailadressen | Nee | Ontvangers. Standaard dezelfde ontvangers als in Offsys |
| subject | Tekst | Nee | Onderwerp. Standaard het onderwerp uit de layout |
| message | Tekst | Nee | Tekst van de mail, HTML mag. Standaard de tekst uit de layout |
| attach_pdf | 1 of 0 | Nee | De offerte of factuur als PDF meesturen. Standaard: 0 |
In subject en message kun je deze variabelen gebruiken:
| Variabele | Wordt | Onderwerp | Tekst |
|---|---|---|---|
| {id} | Ordernummer | Ja | Ja |
| {leverdatum} | Leverdatum, bijvoorbeeld 12-06-2026 | Ja | Ja |
| {leverdag} | Dag van de levering, bijvoorbeeld vrijdag | Ja | Ja |
| {vervaldatum} | Vervaldatum van de offerte of factuur | Ja | Ja |
| {bedrijfsnaam} | Naam uit de layout | Ja | Ja |
| {offertelink} | Link naar de offerte of factuur (links.document) | Nee | Ja |
| {factuurbedrag} | Totaalbedrag met btw en borg | Nee | Ja |
| {factuurgegevens} | Bijvoorbeeld "Offerte 20260001" | Nee | Ja |
| {klant_bedrijfsnaam} | Naam van de klant | Nee | Ja |
| {klant_contactpersoon} | Naam van de contactpersoon | Nee | Ja |
| {gebruikersnaam} | Naam van de verkoper van de order | Nee | Ja |
| {adres}, {postcode}, {plaats}, {email}, {telefoon}, {website} | Gegevens uit de layout | Nee | Ja |
Na het versturen wordt de order als gemaild gemarkeerd.
Voorbeeld:
curl "https://api.offsys.nl/order/20260001/mail" \-X POST \-H "Authorization: 37d37675-59cd-431c-8d28-9553de7bae4d" \-d "to[][email protected]" \-d "attach_pdf=1"Resultaat:
{ "status": "success", "message": null, "sent_to": [ ], "failed": [], "subject": "Offerte 20260001 Verhuur De Vries", "body": "Beste Anna Jansen, ..."}Heeft de order geen standaardontvanger, dan krijg je code 422 en moet je to meesturen. Mislukt het versturen naar een of meer ontvangers, dan krijg je code 502. In sent_to en failed staat wie de mail wel en niet heeft gekregen.