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
Protocol: HTTP
Host: api.fixer.io
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
Path: "/latest"
  • 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:
Enabled: True
Description: Convert EURO pricing to USD
Model: Order
Triggers: Manual
Background: False
  • 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.

Did this answer your question?