Component/List

List all components or all components nested under the specified 'product_group_id'. If no 'product_group_id' is provided then all components nested under the 'brand_id' will be returned. To retrieve a specific componet provide the 'component_id'. Max results 300.

Parameters
Parameter Type Required Description
component_id string optional Provide a 'component_id' to list the details of a specific component (including deleted components). product_group_id
custom_field_1 string optional Search using the value of custom field 1.
custom_field_2 string optional Search using the value of custom field 2.
GET https://api.recurringstack.com/{format}/Component/List
//key,user_key,brand_id,response_format (xml or json),return (clean = return object, leave blank to return raw)
$rstack = new recurringstack('','','','xml','clean'); 

$params = array('component_id' => "",'custom_field_1' => "",'custom_field_2' => "");
try { $response = $rstack->request('Component/List','GET',$params); } catch(Exception $e) { $error =  $e->getMessage(); echo "Error: $error"; }
print_r($response);
Response

Component/Create

Create a new components. Components are like add-on's for an exsiting product. A customer subscribed to a product will have the ability to add components from the product group of the subscribed product. Components allow you to track usage, charge for additional services, and more. There are three types of components:

TRADITIONAL: A traditional add-on that has a set price ('unit_price') and is billed on a recurring basis with the subscription (eg. server backup service for X/month).

METERED: Great for services where the amount changes during the billing cycle and resets to zero at the beginning of the next cycle. (e.g. data used for IoT or cloud storage space). You can use the 'Subscription/ReportUsage' API to update the current usage amount at anytime.

QUANTITATIVE: Recurring quantity-based components are used to bill for the number of some unit (e.g. IP addresses; SaaS users; or software licenses). Additional units can be added to the subscription at anytime (eg. customer wishes to add IP address to hosting package).

Parameters
Parameter Type Required Description
component_type string required Options are 'traditional'; 'metered' and 'quantitative'.
product_group_id string required The id of the product group the component belongs to.
name string required The name of the component.
description string required A friendly description of the component that may be shown to customers.
starting_quantity string optional An amount of units that are included initiallty at no cost; 'metered' or 'quantitative' component_type only.
maximum_units string optional The maximum number of units allowed. For 'quantitative' component_type only.
unit_price string required The price for each unit; 'quantitative' or 'metered'. For 'traditional' components 'unit_price' reperesents the price charged for the component each cycle.
setup_fee string optional The intial setup or activation fee for the specific component. This fee will be charged in addition to and part of the product 'setup_fee'.
taxable string required Wether the component is taxable or not; 'Y' or 'N' are acceptable values.
custom_field_1 string optional A custom field for your records.
custom_field_2 string optional A custom field for your records.
POST https://api.recurringstack.com/{format}/Component/Create
//key,user_key,brand_id,response_format (xml or json),return (clean = return object, leave blank to return raw)
$rstack = new recurringstack('','','','xml','clean'); 

$params = array('component_type' => "",'product_group_id' => "",'name' => "",'description' => "",'starting_quantity' => "",'maximum_units' => "",'unit_price' => "",'setup_fee' => "",'taxable' => "",'custom_field_1' => "",'custom_field_2' => "");
try { $response = $rstack->request('Component/Create','POST',$params); } catch(Exception $e) { $error =  $e->getMessage(); echo "Error: $error"; }
print_r($response);
Response

Component/Update

Update an existing component.

The 'component_type' and 'product_group_id' are required but can't be updated.

Parameters
Parameter Type Required Description
component_id string required The 'component_id' of the component you want to update.
component_type string required Options are 'traditional'; 'metered' and 'quantitative'.
product_group_id string required The id of the product group the component belongs to.
name string required The name of the component.
description string required A friendly description of the component that may be shown to customers.
starting_quantity string optional An amount of units that are included initiallty at no cost; 'metered' or 'quantitative' component_type only.
maximum_units string optional The maximum number of units allowed. For 'quantitative' component_type only.
unit_price string required The price for each unit; 'quantitative' or 'metered'. For 'traditional' components 'unit_price' reperesents the price charged for the component each cycle.
setup_fee string optional The intial setup or activation fee for the specific component. This fee will be charged in addition to and part of the product 'setup_fee'.
taxable string required Wether the component is taxable or not; 'Y' or 'N' are acceptable values.
custom_field_1 string optional A custom field for your records.
custom_field_2 string optional A custom field for your records.
PATCH https://api.recurringstack.com/{format}/Component/Update
//key,user_key,brand_id,response_format (xml or json),return (clean = return object, leave blank to return raw)
$rstack = new recurringstack('','','','xml','clean'); 

$params = array('component_id' => "",'component_type' => "",'product_group_id' => "",'name' => "",'description' => "",'starting_quantity' => "",'maximum_units' => "",'unit_price' => "",'setup_fee' => "",'taxable' => "",'custom_field_1' => "",'custom_field_2' => "");
try { $response = $rstack->request('Component/Update','PATCH',$params); } catch(Exception $e) { $error =  $e->getMessage(); echo "Error: $error"; }
print_r($response);
Response

Component/Suspend

Suspend a component.

When a component is suspended it will not be available for adding to a customers active subscription but will continue to be billed for customers already utilizing the component.

Parameters
Parameter Type Required Description
component_id string required The 'component_id' of the component you want to suspend.
PATCH https://api.recurringstack.com/{format}/Component/Suspend
//key,user_key,brand_id,response_format (xml or json),return (clean = return object, leave blank to return raw)
$rstack = new recurringstack('','','','xml','clean'); 

$params = array('component_id' => "");
try { $response = $rstack->request('Component/Suspend','PATCH',$params); } catch(Exception $e) { $error =  $e->getMessage(); echo "Error: $error"; }
print_r($response);
Response

Component/Delete

Delete a component.

Deleteting a component makes it unavailable to existing subscriptions and new subscriptions.

Parameters
Parameter Type Required Description
component_id string required The 'component_id' of the component you want to delete.
DELETE https://api.recurringstack.com/{format}/Component/Delete
//key,user_key,brand_id,response_format (xml or json),return (clean = return object, leave blank to return raw)
$rstack = new recurringstack('','','','xml','clean'); 

$params = array('component_id' => "");
try { $response = $rstack->request('Component/Delete','DELETE',$params); } catch(Exception $e) { $error =  $e->getMessage(); echo "Error: $error"; }
print_r($response);
Response

Component/Restore

Restore a component.

Restore a component from suspend (2) or deletion (3). Components can be restored for up to 90 days.

Parameters
Parameter Type Required Description
component_id string required The 'component_id' of the component you want to restore.
POST https://api.recurringstack.com/{format}/Component/Restore
//key,user_key,brand_id,response_format (xml or json),return (clean = return object, leave blank to return raw)
$rstack = new recurringstack('','','','xml','clean'); 

$params = array('component_id' => "");
try { $response = $rstack->request('Component/Restore','POST',$params); } catch(Exception $e) { $error =  $e->getMessage(); echo "Error: $error"; }
print_r($response);
Response

Your content here

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui, natus temporibus voluptate corporis possimus ab aut cumque.

Homepage

Quick Tips

You may remove all ID or Class names which contain _dm-, they are only used for demonstration.


Boxed Layout

Fluid Layout Remove the .boxed-layout and .centered-layout classes from the body.
Centered Layout Add a class .centered-layout to the body.
Boxed Layout Add a class .boxed-layout to the body.
Boxed Layout with background image

Add background image to the body.

<body class="boxed-layout" style='background-image: url("path_to_img/image.jpg");'>
    ..
    ..
</body>

Or it could be in your own class.

.bg-img {
background-image: url("path_to_img/image.jpg");
}
<body class="boxed-layout bg-img">
    ..
    ..
</body>

Color Schemes

Replace the current Bootstrap CSS and Nifty CSS path with the new path of the CSS color schemes you wish to use.

This is where you can change the color scheme of your app / website.

<head>
    ...
    <title>My Project</title>
    ...

    <!-- STYLESHEETS -->
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--- -->

    <!-- Bootstrap CSS [ REQUIRED ] -->
    <link rel="stylesheet" href="documentation/assets/css/color-schemes/SELECTED-SCEHEMS/bootstrap.min.css">

    <!-- Nifty CSS [ REQUIRED ] -->
    <link rel="stylesheet" href="documentation/assets/css/color-schemes/SELECTED-SCEHEMS/nifty.min.css">

</head>

Header

Sticky header Add a class .hd--sticky to the #root.
Expanded header Add a class .hd--expanded to the #root.
Expanded header with overlapping content. Add a class .overlapping to the #content > .content__header.
Disable rounded header. Add a class .rounded-0 to the #content > .content__header.

Animations

Add the following class to the body to change the animation transition.

Transition function name Class name
In Quart .in-quart
Out Quart .out-quart
In Back .in-back
Out Back .out-back
In Out Back .in-out-back
easeInOutBack .easeInOutBack
steps .steps
jumping .jumping
rubber .rubber
RecurringStack Documentation
RecurringStack Docs
Sign In

Background Images

Add an image to replace the solid background color
Layouts
Layouts
Transitions
Header
Additional Offcanvas New in BS v.5.0

Select the offcanvas placement.

Sidebars
Navigation
Right sidebar
Color Schemes
Light Completely bright color themes.
Dark Completely dark color themes.
Expanded Header
Fair Header
Full Header
Primary Nav
Brand
Tall Header New in v3.0
Scrollbars

Hides native scrollbars and creates custom styleable overlay scrollbars.

Offcanvas Header
Content Here

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente eos nihil earum aliquam quod in dolor, aspernatur obcaecati et at. Dicta, ipsum aut, fugit nam dolore porro non est totam sapiente animi recusandae obcaecati dolorum, rem ullam cumque. Illum quidem reiciendis autem neque excepturi odit est accusantium, facilis provident molestias, dicta obcaecati itaque ducimus fuga iure in distinctio voluptate nesciunt dignissimos rem error a. Expedita officiis nam dolore dolores ea. Soluta repellendus delectus culpa quo. Ea tenetur impedit error quod exercitationem ut ad provident quisquam omnis! Nostrum quasi ex delectus vero, facilis aut recusandae deleniti beatae. Qui velit commodi inventore.