Custom Integrations
Spiff Commerce is designed to integrate with any e-commerce platform. You can use our API to create your own bespoke integration, this page will walk you through the steps required to create a transaction, place an order and pull metadata from Spiff.
The first step in integrating with Spiff Commerce without an official plugin is to decide what level of control over the user experience you're after.
We Handle your UI (Simple)
A hosted experience leverages the Spiff Commerce cloud infrastructure to provide beautiful out of the box interfaces for your customers. This is a great way to integrate Spiff Commerce into your existing website without having to worry about implementing the UI. This is the recommended approach for most basic integrations and can be achieved via the following steps.
- To create transactions with a hosted solution you'll need to use the HostedExperience class of the Hosted Experience API.
- When a workflow is completed you'll be given a transaction ID. This ID can be used to place an order with the Order API.
You Handle your UI (Advanced)
If the themes provided out of the box don't cover your required use-case you have the choice to build your own with the Marketplace Themes feature. When your theme is deployed it will be served via our platform to your customers but you mwill have full control of the look and feel. You will integrate directly with the Core SDK to implement any UI you can imagine while still leveraging the power of Spiff Commerce's infrastructure to allow you to configure and manage your workflow experiences and fullfillment automation.
When building a workflow experience via this approach Spiff Commerce will assume you have accounted for the UI necessary to present the steps you require. Technically you can leave out the integration of anything you don't actual need to save time.
- The Core SDK creates a transaction for you when you initialize a workflow experience.
- You'll be given a transaction ID when the workflow is completed. It's up to you to store this ID against the line item it relates to. You can pass the ID to us whenever you're ready via the Order API This component of the API is handled for you with our official integrations. Any other integration will need to be done manually.