All Verbs | /RestApi/sitefinity/inlineediting/workflow |
---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Telerik.Sitefinity.Services.InlineEditing.Messages;
using Telerik.Sitefinity.InlineEditing;
using Telerik.Sitefinity.Services.InlineEditing;
namespace Telerik.Sitefinity.InlineEditing
{
public enum InlineEditingOperation
{
Publish,
SaveAsDraft,
Custom,
}
}
namespace Telerik.Sitefinity.Services.InlineEditing
{
public partial class FieldValueModel
{
public FieldValueModel()
{
ComplexValue = new FieldValueModel[]{};
}
public virtual string Name { get; set; }
public virtual Object Value { get; set; }
public virtual FieldValueModel[] ComplexValue { get; set; }
}
public partial class ItemContextModel
{
public ItemContextModel()
{
FieldValues = new FieldValueModel[]{};
}
public virtual string ItemId { get; set; }
public virtual string ItemType { get; set; }
public virtual string Provider { get; set; }
public virtual FieldValueModel[] FieldValues { get; set; }
}
}
namespace Telerik.Sitefinity.Services.InlineEditing.Messages
{
public partial class WorkflowOperationMessage
{
public WorkflowOperationMessage()
{
Items = new List<ItemContextModel>{};
}
public virtual string PageId { get; set; }
public virtual InlineEditingOperation WorkflowOperation { get; set; }
public virtual string CustomWorkflowOperation { get; set; }
public virtual List<ItemContextModel> Items { get; set; }
}
}
C# WorkflowOperationMessage 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 /RestApi/sitefinity/inlineediting/workflow HTTP/1.1
Host: www.asg.com.au
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
PageId: String,
WorkflowOperation: Publish,
CustomWorkflowOperation: String,
Items:
[
{
ItemId: String,
ItemType: String,
Provider: String,
FieldValues:
[
{
Name: String,
Value: {},
ComplexValue:
[
{
Name: String,
Value: {},
ComplexValue:
[
{
Name: String,
Value: {}
}
]
}
]
}
]
}
]
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length [ { ItemName: String, ItemType: String, ItemStatus: { DisplayStatus: String, IsAdmin: False, IsEditable: False, IsStatusEditable: False, IsLocked: False, IsPublished: False, IsLockedByMe: False, LockedByUsername: String, WorkflowStatus: String }, ProviderName: String, DetailsViewUrl: String } ]