public interface

IDSSXMLSubscriptionServer

com.microstrategy.webapi.IDSSXMLSubscriptionServer

Class Overview

This interface provides all the functionality related to subscriptions in the XML API layer. It contains the calls which are used to retrieve a list of subscriptions, addresses, contacts. It also provides methods to delete and save a subscription, retrieve settings related to distribution services that are stored at the project, trigger an event and link contacts with a user

Summary

Public Methods
abstract String AddRecipients(String sessionID, String subscriptionXML)
This will add recipients to a subscription without requiring the user to have the entire subscription XML
abstract boolean CheckNCSCS(String sessionID)
This calls checks if the content services repository is created and configured for use with Distribution Services.
abstract void DisableContact(String sessionID, String contactID)
Disable a contact, given the ID of the contact.
abstract void EnableContact(String sessionID, String contactID)
Enable a contact, given the ID of the contact.
abstract String GetAddress(String sessionID, String addressID)
Retrieves the definition of an address that exists in the MD.
abstract String GetAllContacts(String sessionID, int deliveryType, int flags, int blockBegin, int blockCount, int orderBy, String namePattern, String userID, int contactType, int enableFlag, boolean securityEnabled, String dssID, int dssType)
Returns XML String containing contacts based on a report or document
abstract String GetAllContacts(String sessionID, int deliveryType, int flags, int blockBegin, int blockCount, int orderBy, String namePattern, String userID, int contactType, int enableFlag, boolean securityEnabled)
abstract String GetAllDevices(String sessionID)
Returns a list of all devices that the current user has access to.
abstract String GetContact(String sessionID, String contactID, int deliveryType, boolean createDefaultContact)
Returns XML String containing contact definition for contact with specified contactID and deliveryType
abstract String GetContactsBySearch(String sessionID, int flags, int blockBegin, int blockCount, String searchXML, String orderByXML)
abstract String GetObjectAssociatedSchedules(String sessionID, String did, int type, String messageId)
This call retrieves the object level schedules to a subscription
abstract String GetProjectDSSettings(String sessionID, String projectID)
Returns XML String containing Distribution Services (DS) settings for users unable to access the server definition
abstract String GetProjectsAssociatedSchedules(String sessionID)
This call retrieves the schedules to a subscription
abstract String GetSubscription(String sessionID, String subscriptionID)
Retrieves the definition of a specific subscription, given the subscritionID.
abstract String GetSubscriptionCount(String sessionID, String contentID, String userID, String contactID, String addressID, String triggerID, String projectID, int deliveryType)
This call retrieves a count of subscriptions for a given criteria.
abstract String GetSubscriptions(String sessionID, String contentID, String userID, String contactID, String addressID, String triggerID, String projectID, int blockBegin, int blockCount)
This call retrieves a list of subscriptions for a given criteria.
abstract String GetSubscriptions(String sessionID, String filterXML, int blockBegin, int blockCount, int detailFlag)
This call retrieves a list of subscriptions for a given criteria, specified in the filterXML.
abstract void LinkContactsWithUser(String sessionID, String userID, String contactsXML)
Links a list of contacts with a user.
abstract void RemoveContact(String sessionID, String contactID)
Removes/deletes a contact, given the ID of the contact.
abstract void RemoveContacts(String sessionID, String contactsXML, boolean disableContact)
abstract void RemoveSubscription(String sessionID, String subscriptionID)
Deletes a subscription based on a specified subscriptionID.
abstract String SaveAddress(String sessionID, String userID, String addressXML)
Saves a new address to the MD.
abstract void SaveContact(String sessionID, String userID, String contactXML)
Saves a contact in the MD.
abstract void SaveObjectAssociatedSchedules(String sessionID, String requestXML, String did, int type, String messageId, String flag)
This will save the schedules to a subscription in Object level
abstract void SaveObjectAssociatedUsers(String sessionID, String requestXML, String did, int type, String messageId, String flag)
This call save the associated users of a report or document subscription
abstract void SaveProjectsAssociatedSchedules(String sessionID, String associatedScheduleXML)
This will save the schedules to a subscription
abstract void SaveSubscription(String sessionID, String subscriptionXML)
This method is deprecated. use SaveSubscription(String, String, StringWrapper) instead
abstract void SaveSubscription(String sessionID, String subscriptionXML, StringWrapper response)
Saves a subscription to the content server repository.
abstract void TriggerEvent(String sessionID, String eventID)
Triggers an 'Event', specified by the eventID.
abstract String checkSubscriptionACL(String sessionID, String did, int type, String userID, String projID)
This call retrieves whether allow user to subscribe this report/document
abstract String getObjectAssociatedUsers(String sessionID, String did, int type, String messageId)
This call retrieves the associated users of a report or document subscription

Public Methods

public abstract String AddRecipients (String sessionID, String subscriptionXML)

This will add recipients to a subscription without requiring the user to have the entire subscription XML

Parameters
sessionID String containing the id of the session to be used for this transaction
subscriptionXML String containing the add recipient XML
Returns
  • String containing nothing. For future use

public abstract boolean CheckNCSCS (String sessionID)

This calls checks if the content services repository is created and configured for use with Distribution Services. For pre-9.x MD, that has not been upgraded, this method will return false.

public abstract void DisableContact (String sessionID, String contactID)

Disable a contact, given the ID of the contact. Currently, this is not used anywhere in the web application and is also not exposed in the web objects layer.

public abstract void EnableContact (String sessionID, String contactID)

Enable a contact, given the ID of the contact.

public abstract String GetAddress (String sessionID, String addressID)

Retrieves the definition of an address that exists in the MD. The address is specified by the address ID

public abstract String GetAllContacts (String sessionID, int deliveryType, int flags, int blockBegin, int blockCount, int orderBy, String namePattern, String userID, int contactType, int enableFlag, boolean securityEnabled, String dssID, int dssType)

Returns XML String containing contacts based on a report or document

Parameters
sessionID String containing sessionID
Returns
  • String containing contacts XML

public abstract String GetAllContacts (String sessionID, int deliveryType, int flags, int blockBegin, int blockCount, int orderBy, String namePattern, String userID, int contactType, int enableFlag, boolean securityEnabled)

public abstract String GetAllDevices (String sessionID)

Returns a list of all devices that the current user has access to. This call returns all devices irrespective of delivery type.

public abstract String GetContact (String sessionID, String contactID, int deliveryType, boolean createDefaultContact)

Returns XML String containing contact definition for contact with specified contactID and deliveryType

Parameters
sessionID String containing sessionID
contactID String containing the contact ID (NOT DSSID) for contact
deliveryType int from EnumDSSXMLSubscriptionDeliveryType
createDefaultContact boolean to determine whether IServer should create a default contact if one does not exist
Returns
  • String containing contact XML

public abstract String GetContactsBySearch (String sessionID, int flags, int blockBegin, int blockCount, String searchXML, String orderByXML)

public abstract String GetObjectAssociatedSchedules (String sessionID, String did, int type, String messageId)

This call retrieves the object level schedules to a subscription

Parameters
sessionID String containing the id of the session to be used for this transaction

public abstract String GetProjectDSSettings (String sessionID, String projectID)

Returns XML String containing Distribution Services (DS) settings for users unable to access the server definition

Parameters
sessionID String containing the sessionID
projectID String containing project GUID

public abstract String GetProjectsAssociatedSchedules (String sessionID)

This call retrieves the schedules to a subscription

Parameters
sessionID String containing the id of the session to be used for this transaction

public abstract String GetSubscription (String sessionID, String subscriptionID)

Retrieves the definition of a specific subscription, given the subscritionID. This subscription ID can either be a parent of a multi-recipient subscription or one of its children

public abstract String GetSubscriptionCount (String sessionID, String contentID, String userID, String contactID, String addressID, String triggerID, String projectID, int deliveryType)

This call retrieves a count of subscriptions for a given criteria. It can be used to get a count of subscriptions created for a given project or for a given user ID or whose recipients include a given contactID or an addressID or which use a particular triggerID.

Parameters
contentID . Report or document ID. If specified, this call returns a list of subscriptions for the specified report/document
userID . Specifies a particular userID who is the owner/recipient for a list of subscriptions
contactID . Specifies a particular contactID as a filter for the list of subscriptions.
addressID . Specifies a particular addressID
triggerID . Specifies a particular trigger/schedule on which the subscriptions are run.
deliveryType . From EnumDSSXMLSubscriptionDeliveryType

public abstract String GetSubscriptions (String sessionID, String contentID, String userID, String contactID, String addressID, String triggerID, String projectID, int blockBegin, int blockCount)

This call retrieves a list of subscriptions for a given criteria. It can be used to get a list of subscriptions created for a given project or for a given user ID or whose recipients include a given contactID or an addressID or which use a particular triggerID. This call also supports incremental fetch in a limited manner, using the blockBegin and blockCount parameters

Parameters
contentID . Report or document ID. If specified, this call returns a list of subscriptions for the specified report/document
userID . Specifies a particular userID who is the owner/recipient for a list of subscriptions
contactID . Specifies a particular contactID as a filter for the list of subscriptions.
addressID . Specifies a particular addressID
triggerID . Specifies a particular trigger/schedule on which the subscriptions are run.
blockBegin . Used for supporting incremental fetch. Starts with '0'.
blockCount . Used for supporting incremental fetch. Specify '0' for unlimited list of subscriptions

public abstract String GetSubscriptions (String sessionID, String filterXML, int blockBegin, int blockCount, int detailFlag)

This call retrieves a list of subscriptions for a given criteria, specified in the filterXML. This call also supports incremental fetch in a limited manner, using the blockBegin and blockCount parameters

Parameters
sessionID String containing id of session to perform this action in
filterXML String containing XML used to filter the results of this call
blockBegin int specifying the start of the block. Starts with '0'
blockCount int specifying the length of the block. Specify '0' for unlimited list of subscriptions
detailFlag int specifying the type of data to return. Should come from EnumDSSXMLNCSInstanceSourceField.

public abstract void LinkContactsWithUser (String sessionID, String userID, String contactsXML)

Links a list of contacts with a user. A contact needs to be linked to a user so that when a subscription to the contact is executed/run, the security credentials of the user can be used to execute the report/document. A contact which is not linked to a user is useless for the purpose of subscription execution and delivery.

public abstract void RemoveContact (String sessionID, String contactID)

Removes/deletes a contact, given the ID of the contact. Currently, this is not used anywhere in the web application and is also not exposed in the web objects layer.

public abstract void RemoveContacts (String sessionID, String contactsXML, boolean disableContact)

public abstract void RemoveSubscription (String sessionID, String subscriptionID)

Deletes a subscription based on a specified subscriptionID. Right now, we can only delete one subscription at a time.

public abstract String SaveAddress (String sessionID, String userID, String addressXML)

Saves a new address to the MD. This method can be used to save an address to the default contact of the user whose session is provided (by passing in null for userID) or it can used to add a new address to the default contact of a specific user, specified by the userID

Parameters
userID , Specific user whose adddres is being saved. If null is passed in for this parameter, the address is added to the default contact of the user whose session is used.
addressXML , This XML describes the definition of the address

public abstract void SaveContact (String sessionID, String userID, String contactXML)

Saves a contact in the MD. This method is currently used only to save existing addresses to default contacts of users. It is also used to delete existing addresses.

Parameters
userID . If the userID is null, then the address is saved to the default contact of the user whose session is passed is.
contactXML . XML describing the contact definition. Currently this only contains the addresses that need to be saved as part of the contact definition

public abstract void SaveObjectAssociatedSchedules (String sessionID, String requestXML, String did, int type, String messageId, String flag)

This will save the schedules to a subscription in Object level

Parameters
sessionID String containing the id of the session to be used for this transaction

public abstract void SaveObjectAssociatedUsers (String sessionID, String requestXML, String did, int type, String messageId, String flag)

This call save the associated users of a report or document subscription

Parameters
sessionID String containing the id of the session to be used for this transaction
requestXML containing the associated users XML
did the report or document id
type the report or document type
messageId Message ID corresponding to the report or document
flag Option for allow or deny users to subscribe

public abstract void SaveProjectsAssociatedSchedules (String sessionID, String associatedScheduleXML)

This will save the schedules to a subscription

Parameters
sessionID String containing the id of the session to be used for this transaction
associatedScheduleXML String containing the associating schedule XML

public abstract void SaveSubscription (String sessionID, String subscriptionXML)

This method is deprecated.
use SaveSubscription(String, String, StringWrapper) instead

Saves a subscription to the content server repository. The subscription is defined using a subscription XML, which defines the content, owner, address, trigger and other properties of the subscription.

Throws
MSTRWebAPIException
MSTRWebAPIException

public abstract void SaveSubscription (String sessionID, String subscriptionXML, StringWrapper response)

Saves a subscription to the content server repository. The subscription is defined using a subscription XML, which defines the content, owner, address, trigger and other properties of the subscription.

Parameters
sessionID String containing the id of the session to govern the creation of this subscription
subscriptionXML String containing the actual save XML
response StringWrapper to return

public abstract void TriggerEvent (String sessionID, String eventID)

Triggers an 'Event', specified by the eventID. This is useful when an event needs to be triggered programatically.

public abstract String checkSubscriptionACL (String sessionID, String did, int type, String userID, String projID)

This call retrieves whether allow user to subscribe this report/document

Parameters
sessionID String containing the id of the session to be used for this transaction
did the report or document id
type the report or document type
userID the user ID
projID the project ID

public abstract String getObjectAssociatedUsers (String sessionID, String did, int type, String messageId)

This call retrieves the associated users of a report or document subscription

Parameters
sessionID String containing the id of the session to be used for this transaction
did the report or document id
type the report or document type
messageId Message ID corresponding to the report or document