Skip to main content

Types

AddressInput

NameTypeDescription
address1StringThe first address line.
address2StringThe second address line.
cityStringThe city.
companyStringCompany if applicable.
countryStringCountry.
countryCodeStringA shorthand country code.
firstNameStringThe first name of the recipient.
lastNameStringThe last name of the recipient.
latitudeStringLatitude if relevant.
longitudeStringLongitutude if relevant.
nameStringFull name as single string if convenient.
phoneStringA contact number.
provinceStringA state or province within the country.
provinceCodeStringA code for the state or province.
zipStringA zip number for postal purposes.

Bundle

A bundle is a collection of transactions that are grouped together.

NameTypeDescription
idString!ID of this bundle.
bundleOwnerIdStringTemporary ID that grants write access to this bundle.
bundleStakeholders[BundleStakeholder]The stakeholders that are part of this bundle.
createdAtString!The date this bundle was created.
metadata[BundleMetadataItem]Metadata associated with this bundle.
nameStringHuman-readable name of this bundle.
partnerPartnerThe partner that this bundle is associated with.
transactions[Transaction]The transactions that are part of this bundle.

BundleMetadataInput

A key-value pair of metadata.

NameTypeDescription
keyStringThe key of this metadata item.
valueStringThe value of this metadata.

BundleMetadataItem

A key-value pair of metadata.

NameTypeDescription
keyStringThe key of this metadata item.
valueStringThe value of this metadata.

BundleStakeholder

A link between a customer and bundle.

NameTypeDescription
idStringID of this stakeholder.
typeStringThe type of this stakeholder.
bundleBundleThe related bundle.
customerCustomerThe related customer.

BundleStakeholderInput

A stakeholder to be added to a bundle.

NameTypeDescription
customerDetailsCustomerDetailsInput!The details of the customer.
typeString!The type of this stakeholder.

ConversionConfiguration

Configuration that specifies how consumer data is collected during the workflow experience.

NameTypeDescription
idString!ID of this configuration.
locations[String]!The locations configured to trigger the display of the form.
mandatoryBooleanWhether completeing the form is required.
nameStringHuman-readable name of this configuration.
requestedDataItems[ConversionData]!The items to request data for.

ConversionData

A datum requested from consumers during the workflow experience.

NameTypeDescription
mandatoryBooleanWhether this item is required.
typeString!The type of data to request.

Customer

A consumer.

NameTypeDescription
createdAtStringWhen this customer was created.
emailAddressStringEmail address of this customer.
firstNameStringFirst name of this customer.
idStringID of this customer.
lastActiveAtStringWhen this customer last interacted with the system.
lastNameStringLast name of this customer.
phoneNumberStringPhone number of this customer.

CustomerDetailsInput

The details of a customer to be added or updated.

NameTypeDescription
emailAddressStringEmail address of this customer.
firstNameStringFirst name of this customer.
lastNameStringLast name of this customer.
phoneNumberStringPhone number of this customer.

ExternalDataInput

A special metadata object allowing for the storage of additional information provided by any external platform when placing an order. This data can then be referenced by our fulfillment automation layer.

NameTypeDescription
orderNumberStringAn external order id
customerEmailStringThe email of the customer that made this order.
customerPhoneStringThe phone number of the customer that made this order.
billingAddress[AddressInput]A billing address provided at time of order.
shippingAddress[AddressInput]A shipping address provided at time of order.
discountCodes[String]A list of discount codes that were applied at time of order.
noteStringAny note listed against the order that may be add additional context to its state.

GlobalPropertyConfiguration

A specification of customizable and personzalizable aspects that are shareable between steps.

NameTypeDescription
idStringID of this global property configuration.
nameStringHuman-readable name of this configuration.
aspects[GlobalPropertyConfigurationAspect]The properties themselves.

GlobalPropertyConfigurationAspect

An individual aspect that is shareable between steps.

NameTypeDescription
nameStringUnique name of this aspect.
typeStringType of this aspect.
entityIdStringID of a related entity e.g. if the aspect relates to an option.
titleStringTitle to be displayed in a UI.
descriptionStringDescription to be displayed in a UI.

GlobalPropertyConfigurationAspectInput

NameTypeDescription
nameString!Unique name of this aspect.
typeString!Type of this aspect.
entityIdStringID of a related entity e.g. if the aspect relates to an option.
titleStringTitle to be displayed in a UI.
descriptionStringDescription to be displayed in a UI.

GlobalPropertyConfigurationsFeed

Container for a list of global property configurations.

NameTypeDescription
items[GlobalPropertyConfiguration]A list of global property configurations.

GlobalPropertyState

The choices made by a consumer against global properties.

NameTypeDescription
idStringID of this global property state.
aspects[GlobalPropertyStateAspect]The properties themselves.

GlobalPropertyStateAspect

Choice made by a consumer against a global property.

NameTypeDescription
nameStringUnique name of this aspect.
valueStringValue selected by consumer.

GlobalPropertyStateAspectInput

NameTypeDescription
nameString!Unique name of this aspect.
valueString!Value selected by consumer.

Integration

A connection to a sales channel or inventory system, usually an ecommerce store.

NameTypeDescription
enabledBooleanWhether this integration is currently enabled.
externalIntegrationIdStringThe external id of the integration. Most commonly set to the identifying data of the shop from a given integration.
idStringID of this integration.
typeStringThe type of this integration.

IntegrationProduct

A pairing of an integration with a product, used as the link between the system and products on external sites.

NameTypeDescription
additionalExternalProductIdStringID of a related product in the external ecommerce system.
additionalExternalVariantIdStringID of a related variant in the external ecommerce system.
externalProductIdStringID of the product in the external ecommerce system.
externalVariantIdStringID of the variant in the external ecommerce system.
idStringID of this integration product.
integrationEnabledBooleanWhether the related integration is enabled.
integrationIntegrationThe related integration.
mainBooleanWhether this is the main integration product for the given product.
productProductThe related product.

LineItem

A transaction whose design has been purchased.

NameTypeDescription
basePriceIntBase price, in subunits, of the product at the time it was ordered.
brochureLinkStringURL to get the related brochure.
createdAtStringWhen this line item was created.
customFieldsStringThe custom field values saved against the related design.
externalIdStringID supplied by an external platform.
idStringThe ID of the line item.
integrationTypeStringThe type of integration used to created the corresponding transaction.
orderOrderThe order that this line item belongs to.
outputDataOutputDataThe output data corresponding to the related transaction.
previewImageLinkStringURL to get the related preview image.
proxyOrderProxyOrderThe proxy order that this line item belongs to.
quantityIntThe amount of this design that was ordered.
rejectedAtStringWhen this line item failed moderation.
shippingProviderStatusStringA shipping provider's status saved against the line item during a process flow.
shippingProviderTrackingNumberStringA shipping provider's tracking number saved against the line item during a process flow.
shippingProviderTrackingUrlStringA shipping provider's tracking URL saved against the line item during a process flow.
skuStringThe dynamic SKU of the related transaction.
statusStringThe moderation status of this line item.
transactionTransactionThe transaction of this line item.

MetadataItem

A datum determined as part of a workflow experience.

NameTypeDescription
nameStringThe step name and metadata type of this item.
valueStringThe value of this item.

Metafield

A piece of data attached to an entity that conforms to a prespecified metafield configuration.

NameTypeDescription
idString!The ID of the metafield.
createdAtString!When this metafield was created.
updatedAtString!When this metafield was last updated.
entityIdString!The ID of the entity that this metafield belongs to.
metafieldConfigurationMetafieldConfiguration!The metafield configuration that this metafield corresponds to.
valueString!The serialized JSON of the value of this metafield.

MetafieldConfiguration

A configuration that has been created for all of entities of a particular type.

NameTypeDescription
idString!The ID of the metafield configuration.
createdAtString!When this metafield configuration was created.
updatedAtString!When this metafield configuration was last updated.
entityTypeString!The type of entities that this metafield configuration applies to.
metafieldTypeString!The type of values that metafield for this configuration may accept.
nameString!The name of metafields for this configuration.
descriptionString!An optional description for this configuration.

MetafieldConfigurationsFeed

A container for a list of metafield configurations.

NameTypeDescription
items[MetafieldConfiguration]!A list of metafield configurations.

Order

A set of line items that were purchased together.

NameTypeDescription
createdAtStringWhen this order was created.
externalIdStringID generated by the external ecommerce platform.
externalTagsStringComma-separated tags from the ecommerce platform.
idStringThe ID of the order.
internalIdStringID supplied when creating an internal order.
lineItems[LineItem]The line items that were purchased.
paidBooleanIf known, whether the order has been paid for by the customer.

OrderItemInput

A line item to be added to an order.

NameTypeDescription
amountToOrderInt!A quantity to be added for this specific line item.
bundleIdStringThe identifier of the bundle relating to this line item. The transactionId field will be ignored if this is set.
transactionIdStringThe identifier of the transaction relating to this line item.

OrderSimpleBundleInput

A bundle to create for the line items of a simple order.

NameTypeDescription
ownerEmailAddressStringThe email address of the owner of this order's bundle.
metadata[BundleMetadataInput]A list of BundleMetadataInput items.

OrderSimpleItemInput

A line item to be added to a simple order.

NameTypeDescription
amountToOrderInt!A quantity to be added for this line item.
externalIdStringID corresponding to an item in an external platform.
productIdString!The ID of the Spiff product of this line item.
workflowIdString!The ID of the Spiff workflow of this line item.
steps[OrderSimpleItemStepInput]A list of OrderSimpleItemStepInput items.

OrderSimpleItemStepInput

An object that specifies the metadata and variant selections to record against a workflow step in a line item of a simple order.

NameTypeDescription
stepNameString!The ID of the step in the workflow.
textStringText metadata to store against a text step.
variantIdStringID of the Spiff variant if one needs to be selected for this step.

OrderStatus

A partner-configured status that can be assigned to an order.

NameTypeDescription
idStringThe ID of the order status.
nameStringThe name of the order status.

OrderStatusesFeed

Container for a list of order statuses.

NameTypeDescription
items[OrderStatus]A list of order statuses.
totalIntThe amount of order statuses belonging to the authenticated partner.

OutputData

Various data that may be useful in the fulfillment of an order.

NameTypeDescription
metadata[MetadataItem]Miscellaneous data specified by the consumer during the workflow experience.
skuStringThe dynamic SKU of the relevant transaction.
transactionIdString!The ID of the transaction to which this data belongs.
variantSelections[VariantSelection]Variants selected by the consumer during the workflow experience.

Partner

An organization that sells products.

NameTypeDescription
idString!ID of this partner.
nameStringHuman-readable name of this partner.
billingCurrencyCodeStringThe 3-letter code of the currency this partner is billed in.
currencyCodeStringThe 3-letter code of the currency this partner charges consumers in.

ProcessExecution

A flow that has been instantiated. Also known as a flow in flight.

NameTypeDescription
createdAtStringThe time that the flow in flight was created.
edges[ProcessExecutionEdge]The edges of this flow in flight.
idStringID of this flow in flight.
internalIdStringA user-supplied ID for this flow in flight.
nodes[ProcessExecutionNode]The nodes of this flow in flight.
processFlowProcessFlowThe flow from which this flow in flight was spawned.
updatedAtStringThe last time that the flow in flight was updated.

ProcessExecutionEdge

An edge in a flow in flight.

NameTypeDescription
dataProcessExecutionEdgeDataData output by the source socket.
idStringID of this edge.
sourceNodeStringID of the source node.
sourceSocketStringID of the source socket.
targetNodeStringID of the target node.
targetSocketStringID of the target socket.

ProcessExecutionEdgeData

Data saved against an edge in a flow in flight.

NameTypeDescription
typeStringThe type of this data.
valueStringThe value of this data.

ProcessExecutionNode

A node in a flow in flight.

NameTypeDescription
artifactsStringThe artifacts generated by the processing of this node.
completedAtStringThe time that this node successfully stopped processing.
dataStringConfiguration for this node.
failedAtStringThe time that this node erroneously stopped processing.
idStringID of this node.
quickviewNameStringThe name to display for this node in the process execution quickview.
quickviewBooleanWhether to display this node in the process execution quickview.
regionProcessFlowRegionThe region of this node.
startedAtStringThe time that this node begin processing.
typeStringThe type of this node.

Notes

Often, the artifacts of a node will look like this:

"{\"type\":\"JsonKey\",\"value\":{\"key\":\"processExecutions/00000000-0000-0000-0000-000000000000.json\",\"url\":\"https://assets.us.spiffcommerce.com/processExecutions/00000000-0000-0000-0000-000000000000.json\"}}"

In cases like these, the JSON file at the URL provided will contain the data you are looking for.

ProcessExecutionsFeed

A container for a list of flows in flights.

NameTypeDescription
items[ProcessExecution]A list of flows in flight.
totalIntThe total amount of flows in flight owned by the authenticated partner.

ProcessFlow

A graph of operations. Also known simply as a flow.

NameTypeDescription
edges[ProcessFlowEdge]The edges of this flow.
entityIdStringAn optional ID that may be used for conditional operation.
entityTypeStringThe type of entity that owns this flow's entityId.
idStringID of this flow.
nameStringHuman-readable name of this flow.
nodes[ProcessFlowNode]The nodes of this flow.
processFlowContextProcessFlowContextThe flow context for this flow.

ProcessFlowContext

A scenario in which a flow may execute. Also known simply as a flow context.

NameTypeDescription
descriptionStringHuman-readable description of this flow context.
idStringID of this flow context.
inputs[ProcessFlowContextTerminal]Specifications of the start terminals of this flow context.
nameStringHuman-readable name of this flow context.
outputs[ProcessFlowContextTerminal]Specifications of the end terminals of this flow context.
publicBooleanWhether this flow context is supplied by the Spiff system.

ProcessFlowContextTerminal

The characteristics of a start or end terminal in a flow context.

NameTypeDescription
nameString!Name of this terminal.
typeString!Type of data for this terminal.

ProcessFlowContextTerminalInput

NameTypeDescription
nameString!Name of this terminal.
typeString!Type of data for this terminal.

ProcessFlowContextsFeed

A container for a list of flow contexts.

NameTypeDescription
items[ProcessFlowContext]A list of flow contexts.

ProcessFlowEdge

An edge in a flow.

NameTypeDescription
idStringID of this edge.
sourceNodeStringID of the source node.
sourceSocketStringID of the source socket.
targetNodeStringID of the target node.
targetSocketStringID of the target socket.

ProcessFlowEdgeInput

NameTypeDescription
idStringID of this edge.
sourceNodeStringID of the source node.
sourceSocketStringID of the source socket.
targetNodeStringID of the target node.
targetSocketStringID of the target socket.

ProcessFlowNode

A node in a flow.

NameTypeDescription
dataStringConfiguration for this node.
idStringID of this node.
parentNodeIdStringThe ID of the higher-order node that this node belongs to, if any.
quickviewNameStringThe name to display for this node in the process execution quickview.
quickviewBooleanWhether to display this node in the process execution quickview.
regionProcessFlowRegionThe region of this node.
typeStringThe type of this node.

ProcessFlowNodeInput

NameTypeDescription
dataStringConfiguration for this node.
idStringID of this node.
parentNodeIdStringThe ID of the higher-order node that this node belongs to, if any.
quickviewNameStringThe name to display for this node in the process execution quickview.
quickviewBooleanWhether to display this node in the process execution quickview.
regionProcessFlowRegionInputThe region of this node.
typeStringThe type of this node.

ProcessFlowRegion

A spatial region to use when visualizing a flow.

NameTypeDescription
heightFloat
widthFloatThe width of the region.
xFloatThe x-coordinate of the top-left point of the region.
yFloatThe y-coordiante of the top-left point of the region.

ProcessFlowRegionInput

NameTypeDescription
heightFloat
widthFloatThe width of the region.
xFloatThe x-coordinate of the top-left point of the region.
yFloatThe y-coordiante of the top-left point of the region.

ProcessFlowsFeed

A container for a list of flows.

NameTypeDescription
items[ProcessFlow]A list of flows.
totalIntThe total amount of flows owned by the authenticated partner.

Product

Something that can be purchased, potentially with customization or personalization.

NameTypeDescription
autoProxyOrderBooleanWhether to automatically place proxy orders.
basePriceIntThe base price to charge the consumer, in subunits, not including option price modifiers.
conversionConfigurationConversionConfigurationThe conversion configuration for this product.
enabledBooleanWhether consumers may currently purchase this product.
hubIntegrationProductIntegrationProductThe integration product used when this product is accessed via the hub.
idString!ID of this product.
imageUrlStringURL of the product image.
integrationProducts[IntegrationProduct]The integration products that are associated with this product.
modelUrlStringURL of the product model.
nameStringHuman-readable name of this product.
overlayImageUrlStringURL of this product's overlay image.
partnerPartnerThe partner that owns this product.
preloadImageUrlStringURL of this product's preload image.
productLinks[ProductLink]The product links of this product.
profanities[Profanity]Words that may not be used to personalize this product.
skuCodeStringComponent that is used in the creation of dynamic SKUs.
skuStringThe SKU of the product in the external ecommerce system.
weightFloatThe weight of the product in the units of the external ecommerce system.
workflows[WorkflowProduct]The workflows associated to this product.

Entity that represents the sharing of a product with another partner.

NameTypeDescription
idString!ID of this link.
productProductThe product being shared.
storefrontPartnerThe partner being shared with.
statusStringThe status of this link.
shouldPlaceProxyOrdersBooleanWhether orders corresponding to this link should create proxy orders in the product owner's ecommerce system.

Profanity

A word which should be blocked.

NameTypeDescription
createdAtStringWhen this profanity was added.
idString!ID of this profanity.
wordString!The profane word itself.

ProxyOrder

An order placed in an ecommerce system as part of a product-sharing arrangement.

NameTypeDescription
externalIdStringThe ID of the order in the external ecommerce system.

Stakeholder

A link between a customer and transaction.

NameTypeDescription
idStringID of this stakeholder.
typeStringThe type of this stakeholder.
transactionTransactionThe related transaction.
customerCustomerThe related customer.

Tag

A piece of text attached to an entity to help categorize it.

NameTypeDescription
idString!The ID of the tag.
createdAtString!When this tag was created.
updatedAtString!The this tag was last updated.
entityIdString!The ID of the entity that this tag belongs to.
nameString!The value of the tag.

TagsFeed

A container for a list of tags.

NameTypeDescription
items[Tag]!A list of tags.

Transaction

An instance of personalization, customization or product selection by a consumer.

NameTypeDescription
bulkEmailAddressStringAn email address supplied by a consumer.
bulkSourceUrlStringURL to a source of bulk data.
bulkBooleanWhether this is a bulk transaction.
createOrderLinkStringURL for creating an order.
createdAtStringWhen this transaction was created.
customLogoLinkStringURL of a partner-specific logo intended to display during the workflow experience.
designNameString!User-supplied name for the associated design.
externalCartProductIdStringID of the product in the external ecommerce system.
externalCartProductVariantIdStringID of the variant in the external ecommerce system.
externalDesignProductIdStringIf associated with a design product, this is the ID of the product in the external ecommerce system.
externalDesignProductVariantIdStringIf associated with a design product, this is the ID of the variant in the external ecommerce system.
externalOrderIdStringID of an order in an external ecommerce system that this transaction has been associated with.
idString!The ID of the transaction.
integrationPartnerNameStringName of the partner that owns the related integration.
integrationProductIntegrationProductThe integration product used to create this transaction.
integrationTypeStringThe type of integration used to create this transaction.
isOrderedBooleanWhether this transaction is attached to at least one line item.
lastSyncedAtStringWhen a consumer last performed a bulk sync.
previewImageLinkStringURL to the preview image of this transaction.
priceModifierTotalIntThe additional price charged for options, in subunits, across all variations if present.
productProductThe product for this transaction.
quantityIntIf present, the amount that was or would be ordered.
stakeholders[Stakeholder]Stakeholders associated to this transaction.
statusStringThe status of the transaction.
transactionOwnerIdStringTemporary ID that grants write access to this transaction.
variationsCountIntThe amount of variations associated with this transaction in the case of bulk transactions.
workflowFooterLogoLinkStringURL of a logo intended to display at the periphery of the workflow experience.
workflowIdStringThe workflow associated with this transaction.
workflowStateStringThe current state of the associated design.
workflowViewerLinkString!URL to the transaction in the workflow viewer.
workflowViewerReadOnlyLinkString!URL to the transaction in the workflow viewer as read-only.

VariantSelection

A variant selected during the workflow experience.

NameTypeDescription
stepTitleStringThe step for which the variant was selected.
variantNameStringThe variant that was selected.

WorkflowProduct

A link between a product and a workflow.

NameTypeDescription
friendlyNameStringHuman-readable name of the workflow.
idStringID of this workflow product.
isPresentBooleanWhether this link is valid.
imageUrlStringURL of image to display in workflow chooser.
workflowNameStringID of workflow.