The Draftbit Docs

Welcome to the Draftbit documentation. You'll find comprehensive documentation and information to help you start working with Draftbit as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    

Bubble CMS

What is Bubble CMS?

Bubble is a visual programming language, a no-code development platform and an application platform as a service. It offers total design freedom without any knowledge of HTML or CSS. It is used to create advanced functionality than what is possible with template oriented web applications. It offers API integrations, Templates, and Plugins.

Connect Bubble CMS to Draftbit

Steps with Bubble

If you don't have a Bubble account, create one here.

The initial step is to create a new application from the Dashboard screen.

  • Click the button New app.
  • Enter the details of your new app such as name of the app, purpose of the app, etc.
  • Click the button Create a new app.

After setting up the app, you must have a custom data type defined and some amount of App data. For example, we are using a custom data type called Book with our own custom data inserted.

Get your REST API URL:

To perform read and write operations on a Bubble CMS is done via the Base URL: https://{YOUR_APP_NAME.bubbleapps.io/version-test/api/1.1/obj/{TYPE_NAME}. This Base URL requires you to specify the name of the app and the custom data type you have created to start with. To access these values:

  • Go to Settings.
  • Select the API tab.
  • Enable the Public API endpoint for Data API. On enabling this option you are going to get the DATA API root URL: https://{YOUR_APP_NAME.bubbleapps.io/version-test/api/1.1/obj/.
  • Then, enable the custom data type to perform read and write operations on the specific {TYPE_NAME}.

Get Authentication Token:

The Bubble CMS allows read and write operations to the Base URL only if there is an Authorization header is passed with the value of Bearer <API_TOKEN>. To fetch the <API_TOKEN>:

  • Go to the Settings page and to the API tab.
  • Click the button Generate a new API token.
  • Save the Private key generated. This going to be used in the next section.

Setup steps in Draftbit

To access the API in the Draftbit app, you need the pass the <API_TOKEN> as the global variable in the form of an **Authorization** header.

  • Open the Settings tab on left-navbar.
  • In the Project Settings, navigate to Global Variables.
  • Enter a key to access the Authentication token and the value for it.
  • The Authorization token value requires you to enter a Bearer token. The syntax is Bearer <API_TOKEN>.
  • In place of <API_TOKEN> paste your own (from the previous section) and then click Add.
  • Click Save.

To add the Bubble CMS Base URL to your Draftbit app:

  • Open the Data tab on left-navbar.
  • From the Add a service menu, click on Rest API.
  • Enter a name for your REST API.
  • Paste your Base URL (from the previous section) into the Base URL input field.
  • Click the + from the Headers section to add a new Header.
  • Type Authorization for the key.
  • Select the Global Variable for Authorization (from the last step).
  • Click Save.

Available Bubble CMS recipes for Draftbit

Fetch all data into a List in Draftbit

To a blank screen in Draftbit, add a nested Fetch component, List component, View component, and a Text component so that your Layer Tree looks like this:

Inside of the View component, you can place as many Text you would like to be rendered for each entry in your data set.

The next step is to create an endpoint. Let's try fetching the data using the GET request:

  • Click Create new endpoint.
  • Enter a name for this endpoint.
  • Click the Test button next to the Endpoint input to make sure you've successfully connected to your Bubble CMS.
  • Once everything looks right, click Save to close the modal.
  • Select the Fetch component in the Layer Tree and select the Service you have created.
  • Select the Endpoint you want to fetch the data from.
  • Select the List component in the Layer Tree.
  • Change its Mapped Value to data.response.results under the Data Tab.
  • Now you can configure a Mapped Value on each Text component to title you have inside the View of your Fetch component.
  • Here is also a Preview mode is shown on how the data is fetched from the service API.

Fetch single entry into a Draftbit app

To a blank screen in Draftbit, add a nested Fetch component, View component, and a Text component so that your Layer Tree looks like this:

To fetch a single entry from Bubble CMS, you'll have to specify the unique ID for the data entry which is found when fetching data in the Preview mode.

  • Click Create new endpoint.
  • Enter a name for this endpoint.
  • Add the /{{ID}} in Add Path & Params.
  • Add a Test value for the {{ID}}.
  • Click the Test button next to the Endpoint input to make sure you've successfully connected to your Bubble CMS.
  • Once everything looks right, click Save to close the modal.
  • Select the Fetch component in the Layer Tree and select the Service you have created.
  • Select the Endpoint you want to fetch the data from.
  • Add the value for the ID in the Configuration section. This value is used to fetch the single record.
  • Now you can configure a Mapped Value on each Text component to response.title you have inside the View of your Fetch component.
  • Here is also a Preview mode is shown on how the data is fetched from the service API.

Add new data from a Draftbit app

You need to use a component that:

  1. accepts user input and
  2. has a Field Name prop to POST data using Bubble CMS.

Examples of these include:

Once you have the necessary component(s) on your screen, you'll need to create a new endpoint in your Bubble CMS service.

In the new endpoint you'll need to:

  • Enter a name for the Endpoint.
  • Change the Method to POST using the dropdown.
  • On the right-hand side of the modal, click the Body Structure tab and insert the request of the body.
  • The value of the field is going to be the value of the Field Name prop in Draftbit. This is generally assigned a default value whenever you add a TextInput component in your Draftbit app. To add it in the Body Structure, it needs to be inside the double curly braces as: {{FIELD_NAME_PROP_VALUE}}. The information regarding this is also given in the Body tab.
  • In the Body tab you can provide a Test Value for {{FIELD_NAME_PROP_VALUE}}. A Test value is a temporary value that can be used for variables during development.
  • In the Body Preview tab you verify that the Body Structure has a valid structure.
  • Click the Test next to the Endpoint to test if the endpoint is working correctly.
  • Click Save.

Below is a general breakdown of what the request will look like.

{
  "title": {{textInputValue}}
}

You can add the POST endpoint to submit the data entered in the Draftbit using the TextInput component and Touchable component.

  • On the Touchable component go to the Interactions tab (the last tab).
  • Click the + to open a drop-down menu in the Action tab and select the option Submit Data.
  • Setup the Submit Data by selecting the Service and the Endpoint.
  • Then add the configuration for body request to be sent by selecting the value for textInputValue.

Now you can make a POST request to add new data from the Draftbit app.

Update data from a Draftbit app

The PATCH request is used to update the single data entity. It accepts similar input components as mentioned in POST request and the request is triggered using a Touchable component.

To navigate from the main screen of the app to the screen where the updated value is entered and then eventually the PATCH request Endpoint is triggered, the initial step is to create a new screen with a TextInput component, a Touchable component, and a Text component.

  • Select the Touchable component that is specified for updating a value in-app screen.
  • Go to the Interactions tab.
  • Click the + to open a drop-down menu in the Action tab and select the option Navigate.
  • Set the Destination option to point to a new screen where the value can be updated.
  • In the Pass Data option, click the + to add a key-value pair.
  • Add the ID as the key and then select its value to be passed to the navigation screen.

You'll need to create a new endpoint in your Bubble CMS. In the new endpoint you'll need to:

  • Enter a name for the Endpoint.
  • Change the Method to PUT using the drop-down.
  • Add the {{ID}} of the entry to update in the Add Path & Params input.
  • Add a Test Value for the ID to test the Endpoint.
  • On the right-hand side of the modal, click the Body Structure tab and insert the request of the body.
  • The value of the field is going to be the value of the Field Name prop in Draftbit. This is generally assigned a default value whenever you add a TextInput component in your Draftbit app. To add it in the Body Structure, it needs to be inside the double curly braces as: {{FIELD_NAME_PROP_VALUE}}. The information regarding this is also given in the Body tab.
  • In the Body tab you can provide a Test Value for {{FIELD_NAME_PROP_VALUE}}.
  • Click the Test next to the Endpoint to test if the endpoint is working correctly.
  • Click Save.

Delete data from a Draftbit app

The DELETE request is to the Bubble CMS with a data entry's ID to remove that particular record from the table.

You'll need to create a new endpoint in your Bubble CMS. In the new endpoint you'll need to:

  • Enter a name for the Endpoint.
  • Change the Method to DELETE using the dropdown.
  • Add the {{ID}} of the entity to delete in the Add Path & Params input.
  • Add a Test Value for the ID to test the Endpoint.
  • Click the Test next to the Endpoint to test if the endpoint is working correctly.
  • Click Save.

Updated 2 months ago


Bubble CMS


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.