code: def call_strapi_api(
      self,
      method: str,
      endpoint: str,
      params: dict = {},
      json_data: dict = {},
  ) -> pd.DataFrame:
      headers = {"Authorization": f"Bearer {self._api_token}"}
      url = f"{self._base_url}{endpoint}"
  
      if method.upper() in ("GET", "POST", "PUT", "DELETE"):
          headers["Content-Type"] = "application/json"
  
          if method.upper() in ("POST", "PUT", "DELETE"):
              response = requests.request(
                  method,
                  url,
                  headers=headers,
                  params=params,
                  data=json_data,
              )
          else:
              response = requests.get(
                  url, headers=headers, params=params
              )
  
          if response.status_code == 200:
              data = response.json()
              # Create an empty DataFrame
              df = pd.DataFrame()
              if isinstance(data.get("data", None), list):
                  for item in data["data"]:
                      # Add 'id' and 'attributes' to the DataFrame
                      row_data = {
                          "id": item["id"],
                          **item["attributes"],
                      }
                      df = df._append(row_data, ignore_index=True)
                  return df
              elif isinstance(data.get("data", None), dict):
                  # Add 'id' and 'attributes' to the DataFrame
                  row_data = {
                      "id": data["data"]["id"],
                      **data["data"]["attributes"],
                  }
                  df = df._append(row_data, ignore_index=True)
                  return df
          else:
              raise Exception(
                  f"Error connecting to Strapi API: {response.status_code} - {response.text}"
              )
  
      return pd.DataFrame()
  
file_path: mindsdb/mindsdb/integrations/handlers/strapi_handler/strapi_handler.py
imports: from mindsdb.integrations.handlers.strapi_handler.strapi_tables import StrapiTable
  from mindsdb.integrations.libs.api_handler import APIHandler
  from mindsdb.integrations.libs.response import HandlerStatusResponse
  from mindsdb_sql import parse_sql
  from mindsdb.utilities import log
  import requests
  from mindsdb.integrations.libs.const import HANDLER_CONNECTION_ARG_TYPE
  from collections import OrderedDict
  import pandas
label_desc: Use image node_id 5 for calling the StrapiHandler obj's underlying member method code with example usage: obj.call_strapi_api(method, endpoint, params, json_data) and returns: pd, df, df