HTTP Connection

 

About

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.  

 

Tips for System Integrators:
  • The system that you are connecting to must allow requests from 3rd party systems in order for a custom integration to work
  • Often,  HTTP integrations (webhooks) are used to write API calls.   If you are not sure if it is possible to integrate with your desired system, check if it has a documented API
    • If it has an API, we can probably connect to it!

[ top ]

 


Basic Setup

  1. Create the connection as described here.  Alternatively, Connections can be created while creating a Data Source or Destination. 
  2. Select HTTP Connection as the type.
  3. Name the Connection and optionally provide a description.
  4. 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.  

[ top ]

 

Base Connection URL

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

  1. Take the part of the URL that is common across all the requests you need to make.
  2.  And put it in the Base Connection URL for the connection.
  3. 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. 

[ top ]

 

Authentication

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.

 

Anonymous Access

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. 

[ top ]

 

Authentication Scheme

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. 

 

Tips for System Integrators:
  • If there isn't a special "Integration User", and you are forced to use the username/password of a regular user, ensure that the user already has permissions to complete all the actions you expect your integration to do.
  • For example, if you need a data source to list all records in a specific table, ensure that the user has Read access to that table. 

 

[ top ]

 

 

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments

  • Avatar
    ios apps

    Hey, basic auth over http(s) is not often accepted by our security team where mobile applications are required to connect to our enterprise backend systems. I was wondering if you guys support mutual SSL or OAuth using the HTTP connection type? 

  • Avatar
    Danielle Morley

    Hello Ben, 

    We don't currently support mutual SSL or OAuth uing the HTTP Connection type, but we have looked into supporting them in the future.  Is there a specific application you'd like to connect to, or is it a custom implementation?

    I recommend creating a feature request (https://support.prontoforms.com/forums/284828-Feature-Requests) including this and other relevant information so that we can review your needs for future development.