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. Met het $api object uit de vorige stap is dat heel gemakkelijk. Wij geven hieronder een voorbeeld: je kunt de functie get_order_data() aanpassen om data uit jouw app of website te gebruiken.

$order = $api->post('/orders', get_order_data());

function get_order_data()
{
    $item1 = array(
        'productId' => 'boek_hc_a5_sta',
        'pageCount' => 32,
        'quantity' => 1,
        'files' => array(                     
            'cover' => 'https://www.printapi.nl/sample-book-a5-cover.pdf',
            'content' => 'https://www.printapi.nl/sample-book-a5-content.pdf'
        )
    );      

    $address = array(
        'name' => 'John Doe',
        'line1' => 'Osloweg 75',
        'postCode' => '9700 GE',
        'city' => 'Groningen',
        'country' => 'NL'
    );

    return array(
        'email' => 'info@printapi.nl',
        'items' => array($item1),                 
        'shipping' => array(
            'address' => $address
        )
    );
}
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.

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):

$item1 = array(
    'productId' => 'visitekaartjes_lig_50st',
    'quantity' => 1,
    'options' => array(
        array('id' => 'finish', 'value' => 'laminate_matte'),
        array('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