Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Eros.Subtle.Canvara.WebAPIModel.ServiceModelSubscription
Namespace Global
Namespace Eros.Subtle.Canvara.WebAPIModel.ServiceModelSubscription
Public Partial Class DynamicContentModel
'''<Summary>
'''Dynamic Content Definition indicating the content type.
'''</Summary>
<ApiMember(DataType:="DynamicContentModel", Description:="Dynamic Content Definition indicating the content type.", IsRequired:=true, Name:="DynamicContentDefinitionId")>
Public Overridable Property DynamicContentDefinitionId As Guid
'''<Summary>
'''Guid indicating the content format. Not required to be passed.
'''</Summary>
<ApiMember(DataType:="DynamicContentModel", Description:="Guid indicating the content format. Not required to be passed.", Name:="ContentFormatId")>
Public Overridable Property ContentFormatId As Guid
'''<Summary>
'''Actual Content to be added to the object.
'''</Summary>
<ApiMember(DataType:="DynamicContentModel", Description:="Actual Content to be added to the object.", IsRequired:=true, Name:="Content")>
Public Overridable Property Content As String
End Class
'''<Summary>
'''Inserts or Updates dynamic content for an object.
'''</Summary>
<Api(Description:="Inserts or Updates dynamic content for an object.")>
Public Partial Class SaveObjectDynamicContent
Implements ISubscription
'''<Summary>
'''Guid representing the external systems datasource information.
'''</Summary>
<ApiMember(DataType:="Guid", Description:="Guid representing the external systems datasource information.", IsRequired:=true, Name:="SuiteDataSourceInstanceId")>
Public Overridable Property SuiteDataSourceInstanceId As Guid Implements ISubscription.SuiteDataSourceInstanceId
'''<Summary>
'''The unique key that represents the object on the external system.
'''</Summary>
<ApiMember(DataType:="string", Description:="The unique key that represents the object on the external system.", IsRequired:=true, Name:="AlternateKey")>
Public Overridable Property AlternateKey As String Implements ISubscription.AlternateKey
'''<Summary>
'''Guid of the object within Eros. If ObjectId is known, the external system may pass this instead of the alternate key.
'''</Summary>
<ApiMember(DataType:="Guid", Description:="Guid of the object within Eros. If ObjectId is known, the external system may pass this instead of the alternate key.", Name:="ObjectId")>
Public Overridable Property ObjectId As Guid Implements ISubscription.ObjectId
'''<Summary>
'''Guid of the RmsTableCtx within Eros. This is used if the alternate key is provided to identify the object to update.
'''</Summary>
<ApiMember(DataType:="Guid", Description:="Guid of the RmsTableCtx within Eros. This is used if the alternate key is provided to identify the object to update.", Name:="RmsTableCtxId")>
Public Overridable Property RmsTableCtxId As Guid
Public Overridable Property IgnoreValidation As Boolean Implements ISubscription.IgnoreValidation
'''<Summary>
'''Dynamic Content to be added to the object.
'''</Summary>
<ApiMember(DataType:="DynamicContentModel", Description:="Dynamic Content to be added to the object.", IsRequired:=true, Name:="DynamicContent")>
Public Overridable Property DynamicContent As DynamicContentModel
End Class
End Namespace
End Namespace
VB.NET SaveObjectDynamicContent DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/reply/SaveObjectDynamicContent HTTP/1.1
Host: production-eros-platform-apisubscription.azurewebsites.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
AlternateKey: String,
IgnoreValidation: False,
DynamicContent:
{
Content: String
}
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { ErrorCode: String, Message: String, StackTrace: String, Errors: [ { ErrorCode: String, FieldName: String, Message: String, Meta: { String: String } } ], Meta: { String: String } }