Sometimes you will need currency conversions in your Betty Blocks applications, this article will help you do this. In this article I will use the API located at https://fixer.io/
Step 1: Set up the Web Service
- Go to 'Tools' > 'Webservices'
- Create a new Web service
- Fill in the form with the following information:
Name: Exchange Rates API
Authentication Type: None
Request Content-Type: JSON
Response Content-Type: JSON
- Create a new Webservice Endpoint
- Fill in the form for the new Endpoint with the following information
Name: Get the latest foreign exchange rates
HTTP method: GET
- Save the Endpoint
- Perform a 'Run Test'
- When the service responds with JSON hit the 'Generate Custom Model'
- You're done setting up the Webservice.
Step 2: Set up the Datamodel
- Create a model 'Order' to store the example Orders, from here we would like to do the conversions.
- Add a price property 'euro_value' and add a price property "Converted_price".
- You're all done setting up your datamodel. This also means we are now halfway, time for a break.
Step 3: Set up the Action
- Fill in the action form with following information:
Description: Convert EURO pricing to USD
- Add the following action events
- HTTP Request, select Exchange Rates API and select the Endpoint. Hit Save.
- Add an Update event.
- Select the Order Object
- Add a Variable of the type ""Number with decimal Expression", name it "Conversion". Use the following expression in this variable:
var:record.euro_value * round(var:item.rates.USD, 4 )
The round expressions (with parameter 4) tells Betty Blocks to use a decimal scale of 4.
- Assign the variable to the property "Converted_price"
- Done building the action :)
Step 4: Build the View
We are not Betty Blocks noobs here. If you are integrating Web service I assume you've left your 'How can I set up a view'-days long behind you. I will help, but just with a few easy steps.
- Create a view for Order
- Add the "Convert" action to the order form
Step 5: Start converting
On the order form, fill in a euro pricing. Then press the Action Button to start converting, after conversion the "Converted_price" should be filled.