This section provides detailed information on the available Web Service Api methods.
Warning: The SOAP API is a legacy feature that is no longer being updated. We highly recommend using the REST API instead, which is much more modern and capable. If you do so choose to use the SOAP API, be aware that support and maintenance of this feature will be discontinued in a future release. For more information, please file a support ticket.
This section lists the main web service methods used to access Exago.
Description |
Returns the URL parameter string. Points to ExagoHome.aspx. |
Remarks |
This is always the last method called. Appended the returned URL to your Exago application URL and redirect the user. |
Description |
Returns the URL parameter string. Points to the specified home page. Set showErrorDetail to True to display detailed error messages. |
Remarks |
This is always the last method called. Appends the returned URL to your Exago application URL and redirects the user. |
string InitalizeApi()
Description |
Returns an apiId as a string that is used in all subsequent calls. |
Remarks |
This is always the first method called. |
Description |
Returns an apiId as a string that is used in all subsequent calls. |
Remarks |
Can be used instead of InitializeApi to specify a configuration file other than WebReports.xml |
Description |
Set the Action property of the Api object. The action dictates the behavior of Exago when you call GetUrlParamString(). |
Remarks |
Valid values for action are: |
Description |
Set the Action property of the Api object. The action dictates the behavior of Exago when you call GetUrlParamString(). |
Remarks |
Valid values for action are: |
Description |
Set the DefaultReportName property of the Api object. The DefaultReportName is used in conjunction with the Action property of the Api to modify the behavior of Exago when you call GetUrlParamString(). |
Remarks |
The Default report name is a string providing the fully qualified path of the report. This function’s effect will change based on the set value of the Action.
When the Action is set to EditReport: If DefaultReportName is any non-empty value the report designer will not display menus to rename the report or change its description. |
Description |
Modify any of the General Settings in the Administration Console for the session. |
Remarks |
The propertyName must match the name used in the configuration file WebReports.xml for the setting you want to modify. Ex. ‘showexpressreports’ controls the Feature/UI Setting ‘Show Express Reports’. The propertyValue type will depend on the setting using the following rules based on how the property is shown in the Administration Console: DefaultOutputType: DateTimeTreatedAs: ScheduleManagerViewLevel: UserPreferenceStorage: ExcelExportTarget: DefaultFilterExecutionWindow SchemaAccessType: Default Datasource Metadata |
Description |
Allows multiple SetGeneralProperty() calls to be grouped together to avoid making many web service calls. |
Remarks |
The length the propertyName array and the propertyValue array must be equal. See remarks above in the SetGeneralProperty() method. |
This section lists the web service methods used to create, modify or delete Data Objects, Data Sources and Joins.
Description |
Adds a Data Object. Returns Boolean indicating success/failure. |
Remarks |
Valid objectType values are: parameterIds is a comma delimited list whose values will be passed to the data object. tenants is a comma delimited list of columns and parameters (e.g., ‘db_col1,paramId1,db_col,paramId2’) |
Description |
Adds a Data Object. Returns Boolean indicating success/failure. |
Remarks |
Unlike DataObject_Add this function includes an objectId. This allows for multiple Data Objects with the same name. The objectId should be a unique value. |
Description |
Adds a Data Object. Returns Boolean indicating success/failure. |
Remarks |
Unlike DataObject_Add this function includes an objectId and schemaName. |
Description |
Sets the alias of a specific data column. Returns Boolean indicating success/failure. |
Description |
Loads Xml into Exago as a data source. Returns Boolean indicating success/failure. |
Remarks |
Xml can be Excel worksheet type or compatible with .NET DataSet. The Data Object can appear in multiple categories using a comma delimiter. |
Description |
Modifies the connection string of a Data Source. Returns Boolean indicating success/failure. |
Description |
Adds a Data Object Join. Returns Boolean indicating success/failure. |
Remarks |
Valid relationType values are: Valid joinType values are: 0: Inner |
This section lists the web service methods used to create, modify or delete Folders.
Description |
Adds a report folder. Returns Boolean indicating success/failure. |
Remarks |
parentName is relative to the Report Path and should not contain slashes. Method will fail if a parent folder named parentName does not exist. |
Description |
Deletes a report folder. Returns Boolean indicating success/failure. |
Remarks |
folderName is relative to the Report Path. Method will fail if the report is not empty. |
Description |
Checks if a report folder exists. Returns Boolean indicating success/failure. |
Remarks |
folderName is relative to the Report Path. |
Description |
Renames a report folder exists. Returns Boolean indicating success/failure. |
Remarks |
Both folder names are relative to the Report Path. |
This section lists the web service methods used to create, modify or delete Parameters.
Description |
Adds a parameter. Returns Boolean indicating success/failure. |
Remarks |
Valid dataType values are: |
Description |
Modifies a parameter value. Returns Boolean indicating success/failure. |
Description |
Modifies multiple parameter values. Returns Boolean indicating success/failure. |
Remarks |
The length of the parameterIds and parameterValues arrays must be the same. |
This section lists the web service methods used to create, modify or delete Report objects. A Report object is any type of report supported by the application (currently Report_ or Dashboard_).
Description |
Activates an existing report. Returns Boolean indicating success/failure. |
Remarks |
Use backslashes to delineate subfolders. |
Note: Before calling any report or dashboard method call ReportObject_Activate to specify which Report object to modify.
Description |
Deletes an existing report. Returns Boolean indicating success/failure. |
Remarks |
Use backslashes to delineate subfolders. |
Description |
Creates a duplicate copy of an existing report (srcReportName) and provides a new name (destReportName). Returns Boolean indicating success/failure. |
Remarks |
Use backslashes to delineate subfolders. |
Description |
Sets the dashboard value for a promptable filter that exists on the specified report contained within the dashboard. |
Remarks |
To find the reportIndex of a particular report on a dashboard: Enter the dashboard designer. Press Ctrl+Shift+I. Click on the desired report. The index will appear in the reports title bar. The number of items in filterValues depends on the filter operator. |
Description |
Sets the dashboard value for a promptable parameter that exists on the specified report contained within the dashboard. |
Remarks |
To find the reportIndex of a particular report on a dashboard: Enter the dashboard designer. Press Ctrl+Shift+I. Click on the desired report. The index will appear in the reports title bar. |
Description |
Adds a filter to a report. Returns Boolean indicating success/failure. |
Remarks |
Valid filterOperator values are: filterValue can contain multiple values. Delineate values with ‘|~|’ (pipe tilde pipe). Valid andOrWithNext values are: Dates must be in the following format YYYY-MM-DD. |
Description |
Adds a value to a filter that accepts multiple values (ex ‘one of’ filters). Returns Boolean indicating success/failure. |
Remarks |
Index indicates which filter to add the value to. |
Description |
Adds a sort to a report. Returns Boolean indicating success/failure. |
Remarks |
Valid sortDirection values are: |
Description |
Removes a sort from a report. Returns Boolean indicating success/failure. |
Description |
Replaces any existing sorts of a report with the new sorts specified. Returns Boolean indicating success/failure. |
Remarks |
Valid sortDirection values are: If the lengths of the sortName and sortDirection arrays are not equal the following behavior will occur: |
Description |
Executes a report directly and returns data as a byte array. |
Remarks |
Any export type can be used with this method. Use Report_setParams() method to set the export type prior to this call. |
Description |
Executes a report directly and returns HTML as a string. |
Remarks |
This can be used to populate a container in the host application. HTML will not contain Exago paging HTML viewer. |
Description |
Returns the hierarchical structure of reports and folders as an Xml string. |
Remarks |
Returned list adheres to the active Role if set. See Report and Folder Storage/Management for an example of the Xml output. |
Description |
Returns the hierarchical structure of the active report an Xml string. |
Description |
Sets the value of a filter. Returns Boolean indicating success/failure. |
Remarks |
subIndex is used for filters with multiple values such as ‘one of’ or ‘between’ filters. Set subIndex to -1 for single value operators. Dates must be in the following format YYYY-MM-DD. |
Description |
Sets report execution parameters. Returns Boolean indicating success/failure. |
Remarks |
Valid exportType values are: |
This section lists the web service methods used to create, modify or delete Roles.
Description |
Returns the list of existing Roles as an Xml string. |
Description |
Activates a pre-created role. Returns Boolean indicating success/failure. |
Note: Before calling any of the following methods call Role_Activate to specify which role to modify.
Description |
Creates a new temporary run-time role. Returns Boolean indicating success/failure. |
Description |
Adds a Data Object to the role. Returns Boolean indicating success/failure. |
Remarks |
If includeAllDataObjects is True this method will exclude the Data Object and vice versa. objectName is the database value not the mnemonic. |
Description |
Adds a Data Object row to the role. Returns Boolean indicating success/failure. |
Remarks |
objectName is the database value not the mnemonic. filterString should be standard SQL to go into the WHERE clause. |
Description |
Adds a Report Folder to the role. Returns Boolean indicating success/failure. |
Remarks |
If includeAllFolders is True this method will exclude the Folder and vice versa. |
Description |
Overrides global currency symbol. Returns Boolean indicating success/failure. |
Description |
Overrides global date format. Returns Boolean indicating success/failure. |
Description |
Overrides maximum seconds the database is allowed to execute a query before timing out. Returns Boolean indicating success/failure. |
Description |
Overrides global decimal symbol. Returns Boolean indicating success/failure. |
Description |
Overrides global Language File. Returns Boolean indicating success/failure. |
Description |
Overrides whether to allow users to see database values in filter dropdowns. Returns Boolean indicating success/failure. |
Description |
Overrides report virtual path. Returns Boolean indicating success/failure. |
Description |
Sets the level of view privilege for the user session Returns Boolean indicating success/failure. |
Remarks |
Valid values for scheduleManagerViewLevel are: |
Description |
Overrides global numeric separator symbol. Returns Boolean indicating success/failure. |
Description |
Overrides global Server Time Zone Offset. Returns Boolean indicating success/failure. |
Description |
Overrides global numeric separator symbol. Returns Boolean indicating success/failure. |
Description |
Overrides whether to show the schedule report option. Returns Boolean indicating success/failure. |
Description |
Overrides whether to show the schedule reports instant email option. Returns Boolean indicating success/failure. |
Description |
Overrides whether to show the schedule reports management option. Returns Boolean indicating success/failure. |
This section lists the web service methods used to create Schedules for Reports to be emailed or Archived.
Before calling any of the following methods call Report_Activate() to specify which report to schedule and Report_SetParams() to set a non-html export format.
Note: There are two methods for type of schedule: a regular method and a ForArchiving() method. The regular method will email the report while the ForArchiving() method will save the report to the Scheduler Repository. For more information on archiving schedules see Saving Scheduled Reports to External Repository.
Note: Dates must be in the following format YYYY-MM-DD. Times must be in the following format HH:MM[:SS] (24-hour format).
Description |
Schedules a report to run and emailed immediately. Returns Boolean indicating success/failure. |
Remarks |
name: The name of the schedule as it appears in the Schedule Manager toAddrArray: The array of email addresses and/or distribution lists for the 'To' field of the email. If none of To, CC or BCC are set, Exago will attempt to archive scheduled reports. ccAddrArray: The array of email addresses and/or distribution lists for the 'CC' field of the email. If none of To, CC or BCC are set, Exago will attempt to archive scheduled reports. bccAddrArray: The array of email addresses and/or distribution lists for the 'BCC' field of the email. If none of To, CC or BCC are set, Exago will attempt to archive scheduled reports. subject: The subject line of the email body: The body text of the email |
Description |
Schedules a report to run and archived immediately. Returns Boolean indicating success/failure. |
Remarks |
name: The name of the schedule as it appears in the Schedule Manager |
Description |
Schedules a report to be run and emailed at a specific date and time.. Returns Boolean indicating success/failure. |
Remarks |
dateStr: The date to run the schedule. If the timeStr parameter is null, the scheduler will use the time value of this parameter timeStr: The time to run the schedule. If null, the scheduler will use the time value of the dateStr parameter Note: See remarks in Report_CreateImmediateSchedule toAddrArray, ccAddrArray & bccAddrArray |
Description |
Schedules a report to be run and archived at a specific date and time.. Returns Boolean indicating success/failure. |
Remarks |
dateStr: The date to run the schedule. If the timeStr parameter is null, the scheduler will use the time value of this parameter timeStr: The time to run the schedule. If null, the scheduler will use the time value of the dateStr parameter |
Description |
Schedules a report to be run and emailed every weekday. Returns Boolean indicating success/failure. |
Remarks |
startDateStr: The date to begin running the schedule. timeStr: The time to run the schedule. If null, the scheduler will use the time value of the startDateStr parameter. Three parameters are used to determine when to end a recurring schedule: bool NoEndDate, int endOccurrences, string endDateStr. These parameters adhere to the following logic. If noEndDate is True, the report will run indefinitely. Note: See remarks in Report_CreateImmediateSchedule for a description of toAddrArray, ccAddrArray & bccAddrArray. |
Description |
Schedules a report to be run and archived every weekday. Returns Boolean indicating success/failure. |
Remarks |
startDateStr: The date to begin running the schedule. timeStr: The time to run the schedule. If null, the scheduler will use the time value of the startDateStr parameter. Note: See remarks in Report_CreateEveryWeekdaySchedule for a description of noEndDate, endOccurrences & endDateStr. |
Description |
Schedules a report to be run and emailed every N days. Returns Boolean indicating success/failure. |
Remarks |
everyNDays: Indicates the interval at which to run the schedule (e.g. every 10 days). Note: See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr. Note: See remarks in Report_CreateImmediateSchedule for a description of toAddrArray, ccAddrArray & bccAddrArray. |
Description |
Schedules a report to be run and archived every N days. Returns Boolean indicating success/failure. |
Remarks |
everyNDays: Indicates the interval at which to run the schedule (e.g. every 10 days). Note: See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr. |
Description |
Schedules a report to be run and emailed on a weekly interval. Returns Boolean indicating success/failure. |
Remarks |
everyNWeeks: Indicates the interval at which to run the schedule (e.g. every 2 weeks). dayNums: Days on which the schedule is to be run. Valid values are: Note: See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr. Note: See remarks in Report_CreateImmediateSchedule for a description of toAddrArray, ccAddrArray & bccAddrArray. |
Description |
Schedules a report to be run and archived on a weekly interval. Returns Boolean indicating success/failure. |
Remarks |
everyNWeeks: Indicates the interval at which to run the schedule (e.g. every 2 weeks). dayNums: Days on which the schedule is to be run. Valid values are: Note: See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr. |
Description |
Schedules a report to be run and emailed on a specific day each month. Returns Boolean indicating success/failure. |
Remarks |
everyNMonths: Indicates the interval at which to run the schedule (e.g. every 2 months). numericDay: The numeric day of each month (e.g. 17) on which to run the schedule Note: See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr. Note: See remarks in Report_CreateImmediateSchedule for a description of toAddrArray, ccAddrArray & bccAddrArray. |
Description |
Schedules a report to be run and archived on a specific day each month. Returns Boolean indicating success/failure. |
Remarks |
everyNMonths: Indicates the interval at which to run the schedule (e.g. every 2 months). numericDay: The numeric day of each month (e.g. 17) on which to run the schedule Note: See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr. |
Description |
Schedules a report to be run and emailed on a “described” day each month, consisting of the week and the day. Returns Boolean indicating success/failure. |
Remarks |
everyNMonths: Indicates the interval at which to run the schedule (e.g. every 2 months). weekOfMonthNum: The 'described' week of each month (e.g. 'Third') on which to run the schedule. Used in conjunction with dayOfWeek. Valid values are: dayOfWeekNum: The 'described' day of each week (e.g. 'Weekday') on which to run the schedule. Valid values are: Note: See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr. Note: See remarks in Report_CreateImmediateSchedule for a description of toAddrArray, ccAddrArray & bccAddrArray. |
Description |
Schedules a report to be run and archived on a “described” day each month, consisting of the week and the day. Returns Boolean indicating success/failure. |
Remarks |
everyNMonths: Indicates the interval at which to run the schedule (e.g. every 2 months). weekOfMonthNum: The 'described' week of each month (e.g. 'Third') on which to run the schedule. Used in conjunction with dayOfWeek. Valid values are: dayOfWeekNum: The 'described' day of each week (e.g. 'Weekday') on which to run the schedule. Valid values are: Note: See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr. |
Description |
Schedules a report to be run and emailed on a specific day each year. Returns Boolean indicating success/failure. |
Remarks |
everyNMonths: Indicates the interval at which to run the schedule (e.g. every 2 months). numericMonth: The numeric Month of each year (e.g. 3) on which to run the schedule numericDay: The numeric day of each month (e.g. 17) on which to run the schedule Note: See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr. Note: See remarks in Report_CreateImmediateSchedule for a description of toAddrArray, ccAddrArray & bccAddrArray. |
Description |
Schedules a report to be run and archived on a specific day each year. Returns Boolean indicating success/failure. |
Remarks |
everyNMonths: Indicates the interval at which to run the schedule (e.g. every 2 months). numericMonth: The numeric Month of each year (e.g. 3) on which to run the schedule numericDay: The numeric day of each month (e.g. 17) on which to run the schedule Note: See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr. |
Description |
Schedules a report to be run and emailed on a specific day each year. Returns Boolean indicating success/failure. |
Remarks |
numericMonth: The numeric Month of each year (e.g. 3 = March) on which to run the schedule weekOfMonthNum: The 'described' week of each month (e.g. 'Third') on which to run the schedule. Used in conjunction with dayOfWeek. Valid values are: dayOfWeekNum: The 'described' day of each week (e.g. 'Weekday') on which to run the schedule. Valid values are: Note: See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr. Note: See remarks in Report_CreateImmediateSchedule for a description of toAddrArray, ccAddrArray & bccAddrArray. |
Description |
Schedules a report to be run and archived on a specific day each year. Returns Boolean indicating success/failure. |
Remarks |
numericMonth: The numeric Month of each year (e.g. 3 = March) on which to run the schedule weekOfMonthNum: The 'described' week of each month (e.g. 'Third') on which to run the schedule. Used in conjunction with dayOfWeek. Valid values are: dayOfWeekNum: The 'described' day of each week (e.g. 'Weekday') on which to run the schedule. Valid values are: Note: See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr. |
Batch calls can be used to encapsulate a series of non-interdependent method calls into a single web service request. This can be used to reduce the number of times messages are sent over the network, in order to reduce latency.
Description |
Passes a series of method calls to be evaluated in sequential order. Returns an array containing the methods' return values.
Each method to be called is passed as an object array with the method name in position 0, and followed by the arguments in correct positions.
The indices of the return values correspond with the indices of the input methods as they were passed into the web service. |
Example |
object[][] methods = new object[][] { new object[] { "InitializeApi2", "WebReports.xml" }, new object[] { "Role_Activate", "", "Admin" }, new object[] { "Report_Activate", "", "Client Reports\\Sales" }, new object[] { "Report_GetExecuteHtml" } }; object[] returnVals = BatchCall(methods); |
Remarks |
Note: Only available for methods with primitive types as parameters.
Note: For methods which require an Api Key parameter, if the first method call is InitializeApi(), then it is not required to wait for the Api Key response. Instead, you can pass an empty string in that position. |
Description |
Passes a series of method calls to be evaluated in sequential order. Returns a JSON-formatted array containing the methods' return values.
Methods to be called are passed as a JSON-formatted string. Each method to be called is an array with the method name in position 0, and followed by the arguments in correct positions.
The indices of the return values correspond with the indices of the input methods as they were passed into the web service. |
Example |
string methodJsonSstr = @"[ [ 'InitializeApi2', 'WebReports.xml' ], [ 'Role_Activate', '', 'Admin' ], [ 'Report_Activate', '', 'ClientReports\\Sales' ], [ 'Report_GetExecuteHtml' ] ]"; string returnVals = BatchCallJson(methodJsonStr); |
Remarks |
Note: Only available for methods with primitive types as parameters.
Note: For methods which require an Api Key parameter, if the first method call is InitializeApi(), then it is not required to wait for the Api Key response. Instead, you can pass an empty string in that position. |