import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
public class dtos
{
public static class SaveContactRole extends ValidationErrorList implements ISubscription
{
/**
* Guid representing the external systems data source information.
*/
@ApiMember(DataType="Guid", Description="Guid representing the external systems data source information.", IsRequired=true, Name="SuiteDataSourceInstanceId", ParameterType="query")
public UUID SuiteDataSourceInstanceId = null;
/**
* The unique key that represents the contact role on the external system.
*/
@ApiMember(DataType="string", Description="The unique key that represents the contact role on the external system.", IsRequired=true, Name="AlternateKey", ParameterType="query")
public String AlternateKey = null;
/**
* Guid of the contact role object within Eros. If ObjectId is known, the external system may pass this instead of the alternate key.
*/
@ApiMember(DataType="Guid", Description="Guid of the contact role object within Eros. If ObjectId is known, the external system may pass this instead of the alternate key.", Name="ObjectId", ParameterType="query")
public UUID ObjectId = null;
/**
* Object containing all details of the contact role to be inserted or updated.
*/
@ApiMember(DataType="SubscriptionContactRoleModel", Description="Object containing all details of the contact role to be inserted or updated.", IsRequired=true, Name="ContactRole", ParameterType="query")
public SubscriptionContactRoleModel ContactRole = null;
public Boolean IgnoreValidation = null;
public UUID getSuiteDataSourceInstanceId() { return SuiteDataSourceInstanceId; }
public SaveContactRole setSuiteDataSourceInstanceId(UUID value) { this.SuiteDataSourceInstanceId = value; return this; }
public String getAlternateKey() { return AlternateKey; }
public SaveContactRole setAlternateKey(String value) { this.AlternateKey = value; return this; }
public UUID getObjectId() { return ObjectId; }
public SaveContactRole setObjectId(UUID value) { this.ObjectId = value; return this; }
public SubscriptionContactRoleModel getContactRole() { return ContactRole; }
public SaveContactRole setContactRole(SubscriptionContactRoleModel value) { this.ContactRole = value; return this; }
public Boolean isIgnoreValidation() { return IgnoreValidation; }
public SaveContactRole setIgnoreValidation(Boolean value) { this.IgnoreValidation = value; return this; }
}
public static class ValidationErrorList
{
public ArrayList<RuleValidationResult> ValidationErrors = null;
public ArrayList<RuleValidationResult> getValidationErrors() { return ValidationErrors; }
public ValidationErrorList setValidationErrors(ArrayList<RuleValidationResult> value) { this.ValidationErrors = value; return this; }
}
public static class RuleValidationResult
{
public String RuleCode = null;
public String Message = null;
public String Key = null;
public String Tag = null;
public String ErrorCode = null;
public String getRuleCode() { return RuleCode; }
public RuleValidationResult setRuleCode(String value) { this.RuleCode = value; return this; }
public String getMessage() { return Message; }
public RuleValidationResult setMessage(String value) { this.Message = value; return this; }
public String getKey() { return Key; }
public RuleValidationResult setKey(String value) { this.Key = value; return this; }
public String getTag() { return Tag; }
public RuleValidationResult setTag(String value) { this.Tag = value; return this; }
public String getErrorCode() { return ErrorCode; }
public RuleValidationResult setErrorCode(String value) { this.ErrorCode = value; return this; }
}
public static class SubscriptionContactRoleModel
{
/**
* Name of the role.
*/
@ApiMember(DataType="string", Description="Name of the role.", Name="RoleName", ParameterType="query")
public String RoleName = null;
/**
* Short version of the role name.
*/
@ApiMember(DataType="string", Description="Short version of the role name.", Name="RoleShortName", ParameterType="query")
public String RoleShortName = null;
/**
* Description of the role purpose.
*/
@ApiMember(DataType="string", Description="Description of the role purpose.", Name="RoleDescription", ParameterType="query")
public String RoleDescription = null;
/**
* If true, the role will be pending for a contact until they accept it.
*/
@ApiMember(DataType="bool", Description="If true, the role will be pending for a contact until they accept it.", Name="RequireContactsToAccept", ParameterType="query")
public Boolean RequireContactsToAccept = null;
/**
* Contact Types that may have this role.
*/
@ApiMember(DataType="List<Guid>", Description="Contact Types that may have this role.", Name="ContactTypes", ParameterType="query")
public ArrayList<UUID> ContactTypes = null;
/**
* Role Filters this role should be added to.
*/
@ApiMember(DataType="List<Guid>", Description="Role Filters this role should be added to.", Name="ListItemFilters", ParameterType="query")
public ArrayList<UUID> ListItemFilters = null;
public String getRoleName() { return RoleName; }
public SubscriptionContactRoleModel setRoleName(String value) { this.RoleName = value; return this; }
public String getRoleShortName() { return RoleShortName; }
public SubscriptionContactRoleModel setRoleShortName(String value) { this.RoleShortName = value; return this; }
public String getRoleDescription() { return RoleDescription; }
public SubscriptionContactRoleModel setRoleDescription(String value) { this.RoleDescription = value; return this; }
public Boolean isRequireContactsToAccept() { return RequireContactsToAccept; }
public SubscriptionContactRoleModel setRequireContactsToAccept(Boolean value) { this.RequireContactsToAccept = value; return this; }
public ArrayList<UUID> getContactTypes() { return ContactTypes; }
public SubscriptionContactRoleModel setContactTypes(ArrayList<UUID> value) { this.ContactTypes = value; return this; }
public ArrayList<UUID> getListItemFilters() { return ListItemFilters; }
public SubscriptionContactRoleModel setListItemFilters(ArrayList<UUID> value) { this.ListItemFilters = value; return this; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /csv/reply/SaveContactRole HTTP/1.1
Host: production-eros-platform-apisubscription.azurewebsites.net
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"AlternateKey":"String","ContactRole":{"RoleName":"String","RoleShortName":"String","RoleDescription":"String","RequireContactsToAccept":false,"ContactTypes":["00000000-0000-0000-0000-000000000000"],"ListItemFilters":["00000000-0000-0000-0000-000000000000"]},"IgnoreValidation":false,"ValidationErrors":[{"RuleCode":"String","Message":"String","Key":"String","Tag":"String","ErrorCode":"String"}]}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}