Platform API

<back to all web services

SaveDynamicContent

Add or update dynamic content.

Requires Authentication
The following routes are available for this service:
PUT/api/dynamiccontent/{ObjectDynamicContentId}
POST/api/dynamiccontent/
namespace Eros.Subtle.Canvara.WebAPIModel.ServiceModel

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type ObjectDynamicContentModel() = 
        ///<summary>
        ///The dynamic content Id (PKID)
        ///</summary>
        [<ApiMember(Description="The dynamic content Id (PKID)", ParameterType="query")>]
        member val ObjectDynamicContentId:Guid = new Guid() with get,set

        ///<summary>
        ///The object Id this dynamic content record is for.
        ///</summary>
        [<ApiMember(Description="The object Id this dynamic content record is for.", ParameterType="query")>]
        member val ObjectId:Guid = new Guid() with get,set

        ///<summary>
        ///The dynamic content definition id that indicates what this dynamic content contains
        ///</summary>
        [<ApiMember(Description="The dynamic content definition id that indicates what this dynamic content contains", ParameterType="query")>]
        member val DynamicContentDefinitionId:Guid = new Guid() with get,set

        ///<summary>
        ///Name of the dynamic content definition
        ///</summary>
        [<ApiMember(Description="Name of the dynamic content definition", ParameterType="query")>]
        member val DefinitionName:String = null with get,set

        ///<summary>
        ///The format Id the dynamic content is saved as
        ///</summary>
        [<ApiMember(Description="The format Id the dynamic content is saved as", ParameterType="query")>]
        member val ContentFormatId:Guid = new Guid() with get,set

        ///<summary>
        ///Name of the content format
        ///</summary>
        [<ApiMember(Description="Name of the content format", ParameterType="query")>]
        member val ContentFormat:String = null with get,set

        ///<summary>
        ///The content string regardless of the format.
        ///</summary>
        [<ApiMember(Description="The content string regardless of the format.", ParameterType="query")>]
        member val Content:String = null with get,set

        ///<summary>
        ///XML content if the format is XML
        ///</summary>
        [<ApiMember(Description="XML content if the format is XML", ParameterType="query")>]
        member val XmlContent:String = null with get,set

        ///<summary>
        ///The contact id of the licensee who owns this record
        ///</summary>
        [<ApiMember(Description="The contact id of the licensee who owns this record", ParameterType="query")>]
        member val OwnerContactId:Guid = new Guid() with get,set

        ///<summary>
        ///Record Status of the dynamic content
        ///</summary>
        [<ApiMember(Description="Record Status of the dynamic content", ParameterType="query")>]
        member val RecordStatus:String = null with get,set

    [<ApiResponse(Description="Dynamic Content Value")>]
    [<AllowNullLiteral>]
    type GetDynamicContentResponse() = 
        ///<summary>
        ///Dynamic Content Value.
        ///</summary>
        [<ApiMember(Description="Dynamic Content Value.")>]
        member val DynamicContent:ObjectDynamicContentModel = null with get,set

        member val ResponseStatus:ResponseStatus = null with get,set

    ///<summary>
    ///Add or update dynamic content.
    ///</summary>
    [<Api(Description="Add or update dynamic content.")>]
    [<AllowNullLiteral>]
    type SaveDynamicContent() = 
        ///<summary>
        ///Dynamic Content details.
        ///</summary>
        [<ApiMember(Description="Dynamic Content details.")>]
        member val DynamicContent:ObjectDynamicContentModel = null with get,set

        ///<summary>
        ///Id of the Dynamic Content record.
        ///</summary>
        [<ApiMember(Description="Id of the Dynamic Content record.", ParameterType="path")>]
        member val ObjectDynamicContentId:Guid = new Guid() with get,set

F# SaveDynamicContent DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /api/dynamiccontent/ HTTP/1.1 
Host: pfapi.pstpf.com.au 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<SaveDynamicContent xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eros.Subtle.Canvara.WebAPIModel.ServiceModel">
  <DynamicContent xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eros.Subtle.Canvara.WebAPIModel.Models">
    <d2p1:Content>String</d2p1:Content>
    <d2p1:ContentFormat>String</d2p1:ContentFormat>
    <d2p1:ContentFormatId>00000000-0000-0000-0000-000000000000</d2p1:ContentFormatId>
    <d2p1:DefinitionName>String</d2p1:DefinitionName>
    <d2p1:DynamicContentDefinitionId>00000000-0000-0000-0000-000000000000</d2p1:DynamicContentDefinitionId>
    <d2p1:ObjectDynamicContentId>00000000-0000-0000-0000-000000000000</d2p1:ObjectDynamicContentId>
    <d2p1:ObjectId>00000000-0000-0000-0000-000000000000</d2p1:ObjectId>
    <d2p1:OwnerContactId>00000000-0000-0000-0000-000000000000</d2p1:OwnerContactId>
    <d2p1:RecordStatus>String</d2p1:RecordStatus>
    <d2p1:XmlContent>String</d2p1:XmlContent>
  </DynamicContent>
  <ObjectDynamicContentId>00000000-0000-0000-0000-000000000000</ObjectDynamicContentId>
</SaveDynamicContent>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<GetDynamicContentResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eros.Subtle.Canvara.WebAPIModel.ServiceModel">
  <DynamicContent xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eros.Subtle.Canvara.WebAPIModel.Models">
    <d2p1:Content>String</d2p1:Content>
    <d2p1:ContentFormat>String</d2p1:ContentFormat>
    <d2p1:ContentFormatId>00000000-0000-0000-0000-000000000000</d2p1:ContentFormatId>
    <d2p1:DefinitionName>String</d2p1:DefinitionName>
    <d2p1:DynamicContentDefinitionId>00000000-0000-0000-0000-000000000000</d2p1:DynamicContentDefinitionId>
    <d2p1:ObjectDynamicContentId>00000000-0000-0000-0000-000000000000</d2p1:ObjectDynamicContentId>
    <d2p1:ObjectId>00000000-0000-0000-0000-000000000000</d2p1:ObjectId>
    <d2p1:OwnerContactId>00000000-0000-0000-0000-000000000000</d2p1:OwnerContactId>
    <d2p1:RecordStatus>String</d2p1:RecordStatus>
    <d2p1:XmlContent>String</d2p1:XmlContent>
  </DynamicContent>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
</GetDynamicContentResponse>