Skip to main content


Before you can use the Quotations API, you need to enable user authentication!

A quotation in DynaMaker is a way of integration between your dynamic tool and your product portal (or any system that you wish). The intended flow of events is as follows:

  1. The end user of your dynamic tool configures the product to their liking
  2. The end user requests a quotation from a button in the dynamic tool
  3. The dynamic tool generates related files such as custom product drawings
  4. The file are uploaded to the Quotations REST API
  5. A quotation.created event is sent to your product portal by a webhook
  6. Your other system confirms the webhook event creates or updates its own quotation entity
  7. The end user can view their quotation in your product portal and optionally view the product drawing


A quotation request can be created from your dynamic tool by using the Quotations plugin.


The Quotations plugin can be configured from the plugins section of your DynaMaker app dashboard.

Example Code

async function publishQuotation () {
const exampleDrawing = new SKYDRAWING.Drawing()
exampleDrawing.addContent(1, SKYCAD.generateCircleSketch(10, 100, 50))

const pdfDataUrl = await exampleDrawing.generatePdfDataUrl()

return PLUGINS.QUOTATION.publish({
files: [ { data: pdfDataUrl, name: 'example-drawing.pdf', type: 'pdf' } ],


With the Quotations REST API you can fetch information and files related to quotation requests that have been made in your dynamic tool.


All requests to the API must include the secret that can be found in the Quotations plugin in the app dashboard in DynaMaker. Add it to the request header as a bearer token:

Authorization: Bearer <quotationSecret>

Fetching Files

It is common to publish files such as PDF or DXF drawings when creating a quotation request. All such files have a unique fileId. The best way to get it is from the quotation.created webhook event. When you have the fileId and your quotation secret (see the authentication section on this page), getting the file is as simple as making a GET request:

Authorization: Bearer <quotationSecret>

Use With Node.js

If your server is using Node.js, the official npm package makes it simple to integrate with the API! Find out how to use it here!