Platform Subscription API

<back to all web services

SaveCustomContentFWECM

Saves Framework ECM data into EROS for linked objects.

Requires Authentication
The following routes are available for this service:
All Verbs/api/rmsdataexchange/bulk/project
All Verbs/api/rmsdataexchange/bulk/contact
All Verbs/api/rmsdataexchange/bulk/lead
All Verbs/api/rmsdataexchange/bulk/opportunity
All Verbs/api/rmsdataexchange/bulk/prospect
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class SubscriptionCustomContentModel implements 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;

    /**
    * Eros RmsTableCtxId of the object we are saving custom content to.
    */
    // @ApiMember(DataType="Guid", Description="Eros RmsTableCtxId of the object we are saving custom content to.", IsRequired=true, Name="RmsTableCtxId")
    String? RmsTableCtxId;

    /**
    * 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.", 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;

    bool? IgnoreValidation;
    /**
    * RmsFieldCtxId of the external ECM field that is used to link with the Custom Content Field in Eros.
    */
    // @ApiMember(DataType="int", Description="RmsFieldCtxId of the external ECM field that is used to link with the Custom Content Field in Eros.", IsRequired=true, Name="RmsFieldCtxId")
    int? RmsFieldCtxId;

    /**
    * Value to be saved for the object.
    */
    // @ApiMember(DataType="string", Description="Value to be saved for the object.", Name="Value")
    String? Value;

    String? LicenseeId;
    String? SessionId;

    SubscriptionCustomContentModel({this.SuiteDataSourceInstanceId,this.RmsTableCtxId,this.AlternateKey,this.ObjectId,this.IgnoreValidation,this.RmsFieldCtxId,this.Value,this.LicenseeId,this.SessionId});
    SubscriptionCustomContentModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        SuiteDataSourceInstanceId = json['SuiteDataSourceInstanceId'];
        RmsTableCtxId = json['RmsTableCtxId'];
        AlternateKey = json['AlternateKey'];
        ObjectId = json['ObjectId'];
        IgnoreValidation = json['IgnoreValidation'];
        RmsFieldCtxId = json['RmsFieldCtxId'];
        Value = json['Value'];
        LicenseeId = json['LicenseeId'];
        SessionId = json['SessionId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'SuiteDataSourceInstanceId': SuiteDataSourceInstanceId,
        'RmsTableCtxId': RmsTableCtxId,
        'AlternateKey': AlternateKey,
        'ObjectId': ObjectId,
        'IgnoreValidation': IgnoreValidation,
        'RmsFieldCtxId': RmsFieldCtxId,
        'Value': Value,
        'LicenseeId': LicenseeId,
        'SessionId': SessionId
    };

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

/**
* Saves Framework ECM data into EROS for linked objects.
*/
// @Api(Description="Saves Framework ECM data into EROS for linked objects.")
class SaveCustomContentFWECM implements IConvertible
{
    /**
    * To pass bulk upload of data to save for objects.
    */
    // @ApiMember(DataType="List<SubscriptionCustomContentModel>", Description="To pass bulk upload of data to save for objects.", IsRequired=true, Name="CustomContents")
    List<SubscriptionCustomContentModel>? CustomContents = [];

    SaveCustomContentFWECM({this.CustomContents});
    SaveCustomContentFWECM.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CustomContents = JsonConverters.fromJson(json['CustomContents'],'List<SubscriptionCustomContentModel>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CustomContents': JsonConverters.toJson(CustomContents,'List<SubscriptionCustomContentModel>',context!)
    };

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

TypeContext _ctx = TypeContext(library: 'production_eros_platform_apisubscription.azurewebsites.net', types: <String, TypeInfo> {
    'SubscriptionCustomContentModel': TypeInfo(TypeOf.Class, create:() => SubscriptionCustomContentModel()),
    'SaveCustomContentFWECM': TypeInfo(TypeOf.Class, create:() => SaveCustomContentFWECM()),
    'List<SubscriptionCustomContentModel>': TypeInfo(TypeOf.Class, create:() => <SubscriptionCustomContentModel>[]),
});

Dart SaveCustomContentFWECM DTOs

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

HTTP + JSV

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

POST /api/rmsdataexchange/bulk/project HTTP/1.1 
Host: production-eros-platform-apisubscription.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	CustomContents: 
	[
		{
			AlternateKey: String,
			IgnoreValidation: False,
			RmsFieldCtxId: 0,
			Value: 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
	}
}