| 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. |