GoldLeaf DocumentationGoldLeaf Documentation
User Guide
API
User Guide
API
  • Getting Started

    • Introduction
    • API Key Types
    • Configuration
    • Limitations
  • E-Commerce Configurator

    • Introduction
    • Security Tokens
    • Setting up the Configurator
  • API Endpoints

    • Adaptor

      • [GET]adaptors-cross
      • [GET]adaptors-search
      • [GET]adaptor-{adaptorId}
      • [GET]adaptors-configuration
      • [POST]adaptors-create
      • [GET]organization-adaptors
      • [GET]organization-customadaptors
      • [POST]organization-adaptor-{adaptorId}-update
    • Brand

      • [GET]brands
      • [GET]hosebrands
      • [GET]adaptorbrands
      • [GET]wrapbrands
      • [GET]otheritembrands
      • [GET]brandnames
      • [POST]brand-{brandId}-delete
      • [POST]brand-{brandId}-update
      • [POST]brands-export
      • [GET]organization-defaultbrand
      • [GET]organization-defaultadaptorbrand
    • Component

      • [POST]components-import
      • [POST]components-exceltemplate
      • [POST]components-export
      • [GET]organization-components
    • CrimpFitting

      • [POST]crimpfittings-sizes
      • [POST]crimpfittings-create
      • [GET]crimpfitting-{crimpfittingId}
      • [POST]organization-crimpfitting-{crimpfittingId}-update
      • [GET]organization-couplingseries
      • [GET]organization-couplingseriesdetails
      • [GET]organization-crimpfittings
      • [GET]organization-crimpfittingswithferrules
      • [GET]organization-customcrimpfittings
    • Customer

      • [GET]customers
      • [GET]customernamess
      • [POST]customers-create
      • [GET]customer-{customerId}
      • [POST]customer-{customerId}-update
      • [POST]customer-{customerId}-delete
      • [POST]customers-exceltemplate
      • [POST]customers-export
      • [GET]customer-{customerId}-items
      • [POST]customer-{customerId}-item-{itemId}-update
      • [POST]customer-{customerId}-item-{itemId}-delete
      • [POST]customers-items-import
      • [POST]customers-items-exceltemplate
      • [POST]customer-{customerId}-items-export
      • [GET]customer-{customerId}-locations
      • [POST]customer-{customerId}-location-{locationId}-update
      • [POST]customer-{customerId}-location-{locationId}-delete
    • Ferrule

      • [POST]ferrules-create
      • [GET]ferrule-{ferruleId}
      • [GET]organization-ferrule
      • [POST]organization-ferrule-{ferruleId}-update
      • [GET]organization-ferrules
      • [GET]organization-customferrules
    • Gender

      • [GET]genders
    • Hose

      • [POST]hoses-sizes
      • [POST]hoses-create
      • [GET]hose-{hoseId}
      • [GET]hose-{hoseId}-crimpspecs
      • [POST]organization-hose-{hoseId}-update
      • [GET]organization-hoses
      • [GET]organization-customhoses
      • [GET]organization-hasparker
    • HoseAssembly

      • [POST]hoseassemblies-checkexisting
      • [POST]hoseassemblies-create
      • [POST]hoseassembly-:hoseAssemblyId-datasheet
      • [POST]hoseassembly-{hoseAssemblyId}-label
      • [GET]hoseassemblies
      • [GET]hoseassembly-{hoseAssemblyId}
      • [GET]hoseassemblies-parse
      • [POST]hoseassemblies-parsefeedback
      • [POST]hoseassembly-{hoseAssemblyId}-saveas
      • [POST]hoseassembly-:hoseAssemblyId-update
      • [POST]hoseassembly-:hoseAssemblyId-delete
      • [POST]hoseassembly-{hoseAssemblyId}-customers-update
      • [POST]hoseassembly-{hoseAssemblyId}-customers-delete
      • [POST]hoseassemblies-import
      • [POST]hoseassemblies-exceltemplate
      • [POST]hoseassemblies-export
      • [POST]hoseassembly-{hoseAssemblyId}-getBillOfMaterials
      • [POST]hoseassembly-{hoseAssemblyId}-getmarkenfile
      • [POST]hoseassembly-{hoseAssemblyId}-getparkerptsfile
      • [POST]hoseassembly-{hoseAssemblyId}-price
      • [POST]hoseassembly-price
      • [POST]hoseassembly-{hoseAssemblyId}-release
      • [POST]hoseassembly-{hoseAssemblyId}-unrelease
      • [POST]hoseassembly-{hoseAssemblyId}-obsolete
      • [POST]hoseassembly-{hoseAssemblyId}-newversion
      • [POST]hoseassembly-{hoseAssemblyId}-rollback
      • [POST]hoseassembly-{hoseAssemblyId}-revise
    • HoseKit

      • [POST]hosekits-checkexisting
      • [POST]hosekits-create
      • [GET]hosekits
      • [GET]hosekit-{hoseKitId}
      • [POST]hosekit-{hoseKitId}-update
      • [POST]hosekit-{hoseKitId}-release
      • [POST]hosekit-{hoseKitId}-newversion
      • [POST]hosekit-{hoseKitId}-rollback
      • [POST]hosekit-{hoseKitId}-revise
      • [POST]hosekit-{hoseKitId}-delete
      • [POST]hosekit-{hoseKitId}-addhoseassembly
      • [POST]hosekit-{hoseKitId}-addadaptor
      • [POST]hosekit-{hoseKitId}-addotheritem
      • [GET]hosekit-{hoseKitId}-hoseassemblies
      • [GET]hosekit-{hoseKitId}-adaptors
      • [GET]hosekit-{hoseKitId}-otheritems
      • [GET]hosekit-{hoseKitId}-allitems
      • [POST]hosekit-{hoseKitId}-item-{itemId}-delete
      • [POST]hosekit-{hoseKitId}-hoseassembly-{itemId}-update
      • [POST]hosekit-{hoseKitId}-adaptor-{itemId}-update
      • [POST]hosekit-{hoseKitId}-otheritem-{itemId}-update
      • [POST]hosekit-:hoseKitId-getHoseKitDataSheet
      • [POST]hosekit-{hoseKitId}-getBillOfMaterials
      • [POST]hosekit-{hoseKitId}-getmarkenfile
      • [POST]hosekit-{hoseKitId}-getparkerptsfile
      • [POST]hosekits-export
      • [POST]hosekit-{hoseKitId}-labels
      • [POST]hosekit-{hoseKitId}-price
    • Image

      • [GET]image-{belongsToId}
    • Inventory

      • [GET]inventory
      • [POST]inventory-import
      • [POST]inventory-exceltemplate
      • [POST]inventoryitems-export
      • [POST]inventoryitem-{inventoryItemId}-delete
      • [POST]inventoryitem-update
      • [GET]organization-hideinventory
    • Item

      • [GET]item-{itemId}
      • [GET]organization-items
      • [GET]organization-itemtypes
      • [GET]organization-pendingitems
      • [POST]organization-item-{itemId}-update
    • Organization

      • [GET]organization
      • [POST]organization-update
      • [GET]organization-defaults
      • [GET]organization-currencies
      • [POST]organization-currencies-update
      • [GET]organization-subscription
      • [GET]organization-erpname
      • [GET]organization-usebetafeatures
      • [POST]organization-acceptterms
      • [GET]organization-hasacceptedterms
      • [POST]organization-productgroups-update
      • [POST]organization-suppliers-update
      • [POST]organization-locations-update
      • [GET]organization-productgroups
      • [GET]organization-suppliers
      • [GET]organization-locations
      • [GET]organization-apikeys
      • [POST]organization-apikeys-{apiKeyId}-update
      • [POST]organization-apikeys-{apiKeyId}-delete
      • [GET]organization-nextpartnumber
      • [GET]organization-revisiondelimiter
      • [GET]organization-api-history
    • OtherItem

      • [POST]otheritems-create
      • [POST]otheritems-{itemId}-delete
      • [POST]otheritems-{itemId}-update
      • [GET]otheritem-{otherItemId}
      • [POST]organization-otheritem-{otherItemId}-update
      • [GET]organization-customotheritems
    • PriceList

      • [GET]pricelists
      • [GET]pricelistnames
      • [POST]pricelists-create
      • [GET]pricelist-{priceListId}
      • [POST]pricelist-{priceListId}-update
      • [POST]pricelist-{priceListId}-delete
      • [POST]pricelists-import
      • [POST]pricelists-exceltemplate
      • [POST]pricelists-export
    • SalesEstimate

      • [POST]salesestimates-checkexisting
      • [POST]salesestimates-create
      • [GET]salesestimates
      • [GET]salesestimate-{salesEstimateId}
      • [GET]salesestimate-{salesEstimateId}-currentpricing
      • [POST]salesestimate-{salesEstimateId}-update
      • [POST]salesestimate-{salesEstimateId}-item-{itemId}-update
      • [POST]salesestimate-{salesEstimateId}-item-{itemId}-delete
      • [POST]salesestimate-{salesEstimateId}-release
      • [POST]salesestimate-{salesEstimateId}-newversion
      • [POST]salesestimate-{salesEstimateId}-rollback
      • [POST]salesestimate-{salesEstimateId}-revise
      • [POST]salesestimate-:salesEstimateId-getSalesEstimateDataSheet
      • [POST]salesestimate-{salesEstimateId}-getBillOfMaterials
      • [GET]salesestimate-{salesEstimateId}-refresh
      • [GET]salesestimate-{salesEstimateId}-items
      • [POST]salesestimates-export
    • Shape

      • [GET]shapes
    • Size

      • [GET]hosesizes
      • [GET]endsizes
    • Style

      • [GET]styles
    • User

      • [GET]user
      • [POST]users-update
      • [POST]user-resetpassword
      • [GET]organization-userroles
      • [GET]organization-userrolesandsubscription
      • [GET]organization-roles
      • [POST]organization-users-invite
      • [POST]organization-user-{userId}-delete
      • [POST]organization-user-{userId}-remind
      • [GET]organization-users
    • Warehouse

      • [GET]warehouses
      • [GET]warehouse-{warehouseId}
      • [POST]warehouses-create
      • [POST]warehouse-{warehouseId}-delete
      • [POST]warehouse-{warehouseId}-update
      • [POST]warehouses-export
      • [POST]warehouses-import
      • [POST]warehouses-exceltemplate
      • [GET]organization-defaultwarehouse
    • WorkOrder

      • [POST]workorders-checkexisting
      • [POST]workorders-create
      • [GET]workorders
      • [GET]workorder-{workOrderId}
      • [POST]workorder-{workOrderId}-update
      • [POST]workorder-{workOrderId}-delete
      • [POST]workorder-{workOrderId}-addline
      • [POST]workorder-{workOrderId}-release
      • [POST]workorder-{workOrderId}-newversion
      • [POST]workorder-{workOrderId}-rollback
      • [POST]workorder-{workOrderId}-revise
      • [GET]workorder-{workOrderId}-items
      • [POST]workorder-{workOrderId}-item-{itemId}-delete
      • [POST]workorder-{workOrderId}-item-{itemId}-update
      • [POST]workorder-{workOrderId}-getWorkOrderDataSheet
      • [POST]workorder-{workOrderId}-getmarkenfile
      • [POST]workorder-{workOrderId}-getparkerptsfile
      • [POST]workorders-export
      • [POST]workorder-{workOrderId}-labels
    • Wrap

      • [POST]wraps-create
      • [GET]wrap-{wrapId}
      • [GET]organization-wrapstyles
      • [GET]organization-wrapcoverage
      • [POST]organization-wrap-{wrapId}-update
      • [GET]organization-wraps
      • [GET]organization-customwraps
  • API Schemas

    • Adaptor
    • Brand
    • BrandProperties
    • CrimpFitting
    • Customer
    • CustomerItemProperties
    • Ferrule
    • Hose
    • HoseAssembly
    • HoseKit
    • ImageProperties
    • InventoryItem
    • ItemProperties
    • Item
    • OrganizationCurrency
    • OrganizationOtherItem
    • OrganizationProperties
    • PriceList
    • PriceListItem
    • SalesEstimate
    • Warehouse
    • WorkOrder
    • Wrap

The Configurator iframe Component

1. Preparation & Options

The GoldLeaf hose assembly iframe configurator can be setup with the following options that can be passed to the iframe as url query parameters:

OptionUrl Query parameterListener (event.data.type)
Add to cart buttonadd_to_cart_button=trueaddedToCart
Request quote buttonrequest_quote_button=truerequestedQuote
Get PDF drawinggenerate_pdf_button=truegeneratedPdf

2. Iframe Setup

Create an iframe on your site that points to: https://goldleaf.app/iframe/hoseassembly?security_token=<yourSecurityToken>&customer_id=<yourCustomerId>, (where customer_id is optional). It should listen for whichever event.data.type event is setup based on the options selected, as well as securityTokenExpired.

3. Query Parameters Summary:

These are all the query parameters that the GoldLeaf hose assembly configurator accepts:

Query ParameterDescription
security_tokenthe returned token retrieved above
customer_idthe GoldLeaf customer’s id (24-character hex string)
add_to_cart_button"true" to show this button
request_quote_button"true" to show this button
generate_pdf_button"true" to show this button
button_coloura colour name or hex code (e.g. 'red' or '#FF0000')
button_colora color name or hex code (e.g. 'red' or '#FF0000')
hide_pricing"true" to hide all pricing in menus
hide_in_stock_only_button"true" to hide the ability to show only in-stock items in menus

4. Events

Events are emitted as a postMessage from the iframe to the parent window. Your application should listen for these postMessages and handle them appropriately.

4.1. securityTokenExpired

This indicates that the security token has expired (e.g. an active user session has exceeded an hour). Your site should be setup to listen for this event, generate a new security token from the API key, and update the url query parameter of the iframe component.

4.2. addedToCart

This indicates that a user has asked to add this hose assembly to your cart. This postMessage will include the data for the hose assembly that was added in json format (See below).

4.3. requestedQuote

This indicates that a user has asked to get a quote for this hose assembly. This postMessage will include the data for the hose assembly that was added in json format (See below).

4.4. generatedPdf

This indicates that the user has generated a pdf for this hose assembly. It is optional to listen for this event but could be useful for data tracking purposes or follow-ups.

5. Response Hose Assembly

The response from adding to cart or requesting a quote is the details of the hose assembly in json format. The details of this hose assembly are as follows:

// Response json object:
{
	id, // the hose assembly id
	customerOrgId, // the customer’s id
	partNumber, // the hose assembly part number
	revision, // the hose assembly revision
	customerPartNumber, // the part number entered by the customer
	customerRevision, // the revision entered by the customer
	description, // the description of this hose assembly
	hosePartNumber, // the standard GoldLeaf hose part number
	end1PartNumber, // the standard GoldLeaf end 1 part number
	end2PartNumber, // the standard GoldLeaf end 2 part number
	ferrule1PartNumber, // the standard GoldLeaf ferrule 1 part number
	ferrule2PartNumber, // the standard GoldLeaf ferrule 2 part number
	wrapPartNumber, // the standard GoldLeaf wrap part number
	hoseOrgPartNumber, // your part number for the hose
	end1OrgPartNumber, // your part number for end 1
	end2OrgPartNumber, // your part number for end 2
	ferrule1OrgPartNumber, // your part number for ferrule 1
	ferrule2OrgPartNumber, // your part number for ferrule 2
	wrapOrgPartNumber, // your part number for the wrap
	hose, // the hose id
	end1, // the end 1 id
	end2, // the end 2 id
	ferrule1, // the ferrule 1 id
	ferrule2, // the ferrule 2 id
	wrap, // the wrap id
	wrapStyle, // the wrap style (object)
	length, // the hose length
	lengthUnit, // the hose length unit of measure
	orientation, // the orientation of the ends
}

If more details are required about the hose assembly, they can be fetched using the standard GoldLeaf API’s and an admin API key. Such examples are:

TypeEndpointNotes
GET/hoseassembly/:hoseAssemblyId(includes full bill of materials with scrap)
POST/hoseassembly/:hoseAssemblyId/getBillOfMaterials(get just the bill of materials with scrap)
POST/hoseassembly/:hoseAssemblyId/price(can pass the params.customerId for customer specific)
POST/hoseassembly/:hoseAssemblyId/release(to ‘release’ this hose assembly)
POST/hoseassembly/:hoseAssemblyId/datasheet(body = { format: ‘pdf’, customerId: <customerId> } to fetch a pdf data sheet – customerId is optional)

Full details are available in the Endpoints section of the API documentation.

Last Updated:: 2025-08-12, 1:40 p.m.
Prev
Security Tokens