Preview the exact parts before ordering
preview_print_orderMANDATORY before creating any order or checkout, including reorders.
Render exact validated geometry and quote the whole order. Display EVERY returned
part image with name, dimensions, material/color, quantity, notes and total to the
buyer. The in-chat card shows images where supported; otherwise embed image_url
values or give viewer_url and ask the buyer to review there. Never substitute an
AI illustration, or describe unshown images as reviewed. Ask for explicit buyer
confirmation of this version only after presenting the preview. Changes require
a new preview and new confirmation; pass replaces_preview_id to revoke the old preview. Preview failure blocks ordering.
After confirmation call submit_print_job (or reorder_print_job) using preview_id,
preview_version, buyer_confirmed=true and shipping/contact details; do not resend
models or option overrides. Preview generation and viewing never create an order.
Separate parts are displayed individually, not as an inferred assembly.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | Selected filament color. Default black for new models; omit to retain reorder colors. | |
| notes | No | Operator instructions to show and bind to this preview; changes require a new preview. | |
| parts | No | The WHOLE order, one entry per part. Use a model_id from earlier validation, an STL, or OpenSCAD. Each entry has its own name, material, color and quantity. Each part's quantity is capped by its own print time, not a flat count. Shipping and handling are charged once; never add independent quote totals. | |
| job_name | No | Short order name shown with the preview. | |
| material | No | PLA or PETG. Default PLA for new models; omit to retain reorder materials. | |
| quantity | No | How many identical copies. The totals cover all of them. Capped by how long the part takes to print, not a flat number -- a quick part allows many copies, a very large or slow one may allow as few as 1; submit_print_job reports the real cap if this is too many. | |
| reorder_of | No | Existing order ID to preview for reorder; omit new model inputs when using this. | |
| stl_base64 | No | The model as a base64-encoded STL file (binary or ASCII), in millimeters. | |
| openscad_source | No | OpenSCAD source in millimeters. Rendered and validated before preview; never an illustrative AI image. | |
| replaces_preview_id | No | When revising an unplaced order, pass its previous preview id. It is invalidated even if the new render fails. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |