Framework API

<back to all web services

GetWorkflowData

Retrieves Updated workflow data to be saved to Framework

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

// @ApiResponse(Description="Eros workflow data for synching to Framework")
class GetWorkflowDataResponse implements IConvertible
{
    /**
    * Bin Row Version of the last update
    */
    // @ApiMember(Description="Bin Row Version of the last update")
    Uint8List? BinRowVersion;

    /**
    * XML string containing the workflow Data
    */
    // @ApiMember(Description="XML string containing the workflow Data")
    String? WorkflowData;

    ResponseStatus? ResponseStatus;

    GetWorkflowDataResponse({this.BinRowVersion,this.WorkflowData,this.ResponseStatus});
    GetWorkflowDataResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        BinRowVersion = JsonConverters.fromJson(json['BinRowVersion'],'Uint8List',context!);
        WorkflowData = json['WorkflowData'];
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'BinRowVersion': JsonConverters.toJson(BinRowVersion,'Uint8List',context!),
        'WorkflowData': WorkflowData,
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

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

/**
* Retrieves Updated workflow data to be saved to Framework
*/
// @Api(Description="Retrieves Updated workflow data to be saved to Framework")
class GetWorkflowData implements ISubscription, IConvertible
{
    /**
    * Bin Row Version of the last update
    */
    // @ApiMember(DataType="byte[]", Description="Bin Row Version of the last update", Name="BinRowVersion")
    Uint8List? BinRowVersion;

    /**
    * Suite Data Source Instance Id to determine which licensees data to retrieve.
    */
    // @ApiMember(DataType="Guid", Description="Suite Data Source Instance Id to determine which licensees data to retrieve.", Name="SuiteDataSourceInstanceId")
    String? SuiteDataSourceInstanceId;

    bool? IgnoreValidation;

    GetWorkflowData({this.BinRowVersion,this.SuiteDataSourceInstanceId,this.IgnoreValidation});
    GetWorkflowData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        BinRowVersion = JsonConverters.fromJson(json['BinRowVersion'],'Uint8List',context!);
        SuiteDataSourceInstanceId = json['SuiteDataSourceInstanceId'];
        IgnoreValidation = json['IgnoreValidation'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'BinRowVersion': JsonConverters.toJson(BinRowVersion,'Uint8List',context!),
        'SuiteDataSourceInstanceId': SuiteDataSourceInstanceId,
        'IgnoreValidation': IgnoreValidation
    };

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

TypeContext _ctx = TypeContext(library: 'gatewayframeworkapi.pstpf.com.au', types: <String, TypeInfo> {
    'GetWorkflowDataResponse': TypeInfo(TypeOf.Class, create:() => GetWorkflowDataResponse()),
    'Uint8List': TypeInfo(TypeOf.Class, create:() => Uint8List(0)),
    'GetWorkflowData': TypeInfo(TypeOf.Class, create:() => GetWorkflowData()),
});

Dart GetWorkflowData 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 /jsv/reply/GetWorkflowData HTTP/1.1 
Host: gatewayframeworkapi.pstpf.com.au 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	BinRowVersion: AA==,
	IgnoreValidation: True
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	BinRowVersion: AA==,
	WorkflowData: String,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}