Name | Type | Description |
---|
address1 | String | The first address line. |
address2 | String | The second address line. |
city | String | The city. |
company | String | Company if applicable. |
country | String | Country. |
countryCode | String | A shorthand country code. |
firstName | String | The first name of the recipient. |
lastName | String | The last name of the recipient. |
latitude | String | Latitude if relevant. |
longitude | String | Longitutude if relevant. |
name | String | Full name as single string if convenient. |
phone | String | A contact number. |
province | String | A state or province within the country. |
provinceCode | String | A code for the state or province. |
zip | String | A zip number for postal purposes. |
Bundle
A bundle is a collection of transactions that are grouped together.
Name | Type | Description |
---|
id | String! | ID of this bundle. |
bundleOwnerId | String | Temporary ID that grants write access to this bundle. |
bundleStakeholders | [BundleStakeholder] | The stakeholders that are part of this bundle. |
createdAt | String! | The date this bundle was created. |
metadata | [BundleMetadataItem] | Metadata associated with this bundle. |
name | String | Human-readable name of this bundle. |
partner | Partner | The partner that this bundle is associated with. |
transactions | [Transaction] | The transactions that are part of this bundle. |
A key-value pair of metadata.
Name | Type | Description |
---|
key | String | The key of this metadata item. |
value | String | The value of this metadata. |
A key-value pair of metadata.
Name | Type | Description |
---|
key | String | The key of this metadata item. |
value | String | The value of this metadata. |
BundleStakeholder
A link between a customer and bundle.
Name | Type | Description |
---|
id | String | ID of this stakeholder. |
type | String | The type of this stakeholder. |
bundle | Bundle | The related bundle. |
customer | Customer | The related customer. |
A stakeholder to be added to a bundle.
Name | Type | Description |
---|
customerDetails | CustomerDetailsInput! | The details of the customer. |
type | String! | The type of this stakeholder. |
ConversionConfiguration
Configuration that specifies how consumer data is collected during the workflow experience.
Name | Type | Description |
---|
id | String! | ID of this configuration. |
locations | [String]! | The locations configured to trigger the display of the form. |
mandatory | Boolean | Whether completeing the form is required. |
name | String | Human-readable name of this configuration. |
requestedDataItems | [ConversionData]! | The items to request data for. |
ConversionData
A datum requested from consumers during the workflow experience.
Name | Type | Description |
---|
mandatory | Boolean | Whether this item is required. |
type | String! | The type of data to request. |
Customer
A consumer.
Name | Type | Description |
---|
createdAt | String | When this customer was created. |
emailAddress | String | Email address of this customer. |
firstName | String | First name of this customer. |
id | String | ID of this customer. |
lastActiveAt | String | When this customer last interacted with the system. |
lastName | String | Last name of this customer. |
phoneNumber | String | Phone number of this customer. |
The details of a customer to be added or updated.
Name | Type | Description |
---|
emailAddress | String | Email address of this customer. |
firstName | String | First name of this customer. |
lastName | String | Last name of this customer. |
phoneNumber | String | Phone number of this customer. |
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.
Name | Type | Description |
---|
orderNumber | String | An external order id |
customerEmail | String | The email of the customer that made this order. |
customerPhone | String | The 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. |
note | String | Any 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.
Name | Type | Description |
---|
id | String | ID of this global property configuration. |
name | String | Human-readable name of this configuration. |
aspects | [GlobalPropertyConfigurationAspect] | The properties themselves. |
GlobalPropertyConfigurationAspect
An individual aspect that is shareable between steps.
Name | Type | Description |
---|
name | String | Unique name of this aspect. |
type | String | Type of this aspect. |
entityId | String | ID of a related entity e.g. if the aspect relates to an option. |
title | String | Title to be displayed in a UI. |
description | String | Description to be displayed in a UI. |
Name | Type | Description |
---|
name | String! | Unique name of this aspect. |
type | String! | Type of this aspect. |
entityId | String | ID of a related entity e.g. if the aspect relates to an option. |
title | String | Title to be displayed in a UI. |
description | String | Description to be displayed in a UI. |
GlobalPropertyConfigurationsFeed
Container for a list of global property configurations.
Name | Type | Description |
---|
items | [GlobalPropertyConfiguration] | A list of global property configurations. |
GlobalPropertyState
The choices made by a consumer against global properties.
Name | Type | Description |
---|
id | String | ID of this global property state. |
aspects | [GlobalPropertyStateAspect] | The properties themselves. |
GlobalPropertyStateAspect
Choice made by a consumer against a global property.
Name | Type | Description |
---|
name | String | Unique name of this aspect. |
value | String | Value selected by consumer. |
Name | Type | Description |
---|
name | String! | Unique name of this aspect. |
value | String! | Value selected by consumer. |
Integration
A connection to a sales channel or inventory system, usually an ecommerce store.
Name | Type | Description |
---|
enabled | Boolean | Whether this integration is currently enabled. |
externalIntegrationId | String | The external id of the integration. Most commonly set to the identifying data of the shop from a given integration. |
id | String | ID of this integration. |
type | String | The 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.
Name | Type | Description |
---|
additionalExternalProductId | String | ID of a related product in the external ecommerce system. |
additionalExternalVariantId | String | ID of a related variant in the external ecommerce system. |
externalProductId | String | ID of the product in the external ecommerce system. |
externalVariantId | String | ID of the variant in the external ecommerce system. |
id | String | ID of this integration product. |
integrationEnabled | Boolean | Whether the related integration is enabled. |
integration | Integration | The related integration. |
main | Boolean | Whether this is the main integration product for the given product. |
product | Product | The related product. |
LineItem
A transaction whose design has been purchased.
Name | Type | Description |
---|
basePrice | Int | Base price, in subunits, of the product at the time it was ordered. |
brochureLink | String | URL to get the related brochure. |
createdAt | String | When this line item was created. |
customFields | String | The custom field values saved against the related design. |
externalId | String | ID supplied by an external platform. |
id | String | The ID of the line item. |
integrationType | String | The type of integration used to created the corresponding transaction. |
order | Order | The order that this line item belongs to. |
outputData | OutputData | The output data corresponding to the related transaction. |
previewImageLink | String | URL to get the related preview image. |
proxyOrder | ProxyOrder | The proxy order that this line item belongs to. |
quantity | Int | The amount of this design that was ordered. |
rejectedAt | String | When this line item failed moderation. |
shippingProviderStatus | String | A shipping provider's status saved against the line item during a process flow. |
shippingProviderTrackingNumber | String | A shipping provider's tracking number saved against the line item during a process flow. |
shippingProviderTrackingUrl | String | A shipping provider's tracking URL saved against the line item during a process flow. |
sku | String | The dynamic SKU of the related transaction. |
status | String | The moderation status of this line item. |
transaction | Transaction | The transaction of this line item. |
A datum determined as part of a workflow experience.
Name | Type | Description |
---|
name | String | The step name and metadata type of this item. |
value | String | The value of this item. |
A piece of data attached to an entity that conforms to a prespecified metafield configuration.
Name | Type | Description |
---|
id | String! | The ID of the metafield. |
createdAt | String! | When this metafield was created. |
updatedAt | String! | When this metafield was last updated. |
entityId | String! | The ID of the entity that this metafield belongs to. |
metafieldConfiguration | MetafieldConfiguration! | The metafield configuration that this metafield corresponds to. |
value | String! | The serialized JSON of the value of this metafield. |
A configuration that has been created for all of entities of a particular type.
Name | Type | Description |
---|
id | String! | The ID of the metafield configuration. |
createdAt | String! | When this metafield configuration was created. |
updatedAt | String! | When this metafield configuration was last updated. |
entityType | String! | The type of entities that this metafield configuration applies to. |
metafieldType | String! | The type of values that metafield for this configuration may accept. |
name | String! | The name of metafields for this configuration. |
description | String! | An optional description for this configuration. |
A container for a list of metafield configurations.
Name | Type | Description |
---|
items | [MetafieldConfiguration]! | A list of metafield configurations. |
Order
A set of line items that were purchased together.
Name | Type | Description |
---|
createdAt | String | When this order was created. |
externalId | String | ID generated by the external ecommerce platform. |
externalTags | String | Comma-separated tags from the ecommerce platform. |
id | String | The ID of the order. |
internalId | String | ID supplied when creating an internal order. |
lineItems | [LineItem] | The line items that were purchased. |
paid | Boolean | If known, whether the order has been paid for by the customer. |
A line item to be added to an order.
Name | Type | Description |
---|
amountToOrder | Int! | A quantity to be added for this specific line item. |
bundleId | String | The identifier of the bundle relating to this line item. The transactionId field will be ignored if this is set. |
transactionId | String | The identifier of the transaction relating to this line item. |
A bundle to create for the line items of a simple order.
Name | Type | Description |
---|
ownerEmailAddress | String | The email address of the owner of this order's bundle. |
metadata | [BundleMetadataInput] | A list of BundleMetadataInput items. |
A line item to be added to a simple order.
Name | Type | Description |
---|
amountToOrder | Int! | A quantity to be added for this line item. |
externalId | String | ID corresponding to an item in an external platform. |
productId | String! | The ID of the Spiff product of this line item. |
workflowId | String! | The ID of the Spiff workflow of this line item. |
steps | [OrderSimpleItemStepInput] | A list of OrderSimpleItemStepInput items. |
An object that specifies the metadata and variant selections to record against a workflow step in a line item of a simple order.
Name | Type | Description |
---|
stepName | String! | The ID of the step in the workflow. |
text | String | Text metadata to store against a text step. |
variantId | String | ID 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.
Name | Type | Description |
---|
id | String | The ID of the order status. |
name | String | The name of the order status. |
OrderStatusesFeed
Container for a list of order statuses.
Name | Type | Description |
---|
items | [OrderStatus] | A list of order statuses. |
total | Int | The amount of order statuses belonging to the authenticated partner. |
OutputData
Various data that may be useful in the fulfillment of an order.
Name | Type | Description |
---|
metadata | [MetadataItem] | Miscellaneous data specified by the consumer during the workflow experience. |
sku | String | The dynamic SKU of the relevant transaction. |
transactionId | String! | 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.
Name | Type | Description |
---|
id | String! | ID of this partner. |
name | String | Human-readable name of this partner. |
billingCurrencyCode | String | The 3-letter code of the currency this partner is billed in. |
currencyCode | String | The 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.
Name | Type | Description |
---|
createdAt | String | The time that the flow in flight was created. |
edges | [ProcessExecutionEdge] | The edges of this flow in flight. |
id | String | ID of this flow in flight. |
internalId | String | A user-supplied ID for this flow in flight. |
nodes | [ProcessExecutionNode] | The nodes of this flow in flight. |
processFlow | ProcessFlow | The flow from which this flow in flight was spawned. |
updatedAt | String | The last time that the flow in flight was updated. |
ProcessExecutionEdge
An edge in a flow in flight.
Name | Type | Description |
---|
data | ProcessExecutionEdgeData | Data output by the source socket. |
id | String | ID of this edge. |
sourceNode | String | ID of the source node. |
sourceSocket | String | ID of the source socket. |
targetNode | String | ID of the target node. |
targetSocket | String | ID of the target socket. |
ProcessExecutionEdgeData
Data saved against an edge in a flow in flight.
Name | Type | Description |
---|
type | String | The type of this data. |
value | String | The value of this data. |
ProcessExecutionNode
A node in a flow in flight.
Name | Type | Description |
---|
artifacts | String | The artifacts generated by the processing of this node. |
completedAt | String | The time that this node successfully stopped processing. |
data | String | Configuration for this node. |
failedAt | String | The time that this node erroneously stopped processing. |
id | String | ID of this node. |
quickviewName | String | The name to display for this node in the process execution quickview. |
quickview | Boolean | Whether to display this node in the process execution quickview. |
region | ProcessFlowRegion | The region of this node. |
startedAt | String | The time that this node begin processing. |
type | String | The 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.
Name | Type | Description |
---|
items | [ProcessExecution] | A list of flows in flight. |
total | Int | The total amount of flows in flight owned by the authenticated partner. |
ProcessFlow
A graph of operations. Also known simply as a flow.
Name | Type | Description |
---|
edges | [ProcessFlowEdge] | The edges of this flow. |
entityId | String | An optional ID that may be used for conditional operation. |
entityType | String | The type of entity that owns this flow's entityId. |
id | String | ID of this flow. |
name | String | Human-readable name of this flow. |
nodes | [ProcessFlowNode] | The nodes of this flow. |
processFlowContext | ProcessFlowContext | The flow context for this flow. |
ProcessFlowContext
A scenario in which a flow may execute. Also known simply as a flow context.
Name | Type | Description |
---|
description | String | Human-readable description of this flow context. |
id | String | ID of this flow context. |
inputs | [ProcessFlowContextTerminal] | Specifications of the start terminals of this flow context. |
name | String | Human-readable name of this flow context. |
outputs | [ProcessFlowContextTerminal] | Specifications of the end terminals of this flow context. |
public | Boolean | Whether this flow context is supplied by the Spiff system. |
ProcessFlowContextTerminal
The characteristics of a start or end terminal in a flow context.
Name | Type | Description |
---|
name | String! | Name of this terminal. |
type | String! | Type of data for this terminal. |
ProcessFlowContextTerminalInput
Name | Type | Description |
---|
name | String! | Name of this terminal. |
type | String! | Type of data for this terminal. |
ProcessFlowContextsFeed
A container for a list of flow contexts.
Name | Type | Description |
---|
items | [ProcessFlowContext] | A list of flow contexts. |
ProcessFlowEdge
An edge in a flow.
Name | Type | Description |
---|
id | String | ID of this edge. |
sourceNode | String | ID of the source node. |
sourceSocket | String | ID of the source socket. |
targetNode | String | ID of the target node. |
targetSocket | String | ID of the target socket. |
Name | Type | Description |
---|
id | String | ID of this edge. |
sourceNode | String | ID of the source node. |
sourceSocket | String | ID of the source socket. |
targetNode | String | ID of the target node. |
targetSocket | String | ID of the target socket. |
ProcessFlowNode
A node in a flow.
Name | Type | Description |
---|
data | String | Configuration for this node. |
id | String | ID of this node. |
parentNodeId | String | The ID of the higher-order node that this node belongs to, if any. |
quickviewName | String | The name to display for this node in the process execution quickview. |
quickview | Boolean | Whether to display this node in the process execution quickview. |
region | ProcessFlowRegion | The region of this node. |
type | String | The type of this node. |
Name | Type | Description |
---|
data | String | Configuration for this node. |
id | String | ID of this node. |
parentNodeId | String | The ID of the higher-order node that this node belongs to, if any. |
quickviewName | String | The name to display for this node in the process execution quickview. |
quickview | Boolean | Whether to display this node in the process execution quickview. |
region | ProcessFlowRegionInput | The region of this node. |
type | String | The type of this node. |
ProcessFlowRegion
A spatial region to use when visualizing a flow.
Name | Type | Description |
---|
height | Float | |
width | Float | The width of the region. |
x | Float | The x-coordinate of the top-left point of the region. |
y | Float | The y-coordiante of the top-left point of the region. |
Name | Type | Description |
---|
height | Float | |
width | Float | The width of the region. |
x | Float | The x-coordinate of the top-left point of the region. |
y | Float | The y-coordiante of the top-left point of the region. |
ProcessFlowsFeed
A container for a list of flows.
Name | Type | Description |
---|
items | [ProcessFlow] | A list of flows. |
total | Int | The total amount of flows owned by the authenticated partner. |
Product
Something that can be purchased, potentially with customization or personalization.
Name | Type | Description |
---|
autoProxyOrder | Boolean | Whether to automatically place proxy orders. |
basePrice | Int | The base price to charge the consumer, in subunits, not including option price modifiers. |
conversionConfiguration | ConversionConfiguration | The conversion configuration for this product. |
enabled | Boolean | Whether consumers may currently purchase this product. |
hubIntegrationProduct | IntegrationProduct | The integration product used when this product is accessed via the hub. |
id | String! | ID of this product. |
imageUrl | String | URL of the product image. |
integrationProducts | [IntegrationProduct] | The integration products that are associated with this product. |
modelUrl | String | URL of the product model. |
name | String | Human-readable name of this product. |
overlayImageUrl | String | URL of this product's overlay image. |
partner | Partner | The partner that owns this product. |
preloadImageUrl | String | URL 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. |
skuCode | String | Component that is used in the creation of dynamic SKUs. |
sku | String | The SKU of the product in the external ecommerce system. |
weight | Float | The weight of the product in the units of the external ecommerce system. |
workflows | [WorkflowProduct] | The workflows associated to this product. |
ProductLink
Entity that represents the sharing of a product with another partner.
Name | Type | Description |
---|
id | String! | ID of this link. |
product | Product | The product being shared. |
storefront | Partner | The partner being shared with. |
status | String | The status of this link. |
shouldPlaceProxyOrders | Boolean | Whether orders corresponding to this link should create proxy orders in the product owner's ecommerce system. |
Profanity
A word which should be blocked.
Name | Type | Description |
---|
createdAt | String | When this profanity was added. |
id | String! | ID of this profanity. |
word | String! | The profane word itself. |
ProxyOrder
An order placed in an ecommerce system as part of a product-sharing arrangement.
Name | Type | Description |
---|
externalId | String | The ID of the order in the external ecommerce system. |
Stakeholder
A link between a customer and transaction.
Name | Type | Description |
---|
id | String | ID of this stakeholder. |
type | String | The type of this stakeholder. |
transaction | Transaction | The related transaction. |
customer | Customer | The related customer. |
Tag
A piece of text attached to an entity to help categorize it.
Name | Type | Description |
---|
id | String! | The ID of the tag. |
createdAt | String! | When this tag was created. |
updatedAt | String! | The this tag was last updated. |
entityId | String! | The ID of the entity that this tag belongs to. |
name | String! | The value of the tag. |
A container for a list of tags.
Name | Type | Description |
---|
items | [Tag]! | A list of tags. |
Transaction
An instance of personalization, customization or product selection by a consumer.
Name | Type | Description |
---|
bulkEmailAddress | String | An email address supplied by a consumer. |
bulkSourceUrl | String | URL to a source of bulk data. |
bulk | Boolean | Whether this is a bulk transaction. |
createOrderLink | String | URL for creating an order. |
createdAt | String | When this transaction was created. |
customLogoLink | String | URL of a partner-specific logo intended to display during the workflow experience. |
designName | String! | User-supplied name for the associated design. |
externalCartProductId | String | ID of the product in the external ecommerce system. |
externalCartProductVariantId | String | ID of the variant in the external ecommerce system. |
externalDesignProductId | String | If associated with a design product, this is the ID of the product in the external ecommerce system. |
externalDesignProductVariantId | String | If associated with a design product, this is the ID of the variant in the external ecommerce system. |
externalOrderId | String | ID of an order in an external ecommerce system that this transaction has been associated with. |
id | String! | The ID of the transaction. |
integrationPartnerName | String | Name of the partner that owns the related integration. |
integrationProduct | IntegrationProduct | The integration product used to create this transaction. |
integrationType | String | The type of integration used to create this transaction. |
isOrdered | Boolean | Whether this transaction is attached to at least one line item. |
lastSyncedAt | String | When a consumer last performed a bulk sync. |
previewImageLink | String | URL to the preview image of this transaction. |
priceModifierTotal | Int | The additional price charged for options, in subunits, across all variations if present. |
product | Product | The product for this transaction. |
quantity | Int | If present, the amount that was or would be ordered. |
stakeholders | [Stakeholder] | Stakeholders associated to this transaction. |
status | String | The status of the transaction. |
transactionOwnerId | String | Temporary ID that grants write access to this transaction. |
variationsCount | Int | The amount of variations associated with this transaction in the case of bulk transactions. |
workflowFooterLogoLink | String | URL of a logo intended to display at the periphery of the workflow experience. |
workflowId | String | The workflow associated with this transaction. |
workflowState | String | The current state of the associated design. |
workflowViewerLink | String! | URL to the transaction in the workflow viewer. |
workflowViewerReadOnlyLink | String! | URL to the transaction in the workflow viewer as read-only. |
VariantSelection
A variant selected during the workflow experience.
Name | Type | Description |
---|
stepTitle | String | The step for which the variant was selected. |
variantName | String | The variant that was selected. |
WorkflowProduct
A link between a product and a workflow.
Name | Type | Description |
---|
friendlyName | String | Human-readable name of the workflow. |
id | String | ID of this workflow product. |
isPresent | Boolean | Whether this link is valid. |
imageUrl | String | URL of image to display in workflow chooser. |
workflowName | String | ID of workflow. |