1

Dual/Complex Data-Sources

Right now it's nearly impossible to pick up data when the API only sends back one result. Dual/Complex data-sources would pick up data based upon the results of another data-source. A real world example:

Campaign Monitor allows you to pick up a list of all campaigns, but if you want more information of all these campaigns you need to pick up each campaign individually. 

example: https://api.createsend.com/api/v3.1/campaigns/{campaignid}/summary.json

A dual/complex data-source would pick up a list of all campaigns, allow you to select the campaign id by getting the list of all campaigns, and then pick up data for each of the individual campaigns as well. It would return this data as one data source, as opposed to multiple data sources. 

In steps:

  1. Data source 1: Get list of all campaigns
  2. Identify the ID field as a variable
  3. Data source 2: Loops through all the IDs returned from data source 1 to pick up all the results
  4. One combined result is created

Off the top of my head Shopify, Harvest, Basecamp, and Campaign Monitor would be just a few of the data sources which would benefit from this kind of data source. 

2 comments

  • 0
    Avatar
    Danielle Hodgson

    Hello Tim,
    Thank you for bringing this up. I suggest you take a look at our document on Dynamic Datasources. Although this is not word for word what you described, as unfortunately won't give you only one datasource, it should address what you seem to be wanting to achieve. 

  • 0
    Avatar
    Tim Ceuppens

    Hey Danielle,

    I use those all the time, but you cannot get more than one variable at a time. Which is a serious limitation in some API's. 

    To give you an idea how we need to get round that: For Harvest V1, we needed to get all of the time-entries for all our employees, employee by employee. Or project by project. We then needed to combine those in one giant table. It's just a large hassle… 

    Anything you can do to improve that would be amazing.

Please sign in to leave a comment.