code: public String get_campaigns_v2(Map<String, Object> data) {
          String type = data.get("type").toString();
          String status = data.get("status").toString();
          String page = data.get("page").toString();
          String page_limit = data.get("page_limit").toString();
          String url;
  
          if (EMPTY_STRING.equals(type) && EMPTY_STRING.equals(status) && EMPTY_STRING.equals(page) && EMPTY_STRING.equals(page_limit)) {
              url = "campaign/detailsv2/";
          }
          else {
              url = "campaign/detailsv2/type/" + type + "/status/" + status + "/page/" + page + "/page_limit/" + page_limit + "/";
          }
          return get(url, EMPTY_STRING);
      }
docs: /*
  Get all campaigns detail.
  @param {Object} data contains json objects as a key value pair from HashMap.
  @options data {String} type: Type of campaign. Possible values – classic, trigger, sms, template ( case sensitive ) [Optional]
  @options data {String} status: Status of campaign. Possible values – draft, sent, archive, queued, suspended, in_process, temp_active, temp_inactive ( case sensitive ) [Optional]
  @options data {Integer} page: Maximum number of records per request is 500, if there are more than 500 campaigns then you can use this parameter to get next 500 results [Optional]
  @options data {Integer} page_limit: This should be a valid number between 1-1000. If page limit is kept empty or >1000, default is 500 [Optional]