Platform Subscription API

<back to all web services

SaveObjectDynamicContent

Inserts or Updates dynamic content for an object.

Requires Authentication
import 'package:servicestack/servicestack.dart';

class DynamicContentModel implements IConvertible
{
    /**
    * Dynamic Content Definition indicating the content type.
    */
    // @ApiMember(DataType="DynamicContentModel", Description="Dynamic Content Definition indicating the content type.", IsRequired=true, Name="DynamicContentDefinitionId")
    String? DynamicContentDefinitionId;

    /**
    * Guid indicating the content format. Not required to be passed.
    */
    // @ApiMember(DataType="DynamicContentModel", Description="Guid indicating the content format. Not required to be passed.", Name="ContentFormatId")
    String? ContentFormatId;

    /**
    * Actual Content to be added to the object.
    */
    // @ApiMember(DataType="DynamicContentModel", Description="Actual Content to be added to the object.", IsRequired=true, Name="Content")
    String? Content;

    DynamicContentModel({this.DynamicContentDefinitionId,this.ContentFormatId,this.Content});
    DynamicContentModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        DynamicContentDefinitionId = json['DynamicContentDefinitionId'];
        ContentFormatId = json['ContentFormatId'];
        Content = json['Content'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'DynamicContentDefinitionId': DynamicContentDefinitionId,
        'ContentFormatId': ContentFormatId,
        'Content': Content
    };

    getTypeName() => "DynamicContentModel";
    TypeContext? context = _ctx;
}

/**
* Inserts or Updates dynamic content for an object.
*/
// @Api(Description="Inserts or Updates dynamic content for an object.")
class SaveObjectDynamicContent implements ISubscription, IConvertible
{
    /**
    * Guid representing the external systems datasource information.
    */
    // @ApiMember(DataType="Guid", Description="Guid representing the external systems datasource information.", IsRequired=true, Name="SuiteDataSourceInstanceId")
    String? SuiteDataSourceInstanceId;

    /**
    * The unique key that represents the object on the external system.
    */
    // @ApiMember(DataType="string", Description="The unique key that represents the object on the external system.", IsRequired=true, Name="AlternateKey")
    String? AlternateKey;

    /**
    * Guid of the 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 object within Eros.  If ObjectId is known, the external system may pass this instead of the alternate key.", Name="ObjectId")
    String? ObjectId;

    /**
    * Guid of the RmsTableCtx within Eros.  This is used if the alternate key is provided to identify the object to update.
    */
    // @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")
    String? RmsTableCtxId;

    bool? IgnoreValidation;
    /**
    * Dynamic Content to be added to the object.
    */
    // @ApiMember(DataType="DynamicContentModel", Description="Dynamic Content to be added to the object.", IsRequired=true, Name="DynamicContent")
    DynamicContentModel? DynamicContent;

    SaveObjectDynamicContent({this.SuiteDataSourceInstanceId,this.AlternateKey,this.ObjectId,this.RmsTableCtxId,this.IgnoreValidation,this.DynamicContent});
    SaveObjectDynamicContent.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        SuiteDataSourceInstanceId = json['SuiteDataSourceInstanceId'];
        AlternateKey = json['AlternateKey'];
        ObjectId = json['ObjectId'];
        RmsTableCtxId = json['RmsTableCtxId'];
        IgnoreValidation = json['IgnoreValidation'];
        DynamicContent = JsonConverters.fromJson(json['DynamicContent'],'DynamicContentModel',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'SuiteDataSourceInstanceId': SuiteDataSourceInstanceId,
        'AlternateKey': AlternateKey,
        'ObjectId': ObjectId,
        'RmsTableCtxId': RmsTableCtxId,
        'IgnoreValidation': IgnoreValidation,
        'DynamicContent': JsonConverters.toJson(DynamicContent,'DynamicContentModel',context!)
    };

    getTypeName() => "SaveObjectDynamicContent";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'production_eros_platform_apisubscription.azurewebsites.net', types: <String, TypeInfo> {
    'DynamicContentModel': TypeInfo(TypeOf.Class, create:() => DynamicContentModel()),
    'SaveObjectDynamicContent': TypeInfo(TypeOf.Class, create:() => SaveObjectDynamicContent()),
});

Dart SaveObjectDynamicContent DTOs

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

HTTP + OTHER

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

POST /jsonl/reply/SaveObjectDynamicContent HTTP/1.1 
Host: production-eros-platform-apisubscription.azurewebsites.net 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"AlternateKey":"String","IgnoreValidation":false,"DynamicContent":{"Content":"String"}}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}