BellaDati can import data from URLs, web services and REST APIs.

    Connecting to URL has similarities with file import. In addition URL imports can be scheduled to execute automatically and repeatedly.

    Icon

    URL popup offers advanced section for authentization and specific HTTP headers settings.

    Connecting to URL

    From Data Source Connectors page select Connect from URL.

     

    Connection Parameters

    Enter following parameters to connect to URL source:

    • URL: Web address
    • File content: Select the file format - CSV (text file), Excel (XLS, XLSX), XML, JSON or ZIP
    • Authentication: No Authentication, Simple, oAuth1a, oAuth2

    Then continue setting like for file import.

    Icon

    Login and password are optional parameters.

     

    Date and Time Variables

    If you need to change the URL or HTTP post content dynamically, you can use predefined variables. BellaDati currently supports functions to get date, time or timestamp in user defined formats:

    Name

    Description

    Examples

    $date(dateString)

    Evaluates the dateString and outputs the date in yyyy-MM-dd format. The dateString

    $date(now + 5d -4w)
    $date(2011-01-01 + 5d -4w)
    $date(actualMonth -1d)

    $date(dateString, format)

    Works like $date(dateString), but output format is controlled by format parameter

    $date(now + 5d -4w, dd-MM-yyyy)
    $date(2011-01-01 + 5d -4w, MMyyyy)
    $date(actualMonth -1d, yyyy-dd-MM)

    $time(timeString)

    Evaluates the timeString and outputs the resulting time in HH:mm:ss format

    $time(now)
    $time(actualhour)
    $time(actualminute)

    $time(timeString, format)

    Works like $time(timeString), but output format is controlled by format parameter

    $time(now, HH:mm:ss)
    $time(actualhour, MMss)
    $time(actualminute, HHmmss)

    $timestamp()

    Returns the current time stamp value

    $timestamp()

    $firstValue(L_ATTRIBUTE_CODE)

     Returns the lowest value (sorted ascending) of the attribute specified by attribute ID stored in the current data set.

    Returns empty string if there are no data or the attribute code is not valid.

    $firstValue(L_ID) //returns 123456

    $firstValue(L_DATE_ATTRIBUTE) //returns 2013-01-01
    $firstValue(L_TIME_ATTRIBUTE) //returns 10:00:54

    $lastValue(L_ATTRIBUTE_CODE)

     Returns the highest value (sorted descending) of the attribute specified by attribute ID stored in the current data set.

    Returns empty string if there are no data or the attribute code is not valid.

    $lastValue(L_ID) //returns 123456

    $lastValue(L_DATE_ATTRIBUTE) //returns 2013-12-31
    $lastValue(L_TIME_ATTRIBUTE) //returns 23:59:59

    DateString

    • now - represents actual date
    • actualyear - represents the first day of actual year (1.1.20XX). For example actualyear selected on 21.9.2010 represents date 1.1.2010
    • actualquarter - represents the first day of actual quarter (1.1.20XX, 1.4.20XX, 1.7.20XX, 1.10.20XX). For example actualquarter selected on 21.9.2010 represents date 1.7.2010
    • actualmonth - represents the first day of actual month (1.1.20XX, 1.2.20XX, ...). For example actaulmonth selected in 21.9.2010 represents date 1.9.2010
    • actualweek - represents first day of actual week (Monday). For example actualweek selected on 21.9.2010 represents date 20.9.2010 (Monday of this week in calendar)
    • relative and absolute enterig of date can be adjusted by operators using this syntax: date +|- n[d|w|m|q|y], where n is integer, d represents day, w represents week, m represents month q represents quartal and y represents year. We can for example define time in this way:  actualyear + 2m -4d. Today is 21.9.2010, so this value represents 1.1.2010 + 2 months - 4 days, which means date 25.2.2010.

    TimeString

    • now - represents actual time
    • actualhour - represents the actual hour at 0 minutes and 0 seconds.
    • actualminute - represents the actual minute at 0 seconds
    • actualsecond - represents the actual second

    TUTORIAL VIDEO

    Connecting to SOAP web Services

    BellaDati is able to connect resources available on network via the HTTP protocol. Except this simple usage, we can connect also more complex resources available as Web services. Web services are using the SOAP protocol, which is based on the plain HTTP protocol. The SOAP message comes in standard XML format, which is in BellaDati perfectly supported. Here is an example how to do it:

    1. Enter the endpoint URL of your web service and choose the XML file format.
    2. Open the advanced settings, choose the POST method and set the following parameters:
      1. SOAPAction - value is contained in the WSDL file, which describes your web service. It is defined in the soapAction tag, e.g.: <soap:operation soapAction="http://www.sap.com/Z_HSI_HRP04_RZH_READ_DATA"/>
      2. Content-Type - set the value to text/xml
    3. Insert the POST content in the depicted structure:

    Icon

    In case you suffer any issues while connecting to SAP Web Services, we recommend to use external tools like SoapUI to which will generate right structure of XML structure based on WSDL.

    SoapUI will also help you to generate right http Post content.

     

    Connecting to REST web services

    You can connect to REST web services over HTTP using BellaDati. Just select the proper HTTP GET header type and file type (eg. CSV).

    Authentication

    The following authentication methods are supported:

    Icon

    REST API supports OAuth standard with a security token.

    For OAuth1a, following connection parameters are available: 

    • Consumer Key,
    • Consumer Secret,
    • Request Token URL,
    • Token Authorization URL,
    • Access Token URL.

    For OAuth2, it is also possible to define Resource and State parameters, which are used for example when connecting to Office 365 services.

    Connecting to Office 365 via HTTP Connector

    This example will show how to connect to Office 365 via HTTP Connector and how to import list of contacts from the e-mail account.

    1. Select Connect over HTTP from list of data sources.
    2. Fill in the URL, in this example https://outlook.office.com/api/v1.0/me/contacts/?$orderby=displayname%20asc. 
    3. Change File content to JSON.
    4. Select OAuth2 authentication.
    5. Add HTTP header with name Accept and value text/*, multipart/mixed, application/xml, application/json; odata.metadata=none.

    6. In Authentication settings, fill in the OAuth Access Token which you generated in Office 365 and set the OAuth Token Type to Bearer (see Office 365 settings below).
    7. Click on Sign in using OAuth and fill in all the parameters. Set the scope accordingly to the token.

    8. Click on Continue and import the data.

    Office 365 settings

    1. Go to https://portal.azure.com/
    2. In the left menu, click on Azure Active Directory and then on App registrations.
    3. Add new application registration, select Web app/API and fill in the URL of your BellaDati application.
    4. In Reply URLs, add new record: URLofYourBD/auth/callback/oauth2
    5. In Required permissions, add:
      1. Office 365 Exchange Online (Microsoft.Exchange) - Read contacts in all mailboxes
      2. Windows Azure Active Directory (Microsoft.Azure.ActiveDirectory) Sign in and read user profile
    6. In Keys, add a new key and copy the credentials.

    Next Steps