(Please note that older articles might not render correctly in mobile view.)
The HTTP Connection can be used to connect ProntoForms to any web app or data storage system on the internet, often using little or no-code. It is a great tool for setting up a custom integration.
The HTTP Connection can be used with the HTTP POST Data Destination, HTTP File Upload Data Destination, Template-Driven HTTP Data Destination, WebDav (HTTP PUT) Data Destination, and the HTTP GET Data Source. Note that the Connection will only be used if referenced in the Data Destination or Data Source configuration.
- Create the connection as described here. Alternatively, Connections can be created while creating a Data Source or Destination.
- Select HTTP Connection as the type.
- Name the Connection and optionally provide a description.
- Select the FormSpaces that are allowed to use this connection. This step will be skipped if creating a new connection while creating a Data Destination or Data Source, as the connection will be linked to the FormSpace the Data Destination or Data Source is in.
Enter the URL to reach the web application you want to connect to.
How do I know what to enter here?
Usually, you can find this URL by referring to the API documentation for the system you want to connect to. Pick any API call, and find the URL in the sample request.
Often, customers want to set up one connection, and re-use it for all their data sources and destinations (this is a good practice!). But, data sources and destinations are often pointing at different objects in the system you are connecting to.
Usually, it's the end part of the request URL that is unique per object. You should exclude this from your base URL.
Find your Base URL
- Take the part of the URL that is common across all the requests you need to make.
- And put it in the Base Connection URL for the connection.
- In each data source or destination, you will have a field to place the remainder of the URL required in the "URL Suffix" field to make the complete request.
The system you want to connect you is usually protected by a username/password combo, an API key/secret combo, or similar. You will need to provide this in order to have permissions to do any action in that system, like fetch a list of records or add a new record.
Some systems authenticate through a single authentication token, and may specify that the token must be passed in a header. In this case, check off "Anonymous Access" on the connection, and provide that token on the data source/destination instead.
If there is no authentication required at all, use Anonymous Access as well.
If not using Anonymous Access, choose the authentication scheme that matches the requirements of the system you need to connect to. You can read about what the different types mean here: https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/understanding-http-authentication
Again, the requirement can often be found in the other system's API documentation. All of these methods require a username and password. Depending on the system, this might be the username and password of an actual "user" who has permissions for everything in the system, or it might be a special integration user.
"Basic" is the most common. If you're not sure what to use, try this scheme.