- Print
- DarkLight
Sign up a customer to a subscription contract.
Attempt to charge a customer for the first order in their subscription contract and if successful create the subscription contract.
The subscription type that this contract is based on
Metadata associated with the subscription.
The key of the metadata item.
The value of the metadata item.
Used to link a Bento Subscription Contract to a Subscription from another platform.
The e-commerce platform that this subscription contract is from.
The subscription contract ID from the other platform
A list of discount codes to apply to orders generated for this subscription contract.
The discount code to apply to the subscription contract.
The ISO8601 datetime the discount code was added to the subscription contract.
A list of order ordinals that the discount code will be applied to.
Deprecated: The order ordinal beyond which the discount code will no longer be applied.
A flag to indicate whether the discount code is enabled.
Used to associate credits with a subscription contract.
A credit applied to the subscription contract.
Types of credit. An OrderCredit will bring an order's price to 0, and is used for pre-paid orders.
The value of the credit. Currently represents the number of order credits, but will in future be used for other credit types, such as the amount of monetary credit.
Delivery address for the subscription, based on the id associated with the Customer entity
Instead of inferring the next order from the previousOrder, this field allows it's properties to be specified exactly.
The position of the order relative to other orders in the subscription contract. The first order in the subscription contract has ordinal '1'.
An identifier to track the order's position within a playlist. This typically matches the orderOrdinal but doesn't have to, for instance if a subscription started half-way through a playlist
Details of the last order delivered for this subscription contract.
Date the order was scheduled for delivery
Ordinals for multiple orders on the same day.
Playlist position for multiple orders on the same day.
Used to adjust the delivery date of an order. The example demonstrates an order for 2022-01-01 being moved to 2022-01-10
The date which defines when the first order (or next order after a contract change) is sent. This date is used as a base to determine the day of the month / week on which all future orders are sent.
For non-rolling pre-paid subscriptions, the subscription will terminate after this many orders have been delivered.
The position of the order relative to other orders in the subscription contract. The first order in the subscription contract has ordinal '1'.
Phases are used to define the lifecycle of a subscription. The configuration defined in a phase will be applied to all orders generated during that phase
The unique identifier of the corresponding phase from the Subscription Type
The frequency at which orders within the phase will be delivered, must be valid according to the options defined on the relevant Subscription Type phase
How often to bill the customer. Must be valid according to the billing options defined on the Subscription Type.
The interval unit to define how often the subscription contract is charged.
The number of 'duration units' that make up this period of time
Products added to each order created based on this subscription contract. Must be valid according to the Product Options defined on the Subscription Type
The product id from the Product entity.
The quantity of the product to add to the order.
The pricing of a subscription type. For now it only contains deliveryPrice
The delivery price of a subscription type
The type of delivery price. For now it can only be FIXED
A re-usable payment token representing a customers card.
The payment token provided by the payment provider when the customer completed a 3DS challenge.
The ID of the customer on the payment provider system.
The customer who is buying the subscription.
Signed up a customer.
The unique identifier of the subscription contract.
The version number of the subscription contract.
The customer's unique identifier. Merchants can opt to assign this using either their own customer service system or Bento's customer service during the onboarding process.
The unique identifier of the subscription type that this subscription contract subscribed to
Used to link a Bento Subscription Contract to a Subscription from another platform.
The e-commerce platform that this subscription contract is from.
The subscription contract ID from the other platform
A list of discount codes to apply to orders generated for this subscription contract.
The discount code to apply to the subscription contract.
The ISO8601 datetime the discount code was added to the subscription contract.
A list of order ordinals that the discount code will be applied to.
Deprecated: The order ordinal beyond which the discount code will no longer be applied.
A flag to indicate whether the discount code is enabled.
Used to associate credits with a subscription contract.
A credit applied to the subscription contract.
Types of credit. An OrderCredit will bring an order's price to 0, and is used for pre-paid orders.
The value of the credit. Currently represents the number of order credits, but will in future be used for other credit types, such as the amount of monetary credit.
The date the subscription contract was created.
The date the subscription contract was last updated.
Metadata associated with the subscription.
The key of the metadata item.
The value of the metadata item.
The unique identifier of the subscription type, in UUID format.
The status of the subscription type. DRAFT - All new Subscription Types are created in this state. Subscription Types in this state need to be activated before they can be used to create a Subscription Contract ACTIVE - Subscription Types in this state can be used to create Subscription Contracts LEGACY - Subscription Types are transitioned to this state when deactivated ARCHIVED - Not yet used.
Display name for the subscription
A short description of the subscription type, up to 80 characters. Useful for display purposes.
Long description of the subscription type.
The date and time when the subscription type was created.
The date and time when the subscription type was last updated.
A phase will end based on the termination criteria, will be priced based on the pricing calculator, and can be delivered at the frequencies defined in the delivery cadence options.
Describes how frequently Orders within a phase can be delivered. The example demonstrates that orders in this phase can be delivered either every 1 month, every 2 months, or every week.
A unit of time.
The number of 'duration units' that make up this period of time. Together with the duration unit, this defines the length of the period, e.g. '3' months.
When the phase will end, for example - end the phase after 2 orders
A curated list of products and quantities, which should be valid according to the product options defined within the phase. These can be used by merchants to drive their customer UI by creating curated selections of products
A list of products alongside their quantities associated with the preset
Defines the collections and quantities of products a subscription contract can be created with.
Note - Product Options do not limit the products which can be added directly to orders, or products added to orders via Order Rules, only products added to orders via subscription contracts.
The example demonstrates that a subscription contract can be created with 10 or 20 products from the 'product-collection-1' collection, and 10 products from the 'product-collection-2' collection
The list of product items a subscription contract can choose from, such as a list of product collections.
The product item based on the type and its corresponding id. E.g. it could be an id of a product collection.
The type of product option, such as a collection.
The unique identifier for the item type
The quantity of products which can be selected from listed product options
Controls how orders are priced.
A monetary value in the major denomination of the merchants currency, e.g. 1.5 represents £1.50 in GBP
A monetary value in the major denomination of the merchants currency, e.g. 1.5 represents £1.50 in GBP
This can be used to limit the products that discounts are applied to.
A list of all collection volume discounts that can be applied to the orders.
The list of collection volume required combination that can be applied to the orders. For example, if order contains products of required volume from Collection1 and Collection2 then a monetary discount of X will be applied to the order total price.
The monetary discount as positive minor number. For example, if the discount is £0.2, the value should be 20.
Describes how frequently Orders within a Subscription Type can be billed. For example, if a subscription has a billing cadence of 2 for EVERY_N_ORDER, we will charge them for order 1 and 2 when order 1 is billed. When order 2 is billed, they will not be charged, and so on.
The interval unit to define how often the subscription contract is charged.
The pricing of a subscription type. For now it only contains deliveryPrice
The delivery price of a subscription type
The type of delivery price. For now it can only be FIXED
Phases are used to define the lifecycle of a subscription. The configuration defined in a phase will be applied to all orders generated during that phase
The unique identifier of the corresponding phase from the Subscription Type
The frequency at which orders within the phase will be delivered, must be valid according to the options defined on the relevant Subscription Type phase
How often to bill the customer. Must be valid according to the billing options defined on the Subscription Type.
The interval unit to define how often the subscription contract is charged.
The number of 'duration units' that make up this period of time
Products added to each order created based on this subscription contract. Must be valid according to the Product Options defined on the Subscription Type
The product id from the Product entity.
The quantity of the product to add to the order.
The pricing of a subscription type. For now it only contains deliveryPrice
The delivery price of a subscription type
The type of delivery price. For now it can only be FIXED
Delivery address for the subscription, based on the id associated with the Customer entity
Instead of inferring the next order from the previousOrder, this field allows it's properties to be specified exactly.
The position of the order relative to other orders in the subscription contract. The first order in the subscription contract has ordinal '1'.
An identifier to track the order's position within a playlist. This typically matches the orderOrdinal but doesn't have to, for instance if a subscription started half-way through a playlist
Details of the last order delivered for this subscription contract.
Date the order was scheduled for delivery
Ordinals for multiple orders on the same day.
Playlist position for multiple orders on the same day.
Used to adjust the delivery date of an order. The example demonstrates an order for 2022-01-01 being moved to 2022-01-10
The date which defines when the first order (or next order after a contract change) is sent. This date is used as a base to determine the day of the month / week on which all future orders are sent.
For non-rolling pre-paid subscriptions, the subscription will terminate after this many orders have been delivered.
The position of the order relative to other orders in the subscription contract. The first order in the subscription contract has ordinal '1'.
The payment token from the payment provider
Date the order is scheduled for delivery
The lifetime order number in relation to other orders within the subscription contract. The first order in the subscription contract has ordinal '1'.
An identifier to track the order's position within a playlist.
Whether the order has been skipped.
The reason the order was skipped, optional.
The unique identifier for the subscription type that this order is based on.
The discount codes applied to the order.
The discount codes applied to the order.
The products which will be added to the order by the subscription contract.
The unique identifier for the product
The quantity of this product in the order
The subscription phase the order is associated with
Invalid Request
A human readable message describing the error.
A list of causes for the error.
A human readable message describing the cause of the error.
A list of metadata describing the cause of the error.
Invalid Authentication Credentials
A human readable message describing the error.
A list of causes for the error.
A human readable message describing the cause of the error.
A list of metadata describing the cause of the error.
Invalid Authorization Credentials
A human readable message describing the error.
A list of causes for the error.
A human readable message describing the cause of the error.
A list of metadata describing the cause of the error.
Resource Not Found
A human readable message describing the error.
A list of causes for the error.
A human readable message describing the cause of the error.
A list of metadata describing the cause of the error.
Contract already exist
A human readable message describing the error.
A list of causes for the error.
A human readable message describing the cause of the error.
A list of metadata describing the cause of the error.
Payment failed
A human readable message describing the error.
A list of causes for the error.
A human readable message describing the cause of the error.
A list of metadata describing the cause of the error.
Internal Server Error
A human readable message describing the error.
A list of causes for the error.
A human readable message describing the cause of the error.
A list of metadata describing the cause of the error.
Bad Gateway
A human readable message describing the error.
A list of causes for the error.
A human readable message describing the cause of the error.
A list of metadata describing the cause of the error.
Service Unavailable
A human readable message describing the error.
A list of causes for the error.
A human readable message describing the cause of the error.
A list of metadata describing the cause of the error.
Gateway Timeout
A human readable message describing the error.
A list of causes for the error.
A human readable message describing the cause of the error.
A list of metadata describing the cause of the error.