Managing Customer Records
Crystallize provides multiple options for working with customer records. You can store as much or as little customer information as you need for your particular setup.
Customer records can be created programmatically with the PIM API or as a result of orders being processed. You can then keep using the PIM API to maintain them as needed (refer to our example repository for customer-related GraphQL samples).
You also have the option to manually create and maintain customer records within the Crystallize App. To perform these operations, you'll first need the requisite permissions for Customers (read, create, etc). Refer to our documentation on roles and permissions for more information.
Within the Crystallize App, click the Customers button on the left-hand panel. You can also bring up the command palette with [CTRL or ⌘] + K and type or select "Customers." On the Customers screen, click the plus sign button (+) at the top left or the +Add customer button in the middle of the screen to create a new customer record. For each customer, you can specify the following:
- Identifier. A unique identifier that you’ll use to reference the customer programmatically. If none is specified, one will be auto-generated.
- Customer Information. First and last name are required, while the rest of the fields are optional.
- Shipping Address. Enter as much or as little information as you require.
- Billing Address. Click the Use different billing address checkbox to specify a different billing address.
- Customer Metadata and External Reference. These fields can be used to store extra information that may be needed by your company or by other service providers that you’re using.
When finished, click the Create button at the top of the screen.
Once one or more customers have been created, the Customers screen will present a spreadsheet view of all customer records. You can:
- Drag and drop columns to reorder them.
- Find words/numbers by pressing [CTRL or ⌘] + F and entering the search input. Fields that contain the search string will be highlighted. Click the arrow buttons to navigate through the results.
- Refine the customer list to specific criteria by using the Search bar in the top left. Filters are saved in the URL, so you can easily share the same view with your colleagues by sharing the link. Click the X beside any filter tag to remove it.
To edit an existing customer record, first open it by clicking on the customer’s identifier from the spreadsheet view. With the customer record open, click the pencil icon at the top right of the screen to make the fields editable. Once you’ve made the necessary changes, click the Save button to preserve them.
Orders and subscription contracts involving a given customer, once created, will become visible under the Orders and Subscription Contract headings. There are refresh buttons on the right side of the screen that will allow you to see new orders and subscriptions since you last loaded the page.
For orders, you’ll see product variant(s), stock-keeping unit(s) (SKUs), quantity, total price, and order date. Click on the order, and you’ll see its full details from the Orders screen. You can also create a new order from the Customers screen by clicking the action button (...) in the top right and choosing Add order. Refer to our documentation on creating orders for more information.
For subscription contracts, you can access a detailed breakdown of metered variables and their current usage for the ongoing period. Predictive analytics provide estimates on future usage patterns and the associated total price. Leveraging data from past usage, this feature offers valuable foresight to empower informed decision-making.
You can also create a new subscription contract from the Customers screen by clicking the action button (...) in the top right and choosing Add subscription contract. Refer to our documentation on subscription contracts for more information.
You can (optionally) set up webhooks to subscribe to customer-related events. In Crystallize, events are fired whenever customers are
- Created
- Updated
- Deleted
You can set up a webhook, then come up with your own way of responding to events. For more information, read about defining webhooks here.
You can delete a customer by selecting them from the left-hand panel, then clicking the action button (...) at the top of the screen and choosing the Delete option. Note that orders placed by this customer in the past will be preserved, but any subscription contracts associated with them will be deleted. Proceed carefully with deletion.