Create

The create event allows you to add new records to your data models.

In this tutorial we will cover:

  • Setting up a POST endpoint

  • Linking our POST endpoint to an action

  • Adding a create event

  • Generate our code & test

For the purpose of this example, we will use a data model that holds different user sign up information.

Our goal is to set up a POST Endpoint that allows our users to create a new record in this data model whenever the endpoint is triggered.

There are two ways to do this, we can either:

  1. Use the API Generator, see API Generator, OR

  2. Build the endpoint, action & event from scratch.

In this article we will cover how to build the endpoint, action & event from scratch.

Setting up a POST Endpoint

In this section we are going to create a POST Endpoint manually to create a new record inside our Users table. To do this, head on over to the endpoints tab & press the "+ New Endpoint" button to create a new endpoint.

Next, we fill in the basic details for our endpoint as below.

Option

Description

Example

Name

The name you give to your endpoint. The name you give should correspond to what you're trying to accomplish with the end point.

Create a new user

Path

The path of your endpoint is the URL extension that your endpoint will live under.

/v1/create_new_user

Description

The description field describes what our endpoint will be used for.

A new endpoint to create a new user in our users table

Request method

The request method describes what the endpoint will be doing, the options are GET, POST, PUT & DELETE.

POST (this is used whenever we want our endpoint to create new data inside our data model)

Res. content type

The response that your endpoint is expecting from your action.

application / JSON

Req. content type

The request content that your endpoint is expecting when run.

application / JSON

Auth. Profile

If you want to lock down your endpoint to only run for authenticated users.

Please select a profile (this means that there is no authentication profile added).

Example configuration below for our Create a new user endpoint.

Notice, we set the Request Method to Post.

Next, we need to configure the "Variables" section of our POST Endpoint. You might be asking yourself why do we need a variable in our endpoint?

The reason that we need a variable is that our endpoint is going to create a new user record. The user will need a username, email & password, however we don't know what this information will be in advance. This means that we need to create some placeholders inside our endpoint that we can send data to.

Note, the placeholders can receive ANY data of a particular Kind e.g. text, number, number with decimal. Because the placeholders can receive ANY data of a particular Kind we call these placeholders, "variables".

If you can imagine entering a username, email & password at random & then sending this to the variable slots inside our endpoint, this might look like:

In the example above, we are sending the following values to the variable slots inside our endpoint.

  • username : James

  • email : james@dittofi.com

  • password : test123

To set up our endpoint to receive variable data, Dittofi allows you to send data to an endpoint as body variables, header variables, path variables & query variables. Each of these different variable types has a slightly different implementation. In this case we are going to use a body variable, which is the simplest. You can add a body variable to your endpoint as shown below.

Notice, the configuration of the body variable is of Kind Model & the model that we link the variable to is our Users Sign Up Data model.

By linking the model to the Users Sign Up Data model, in the background we are creating placeholders for the values inside our User Sign Up Data Model.

The Label & Name should be set to something meaningful, so that we will remember what is contained inside of the body variable.

Lastly, we press "Save" & close our endpoint.

Linking our POST endpoint to an action

Next, we need to link our endpoint to an action. To do this, we start by heading over to the actions tab & press "+ New Action" & give our action a name. The best idea here is to give the action the same name as your endpoint, since it will make it easier to search for in the future.

Next, under the "Advanced" section we link our action to our Endpoint "Create a new user", as shown below.

With this configuration, this means that every time the "Create a new user" endpoint is hit, this will start our action.

Adding a create event

By itself our action is not doing anything currently, but we can add events to our action & events graph on the right hand side of the screen by pressing the plus button.

You're able to chain together events to accomplish various things that you might want your action to do, for example, Create, Read, Update or Delete records in your data models, but also to upload files, distribute notifications over websockets, loop through data sets & so on.

In our case, we want to "Create" a new record, so this means selecting the Kind Create from the dropdown.

Each kind has a different set of options that need to be configured. In the case of the "Create" event the event can be configured as below.

Notice, we set the following fields:

Event options

Description

Example

Type

This option creates a variable inside our event, we select the type model since we are expecting to take new user data from our endpoint & that data is of type model.

model

Model

The model that you want to store data inside your event. In our case

User sign up data

Assign

Here we map data from our endpoint into the model variable inside our event.

username = UserSignUpData.Username

As

This is a variable that your event will return to your action. The "As" variable can be used later in your event chain.

Created User

Lastly, we press save & close our event.

Generate our code & test

The final step is to generate our code & test it. To generate the code, press the "Generate code" button.

Next, to test our entire workflow, we step over to the endpoints tab, open up our endpoint & press the "Run" button.

Notice, that when we run the endpoint, a popup box appears in the center of the screen. The popup box includes options to input the user data that we will send to our endpoint. This is shown below.

Notice that the Email, Username & Password fields here are just placeholders that we can enter free text into. This information will then be sent to our POST Endpoints body variable, which will then be forwarded on to our Action & Event that will write the data into our User Sign Up Data model.

For example, entering in the following dummy values creates the following record in our User Sign Up Data model.

Last updated