POST | /InitiateBoarding |
---|
import 'package:servicestack/servicestack.dart';
// @DataContract
enum ApplicationQueueStatus
{
Queued,
StandardisedXML,
ReadyToDistribute,
AwaitingDistributeResponse,
ReadyToAutoboard,
ThrottleCheckPassed,
EligibilityCheckPassed,
SentToAutoboardService,
AutoboardingSuspended,
SuccessfullyBoarded,
QueueError,
ThrottleCheckError,
XMLStandardisationError,
EligibilityCheckError,
AutoboardingError,
IneligibleThrottleLimit,
IneligibleApplication,
}
// @DataContract
enum ApplicationBoardingStatus
{
PENDING,
IN_PROGRESS,
FAILED,
COMPLETED,
}
class InitiateBoardingResponse implements IConvertible
{
String? applicationGuid;
int? csr;
String? applicationQueueGuid;
ApplicationQueueStatus? queueStatus;
ApplicationBoardingStatus? boardingStatus;
List<String>? errorMessages;
InitiateBoardingResponse({this.applicationGuid,this.csr,this.applicationQueueGuid,this.queueStatus,this.boardingStatus,this.errorMessages});
InitiateBoardingResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
applicationGuid = json['applicationGuid'];
csr = json['csr'];
applicationQueueGuid = json['applicationQueueGuid'];
queueStatus = JsonConverters.fromJson(json['queueStatus'],'ApplicationQueueStatus',context!);
boardingStatus = JsonConverters.fromJson(json['boardingStatus'],'ApplicationBoardingStatus',context!);
errorMessages = JsonConverters.fromJson(json['errorMessages'],'List<String>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'applicationGuid': applicationGuid,
'csr': csr,
'applicationQueueGuid': applicationQueueGuid,
'queueStatus': JsonConverters.toJson(queueStatus,'ApplicationQueueStatus',context!),
'boardingStatus': JsonConverters.toJson(boardingStatus,'ApplicationBoardingStatus',context!),
'errorMessages': JsonConverters.toJson(errorMessages,'List<String>',context!)
};
getTypeName() => "InitiateBoardingResponse";
TypeContext? context = _ctx;
}
class InitiateBoardingRequest implements IConvertible
{
String? guid;
int? csr;
String? encryptedXML;
String? salesmanID;
String? salesmanEmail;
int? applicationSource;
InitiateBoardingRequest({this.guid,this.csr,this.encryptedXML,this.salesmanID,this.salesmanEmail,this.applicationSource});
InitiateBoardingRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
guid = json['guid'];
csr = json['csr'];
encryptedXML = json['encryptedXML'];
salesmanID = json['salesmanID'];
salesmanEmail = json['salesmanEmail'];
applicationSource = json['applicationSource'];
return this;
}
Map<String, dynamic> toJson() => {
'guid': guid,
'csr': csr,
'encryptedXML': encryptedXML,
'salesmanID': salesmanID,
'salesmanEmail': salesmanEmail,
'applicationSource': applicationSource
};
getTypeName() => "InitiateBoardingRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'abservice_featuretest.worldpay.com', types: <String, TypeInfo> {
'ApplicationQueueStatus': TypeInfo(TypeOf.Enum, enumValues:ApplicationQueueStatus.values),
'ApplicationBoardingStatus': TypeInfo(TypeOf.Enum, enumValues:ApplicationBoardingStatus.values),
'InitiateBoardingResponse': TypeInfo(TypeOf.Class, create:() => InitiateBoardingResponse()),
'InitiateBoardingRequest': TypeInfo(TypeOf.Class, create:() => InitiateBoardingRequest()),
});
Dart InitiateBoardingRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /InitiateBoarding HTTP/1.1
Host: abservice-featuretest.worldpay.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<InitiateBoardingRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Autoboarding.Common.Requests">
<ApplicationSource>0</ApplicationSource>
<CSR>0</CSR>
<EncryptedXML>String</EncryptedXML>
<GUID>00000000-0000-0000-0000-000000000000</GUID>
<SalesmanEmail>String</SalesmanEmail>
<SalesmanID>String</SalesmanID>
</InitiateBoardingRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <InitiateBoardingResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Autoboarding.Common.Responses"> <ApplicationGuid>00000000-0000-0000-0000-000000000000</ApplicationGuid> <ApplicationQueueGuid>00000000-0000-0000-0000-000000000000</ApplicationQueueGuid> <BoardingStatus>PENDING</BoardingStatus> <CSR>0</CSR> <ErrorMessages xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d2p1:string>String</d2p1:string> </ErrorMessages> <QueueStatus>Queued</QueueStatus> </InitiateBoardingResponse>