We are working on a tool that essentially allows external customers to access various extracts of our datasets, with parameterized filtering, aggregation, the usual stuff, though REST API. Some of these extracts are time consuming to prepare, so we are looking for ways to manage asynchronous report generation or making it possible for customers to schedule reports upfront, as opposed to having a synchronous API. There are tons of libraries for implementing synchronous REST APIs, but are there any standard approaches or tools for this kind of asynchronous cross-organizational communication? Like, maybe something that would allow each customer inspect their schedules and pending queries, configure how they want the results to be delivered? I fear we will need to build something like that from scratch.

  • ArmoredCavalry@lemmy.world
    link
    fedilink
    English
    arrow-up
    16
    ·
    edit-2
    11 months ago

    Sounds like what you want is some form of webhooks that your customers can sign up for, that will send out when the reports are complete.

    There are quite a few ways to do that. One I’ve looked at recently is Convoy, for setting up a user-facing webhook Dashboard -

    https://getconvoy.io/

    By using webhooks for delivery, then your actual configuration / viewing of schedules just becomes standard API calls.

    • liori@lemm.eeOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      11 months ago

      Yep, thank you, that’s pretty close to what I imagined!