Mixins
Mixins are custom properties that you can use to describe your business resources in more details. Mixins can be applied to most objects in the Emporix API. Learn more about mixin schemas in Schema Service.
Schemas
To apply a mixin to a resource, you need to define the mixin schema in the form of a JSON Schema object. Mixin schemas need to be uploaded to a hosting service and then referenced in a resource's mixin metadata.
Here's an example of a JSON schema that defines custom delivery options for customers:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Mixin schema for delivery options.",
"properties": {
"packaging": {
"type": ["string", "null"],
"description": "Delivery packaging."
},
"hint": {
"type": ["string", "null"],
"description": "Additional information from the customer."
},
"substituteProduct": {
"type": ["boolean"],
"default": false,
"description": "Flag indicating whether products that are out of stock can be substituted."
}
}
}
Usage example
Here's an example of custom delivery options applied inside aCustomer
object with the schema referenced in mixin metadata:{
"mixins": {
"deliveryOptions": {
"packaging": "Paper",
"hint": "If we are not home, the package can be left in front of the door.",
"substituteProduct": true
}
},
"metadata": {
"mixinMetadata": {
"mixins": {
"deliveryOptions": "https://res.cloudinary.com/saas-ag/raw/upload/schemata/deliveryOptionsMixIn.v6.json"
}
}
}
}
How to add mixins to an object
info
The procedure below presents applying mixins to a
Customer
object.- Define your mixin schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Mixin schema for delivery options.",
"properties": {
"packaging": {
"type": ["string", "null"],
"description": "Delivery packaging."
},
"hint": {
"type": ["string", "null"],
"description": "Additional information from the customer."
},
"substituteProduct": {
"type": ["boolean"],
"default": false,
"description": "Flag indicating whether products that are out of stock can be substituted."
}
}
}
- Upload your schema to a hosting service and save its URL.
- Update an object with mixins and the mixin schema.
Loading...