Get and Post data from a Panel to an external API

I’m new to Grafana, and i want to create a custom Panel that displays data and a form to add new data. The data is coming from a REST API so let’s say i currently have a GET and a POST on a /api/data route.
What is the best/right way to do this with grafana ?
I’ve seen there is a simpl json datasource, but i would have to implement a specific middleware back-end with /search /query etc … routes ? And i will be forced to return timeseries data ? Can’t i use my own json structure ?
Or is there a way to have a datasource directly calling my rest api ?
Or do i have to create my custom panel that calls directly my external api ? And if so, how can i achieve this, i didn’t find any exemple so far. Like a custom Form that will post data to an external API ?

Thanks for you help !

Check out https://grafana.com/plugins/ryantxu-ajax-panel. Based on what you describe, this should fulfil most of your needs.