3DPrintler API

Documentation

Authentication

Please contact us with request for API key
API key is sent with every request in header as ‘api-key’

Request example

<?php

$client = new http\Client;

$request = new http\Client\Request;

$request->setRequestUrl('https://app.3dprintler.com/api/v1/materials/types');

$request->setRequestMethod('POST');

$request->setHeaders(array(

'cache-control' => 'no-cache',

'api-key' => '***'

$client->enqueue($request)->send();

$response = $client->getResponse();

echo $response->getBody();

?>

Materials API

List of material types

Return list of materials types available for search (Plastics, Metals, Ceramics, Resins, Castables/Wax, Elastics, Sandstone).

URL

POST

/api/v1/materials/types

Request example

<?php

$client = new http\Client;

$request = new http\Client\Request;

$request->setRequestUrl('https://app.3dprintler.com/api/v1/materials/types');

$request->setRequestMethod('POST');

$request->setHeaders(array(

'cache-control' => 'no-cache',

'api-key' => '***'));

$client->enqueue($request)->send();

$response = $client->getResponse();

echo $response->getBody();

?>

Response example

[

{

"label": "Gold",

"value": "gold"

},

{

"label": "Plastic",

"value": "plastic"

},

//..

{

"label": "Precious Metals",

"value": "precious_metals"

}

]


$client->enqueue($request)->send();

$response = $client->getResponse();


echo $response->getBody();

List of material colors

Return list of materials colors available for search (Orange, Purple, Red,...).

URL

POST

/api/v1/materials/colors

Response

Array of material colors. Materials type contains two properties: label and value

Request example

<?php

$client = new http\Client;

$request = new http\Client\Request;


$request->setRequestUrl('https://app.3dprintler.com/api/v1/materials/colors');

$request->setRequestMethod('POST');

$request->setHeaders(array(

'cache-control' => 'no-cache',

'api-key' => '***'

));


$client->enqueue($request)->send();

$response = $client->getResponse();

echo $response->getBody();

?>

Response example

[

{

"label": "Orange",

"value": "orange"

},

{

"label": "Purple",

"value": "purple"

},

//...


{

"label": "Red",

"value": "red"

}

]


$client->enqueue($request)->send();

$response = $client->getResponse();


echo $response->getBody();

Material type details

For requested material type API returns list of materials.

URL

POST

/api/v1/materials/list

Response

Array of materials with details. Materials details can vary from vendor to vendor

Request example

<?php

$client = new http\Client;

$request = new http\Client\Request;


$request->setRequestUrl('https://app.3dprintler.com/api/v1/materials/colors');

$request->setRequestMethod('POST');

$request->setHeaders(array(

'cache-control' => 'no-cache',

'api-key' => '***'

));


$client->enqueue($request)->send();

$response = $client->getResponse();

echo $response->getBody();

?>

Response example

[

{

"_id": "2EpaAF25jRtG7zDA7",

"vendor": "sculpteo",

"id": "resin_painted_marron_glace",

"name": "Resin (marron glacé painted)",

"description": "Spray painting on white detail resin. The surface is smooth with a matt aspect.",

"minimum_thickness": 1,

"max_X_axis": 254,

"max_Y_axis": 251,

"max_Z_axis": 203,

"ambient_color": {

"r": 0.48,

"b": 0.15,

"g": 0.24

},

"diffuse_color": {

"r": 0.2,

"b": 0.2,

"g": 0.2

},

"specular_color": {

"r": 0.1,

"b": 0.1,

"g": 0.1

},

"smooth": false,

"envmap": false,

"updated": "2016-03-11T03:19:15.584Z",

"accepted": true,

"display_finishing": "Smooth & Matte",

"display_name": "Resin (High Detail)",

"type": [

"plastic",

"resin"

],

"color": "brown",

"technology": [

"polyjet-3d-printing"

],

"status": "enabled"

},

//...

]


$client->enqueue($request)->send();

$response = $client->getResponse();


echo $response->getBody();

Search API

This API allows to query the price that would be billed to 3D print a given design.

URL

POST

/api/v1/query

Parameters

material - required, one of material types (one of values in list returned by List of material types API)

unit - unit of the design (‘mm’, ‘in’, default ‘mm’)

currency - currency in which price is returned (‘EUR’, ‘USD’, default ‘USD’)

file_url: flle url for web2web upload

Response

Assoc array of materials with descriptions and prices:


{

"prices": [

{


"vendor": "sculpteo",

"name": "Resin (High Detail)",

"price": "13.63",

"color": "orange",

"order_url":

"https://app.3dprintler.com/sculpteo-web2web/6RfyghZWaaAJN8raL/resin_painted_orange/mm/orange/13.63"

},

{

"vendor": "sculpteo",

"name": "Plastic (Nylon)",

"finishing": "Raw (rough & grainy)",

"price": "8.82",

"color": "brown",

"order_url":

"https://app.3dprintler.com/sculpteo-web2web/6RfyghZWaaAJN8raL/brown_plastic/mm/brown/8.82"

};


//...

]

}

Request Example

<?php

$client = new http\Client;

$request = new http\Client\Request;

$body = new http\Message\Body;

$body->addForm(array(

'unit' => 'mm',

'currency' => 'USD',

'metrial' => 'metal,sendstone',

'file_url' =>

'https://raw.githubusercontent.com/3dponics/Drip-3Dponics/master/Conduit%20with%20Hole/3Dponics-Conduit-with-Hole.STL' ), NULL);


$request->setRequestUrl('https://app.3dprintler.com/api/v1/query');

$request->setRequestMethod('POST');

$request->setBody($body);


$request->setHeaders(array(

'api-key' => '***'

));


$client->enqueue($request)->send();

$response = $client->getResponse();


echo $response->getBody();


Response Example

{

“prices”:[

{

"vendor": "sculpteo",

"name": "Plastic (Nylon) - 60μm",

"finishing": "Raw (rough & grainy)",

"price": "13.36",

"color": "burgundy",

"order_url":

"https://app.3dprintler.com/sculpteo-web2web/6RfyghZWaaAJN8raL/burgundy_plastic_60u/mm/burgundy/13.36"

},

{

"vendor": "shapeways",


"name": "Plastic (High-Detail Acrylic)",

"finishing": "Smooth & Slightly Shiny",

"price": 14.4,


"color": "transparent",

"order_url":


"https://www.shapeways.com/create?utm_source=3dprintler&utm_medium=serp"


}


//....


]


}


materialize
sculpteo
shapeways
makexyz
treatstock
spark