Trendsic Platform Service

<back to all web services

EngineSandboxRequest

Requires Authentication
The following routes are available for this service:
POST/v1/engine/workflows/{WorkflowId}/test
import 'package:servicestack/servicestack.dart';

class WorkflowSandboxStepView implements IConvertible
{
    String? NodeId;
    String? Title;
    String? Kind;
    String? Outcome;
    String? Detail;

    WorkflowSandboxStepView({this.NodeId,this.Title,this.Kind,this.Outcome,this.Detail});
    WorkflowSandboxStepView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        NodeId = json['NodeId'];
        Title = json['Title'];
        Kind = json['Kind'];
        Outcome = json['Outcome'];
        Detail = json['Detail'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'NodeId': NodeId,
        'Title': Title,
        'Kind': Kind,
        'Outcome': Outcome,
        'Detail': Detail
    };

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

class WorkflowSandboxWriteView implements IConvertible
{
    String? What;
    String? Detail;

    WorkflowSandboxWriteView({this.What,this.Detail});
    WorkflowSandboxWriteView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        What = json['What'];
        Detail = json['Detail'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'What': What,
        'Detail': Detail
    };

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

class EngineSandboxResponse implements IConvertible
{
    String? Record;
    List<WorkflowSandboxStepView>? Results = [];
    List<WorkflowSandboxWriteView>? Suppressed = [];
    List<String>? NotReached = [];
    List<String>? Unreachable = [];
    ResponseStatus? ResponseStatus;

    EngineSandboxResponse({this.Record,this.Results,this.Suppressed,this.NotReached,this.Unreachable,this.ResponseStatus});
    EngineSandboxResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Record = json['Record'];
        Results = JsonConverters.fromJson(json['Results'],'List<WorkflowSandboxStepView>',context!);
        Suppressed = JsonConverters.fromJson(json['Suppressed'],'List<WorkflowSandboxWriteView>',context!);
        NotReached = JsonConverters.fromJson(json['NotReached'],'List<String>',context!);
        Unreachable = JsonConverters.fromJson(json['Unreachable'],'List<String>',context!);
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Record': Record,
        'Results': JsonConverters.toJson(Results,'List<WorkflowSandboxStepView>',context!),
        'Suppressed': JsonConverters.toJson(Suppressed,'List<WorkflowSandboxWriteView>',context!),
        'NotReached': JsonConverters.toJson(NotReached,'List<String>',context!),
        'Unreachable': JsonConverters.toJson(Unreachable,'List<String>',context!),
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

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

class EngineSandboxRequest implements IConvertible
{
    int? WorkflowId;
    String? GraphJson;

    EngineSandboxRequest({this.WorkflowId,this.GraphJson});
    EngineSandboxRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        WorkflowId = json['WorkflowId'];
        GraphJson = json['GraphJson'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'WorkflowId': WorkflowId,
        'GraphJson': GraphJson
    };

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

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'WorkflowSandboxStepView': TypeInfo(TypeOf.Class, create:() => WorkflowSandboxStepView()),
    'WorkflowSandboxWriteView': TypeInfo(TypeOf.Class, create:() => WorkflowSandboxWriteView()),
    'EngineSandboxResponse': TypeInfo(TypeOf.Class, create:() => EngineSandboxResponse()),
    'List<WorkflowSandboxStepView>': TypeInfo(TypeOf.Class, create:() => <WorkflowSandboxStepView>[]),
    'List<WorkflowSandboxWriteView>': TypeInfo(TypeOf.Class, create:() => <WorkflowSandboxWriteView>[]),
    'EngineSandboxRequest': TypeInfo(TypeOf.Class, create:() => EngineSandboxRequest()),
});

Dart EngineSandboxRequest 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 /v1/engine/workflows/{WorkflowId}/test HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	WorkflowId: 0,
	GraphJson: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Record: String,
	Results: 
	[
		{
			NodeId: String,
			Title: String,
			Kind: String,
			Outcome: String,
			Detail: String
		}
	],
	Suppressed: 
	[
		{
			What: String,
			Detail: String
		}
	],
	NotReached: 
	[
		String
	],
	Unreachable: 
	[
		String
	],
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}