REST API

Documentatie


Bestellen

Je stuurt printopdrachten naar onze drukkerij in de vorm van bestellingen. Een bestelling bestaat uit één of meer producten en een verzendadres. Per product moet je één of meer bestanden aanleveren:

  • Boeken zijn altijd in PDF-formaat, omslag en binnenwerk apart
  • Producten zonder pagina's, zoals posters, mogen in PDF-, PNG- of JPEG-formaat

De precieze aanleverspecificaties van elk product zijn te vinden in onze productenlijst. De API controleert of je bestanden hieraan voldoen.

Bekijk ook zeker eens de informatie in onze FAQ.
Voorbeeld

Om een bestelling aan te maken POST je de bestelgegevens naar de API. Wij adviseren om de data aan te leveren als JSON, maar XML is ook ondersteund. Let op dat je Content-Type en Accept headers goed staan.

Request:
POST /v2/orders HTTP/1.1
Authorization: Bearer TOKEN
Accept: application/json
Content-Type: application/json

{
  "email": "info@printapi.nl",
  "items": [
    {
      "productId": "boek_hc_a5_sta",
      "pageCount": 32,
      "quantity": 1,
      "files": {
        "content": "https://www.printapi.nl/sample-book-a5-content.pdf",
        "cover": "https://www.printapi.nl/sample-book-a5-cover.pdf"
      }
    },
  ],
  "shipping": {
    "address": {
      "name": "John Doe",
      "line1": "Osloweg 75",
      "postCode": "9700 GE",
      "city": "Groningen",
      "country": "NL"
    }
  }
}
Velden met bijzonderheden:
Naam Toelichting
"email" Optioneel: voor e-mailbevestigingen, als die zijn aangezet
item["productId"] Te vinden in je productenlijst
item["pageCount"] Alleen nodig voor boeken en fotoprints
item["files"] Optioneel: je kunt ook naar de API uploaden
address["country"] Een ISO 3166-1 alpha 2 landcode

Wil je de bestelling en/of items je eigen ID's meegeven? Geef deze dan mee in een extra veld genaamd "id" (max. 36 tekens). Ook kun je een veld "metadata" toevoegen, waar je tot 1 kilobyte aan willekeurige gegevens in mag opslaan. Zie de API reference voor details.

Response:
HTTP/1.1 201 Created                 
Content-Type: application/json;charset=UTF-8
Content-Length: 746
Location: https://test.printapi.nl/v2/orders/83432183

{
  "id": "83432183",
  "status": "Created",
  "dateTime": "2015-10-21T12:53:06.9931422",
  "email": "info@printapi.nl",
  "items": [
    {
      "id": "07453",                     
      "productId": "boek_hardcover_a5_sta",
      "pageCount": 32,
      "quantity": 1,
      "files": {
        "content": {
          "status": "DownloadPending",
          "downloadUrl": "https://www.printapi.nl/sample-book-a5-content.pdf"
        },
        "cover": {
          "status": "DownloadPending",
          "downloadUrl": "https://www.printapi.nl/sample-book-a5-cover.pdf"
        }
      }
    }
  ],
  "shipping": {
    "method": {
      "name": "Brievenbuspakje",
      "isTrackable": true,
    },
    "address": {
      "name": "John Doe",
      "line1": "Osloweg 75",
      "postCode": "9700 GE",
      "city": "Groningen",
      "country": "NL"
    }
  }
}
Je vindt je bestellingen terug in het besteloverzicht.

Standaard is je bestelling in afwachting van betaling door jouw klant. Je kunt ook kiezen om zelf achteraf een factuur te ontvangen. Hierover meer in de stap Betalen.


Optioneel Productopties

Als je wilt, kun je bij het aanmaken van een bestelling productopties meesturen. Met productopties pas je een item aan naar eigen wens. Denk bijvoorbeeld aan:

  • Luxe linnen of kunstleren omslag (boeken)
  • Glans- of matlaminaat (posters)
  • Ophangsysteem (wanddecoratie)

Open de productenlijst en klik op je gewenste product om te zien welke opties we aanbieden. Wil je een optie die we nog niet aanbieden, neem dan gerust contact op! Om productopties mee te sturen voeg je een array options toe aan je item(s):

"items": [
  {
    "productId": "visitekaartjes_lig_50st",
    "quantity": 1,
    "options": [
      { "id": "finish", "value": "laminate_matte" },
      { "id": "corners", "value": "rounded" }
    ]
  }
]
Velden met bijzonderheden:
Naam Toelichting
option["id"] De ID vermeld op de productpagina.
option["value"] De Value vermeld op de productpagina.

Per optie ID mag je maximaal één value opgeven. Laat je een optie weg, dan gebruikt Print API automatisch de standaardwaarde. Op de productpagina staat deze aangegeven met "(standaard)".

Volgende