Step 3: Create the API
Create an API to trigger the Flow to create records from the list of customers and store them in the βUserName_Acc_customersβ Entity created in Step 1.
To go to APIs, click βAPIβ under the βAPIs and integrationβ menu on the left side panel.

To create a new API, click the [+ API] button.

The New API page displays with the Details tab preselected. To define the API, add the following information:
Enter the API name as βUserName_async_addlistofcustomersβ. The name indicates that a customer has been added.
Select the API method as βPOSTβ. This defines that the API will post or send data.
Optionally add a description for the API.

Create a new Group Name by clicking [+].
Enter the Group name as βUserNameβ.
Enter the Group base URL as βUserNameβ.
To save the Group name details, click [Save].

Add API Paths as βasyncβ and βaddlistofcustomersβ. Each parameter displays in a blue bubble.

The URL for the API is generated.

To define the Request body and Response body details, go to the βInputs & outputsβ tab.

To define the Request Body, go to the Inputs & outputs tab>Request body section. Click it to expand the already created Request body. It is defined with the following information:
By default, the name for the request body is βdefaultRequestJsonBodyβ. For this exercise, label it as βrequestJsonCreateCustomerβ.
Content type from the list of values is selected as βapplication/jsonβ. This defines the type of content in the request.
Character set is selected as βUniversal (UTF-8)β.
Optionally enter a description for the βRequest Bodyβ. (This is used in the API documentation.)
To define the json sample for the request, add the following Json:
[{ "Address_Line_1": "first Street", "City": "", "Customer_Value": 5, "Country": "USA", "Email": "[email protected]", "First_Name": "Jane", "IsActive": true, "Join_Date": "2021-09-15", "Last_Name": "Doe", "Phone": "1237865", "Rating": 1000, "Zip_Code": "45"
}]

To define the Response body, go to the Inputs & outputs tab>Response body section and click it to expand it. A Response body is already created and defined with the following information:
By default, the name for the response body is βdefaultResponseJsonBodyβ. For this exercise, keep the response body name as is.
The Content type from the list of values is selected as βapplication/jsonβ. This defines the type of content in the response.
The Response Code is selected as β200 OKβ.
Character set is selected as βUniversal (UTF-8)β.
Optionally add a description for the βResponse Bodyβ(This is used in the API documentation).
To define a sample Json for the response, type the following json object:
{ "status": "success or failed", "errorcode": "0","message": "The response of creating the entity record.","details": [] }This object indicates that: - The status is βsuccessβ or βfailedβ. - The error code is zero (0). - The message displayed is βThe response of creating the entity recordβ. - The details will be a list of values as identified by the two square brackets β[]β

To define the Target entity for this API, go to the βTarget Entitiesβ tab. Target entities are the entities that the Actions in this API can process data into i.e. perform add, update, or delete upon. To create a new target entity, click [+ Target entity].

To define the Target Entity for storing the created record:
Select Target Entity as βUserName_Acc_customersβ.
Keep βselect a default validationβ as is. If a Validation pipeline needs to be applied to the data before storing in an entity, the relevant Validation pipeline can be selected in this field. In this exercise, no Validation pipeline is applied.
βShow in API gatewaysβ toggle button is enabled by default. This must be enabled so that the API is visible to the API gateway through which it can process the information into the entity.

To see the default variables created for an API, go to the βVariablesβ tab. The following two (2) Read Only variables are predefined:
Variable Name: βRequestβ, Data Type: βWebRequestβ. This variable contains the Web Request received.
Variable Name: βResponseβ, Data Type: βWebResponseβ. This variable contains the Web Response sent.

To create Actions for this API, go to the βCodeβ tab. By default, an βAction boxβ is already created with the description of the βAction boxβ as βOnExitβ. To change the βAction boxβ label, double click the description and label the Action box as βcreate records for list of customersβ. In this βAction boxβ, the records will be updated in the entity βUserName_Acc_customersβ based on the request received.

Click on the arrow on the top right corner of the βAction boxβ to expand it. In the βCodeβ tab, an Action called βAPI Respondβ is already added. Notice the variable as βdefaultResponseJsonBodyβ. Remove this action for now.
First, the variables need to be defined and initialized. To define the variables, go to the βVariablesβ tab of the βAction boxβ. To create a new variable, click the [+ Variable] button.

To contain the values for the fields of the desired entity in a record, define the variable as follows:
Enter Variable Name as βtriggerCustomerRecordβ.
Select Data Type as the Entity βUserName_Acc_customersβ.

To contain the values for the Json fields received in the request, define the variable as follows:
Enter Variable Name as βdetailsJSβ.
Select Data Type as the Entity βJsonβ.

To define the Json sample (layout in which the list of customers will be received in the request), click the [Sample] button.

Add the following Json sample in the Sample Schema View:
{ "customerslist": [{ "Address": "first Street","City": "","Customer_Value": 5,"Country": "USA","Email": "[email protected]","First_Name": "Jane","IsActive": true,"Join_Date": "2021-09-15","Last_Name": "Doe","Phone": "1237865","Rating": 1000,"Zip_Code": "45" }] }To save the Sample Schema, click the [Save] button.

To define the actions for this API, go to the βCodeβ tab of the Action box and add three (3) Actions.

Define the first three actions to acknowledge the request and to send the response that the request is queued. To send the response code, redefine the first, existing first Action as follows:
Select Action as βUpdate Variableβ.
Select Target Value as Response>defaultResponseJsonBody>errorcode. It displays as βResponse.defaultResponseJsonBody.errorcodeβ.
Enter Value as β200β and press Enter.

To send the response message, add the second Action and define it as follows:
Select Action as βUpdate Variableβ.
Select Target Value as Response>defaultResponseJsonBody>message. It displays as βResponse.defaultResponseJsonBody.messageβ.
Enter Value as βYour request is now queued for processing.β and press Enter.

To send the response status, add the third Action and define it as follows:
Select Action as βUpdate Variableβ.
Select Target Value as Response>defaultResponseJsonBody>status. It displays as βResponse.defaultResponseJsonBody.statusβ.
Enter Value as βRequest Queuedβ and press Enter.

Once the response has been sent, the created Flow will be triggered to create the customer record. To trigger a Flow, it is mandatory that an entity record is loaded.
To create the record to load and ensure it does not get deleted, for this exercise, go to the βUserName_Acc_customersβ entity and create a record as follows:
Address: DO NOT DELETE
City: DO NOT DELETE
Country: DO NOT DELETE
Customer_ID: (autogenerated)
Customer_Value: 1
DayMonthJoinDate: (current day and month)
First_Name: DO NOT DELETE
IsActive: true
Join_Date: (current day and month)
Last_Name: DO NOT DELETE
Phone: DO NOT DELETE

To load the entity record for triggering the Flow, go to the API, add the fourth Action, and define it as follows:
Select Action as βLoad Entity recordβ.
Select Target Value as βtriggerCustomerRecordβ.
Click on the Setup Criteria button to define the settings for this Action.

To define the Setup criteria for the entity record:
Select Order by as βFirst_Nameβ.
By default, the βDescendingβ option is selected. Keep it as is.
Add a match key by clicking the [+ Match key] button.

To match the First_Name field of the entity to βDO NOT DELETEβ text, define the match key as follows:
Select Field as βFirst_Nameβ.
Enter Source as βDO NOT DELETEβ.
To save the settings, click the [Save] button.

To update the request into the Json field to be loaded with the entity while triggering Flow, add and define the fifth Action as follows:
Select Action as βUpdate Variableβ.
Select Target Value as detailsJS>customerslist. It displays as βdetailsJS.customerslistβ.
Enter Value as Variables>Request>defaultRequestJsonBody. It displays as βRequest.defaultRequestJsonBodyβ.

To trigger the Flow, add and define the sixth Action with the entity variable and Json sample as follows:
Select Action as βTrigger Flowβ.
Select Flow as βUserName_createlistofcustomersβ. Select Entity variable as Variables>triggerCustomerRecord. It displays as βtriggerCustomerRecordβ.
Select Json as Variables>detailsJS. It displays as βdetailsJSβ.

To send the API response, add the last Action and define it as follows:
Select Action as βAPI Respondβ.
Select Response body as βdefaultResponseJsonBodyβ.

To save the API, click the [Save] button.

To publish the API, click the [Publish] button.

To define the API gateway, go to the Details tab and add the API gateway for this API as βUserName_async_addlistofcustomersβ. Save the API again.

Ensure the API is enabled in the βDetailsβ tab on the right-hand side.

To test the API, click the [Test] button.

In the Test Console:
Add the values of the list of customers.
Enable the [Entity actions] toggle button.
Click [Test API].

To see the Response, go to the Body section in the Test Console. The response message displays stating that the request is queued for processing.


Last updated
