POST | /InitiateBoarding |
---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
class ApplicationQueueStatus(IntEnum):
QUEUED = 0
STANDARDISED_X_M_L = 20
READY_TO_DISTRIBUTE = 40
AWAITING_DISTRIBUTE_RESPONSE = 60
READY_TO_AUTOBOARD = 80
THROTTLE_CHECK_PASSED = 100
ELIGIBILITY_CHECK_PASSED = 300
SENT_TO_AUTOBOARD_SERVICE = 400
AUTOBOARDING_SUSPENDED = 450
SUCCESSFULLY_BOARDED = 500
QUEUE_ERROR = 1000
THROTTLE_CHECK_ERROR = 1100
XML_STANDARDISATION_ERROR = 1200
ELIGIBILITY_CHECK_ERROR = 1300
AUTOBOARDING_ERROR = 1400
INELIGIBLE_THROTTLE_LIMIT = 2100
INELIGIBLE_APPLICATION = 2300
class ApplicationBoardingStatus(IntEnum):
PENDING = 0
I_N__P_R_O_G_R_E_S_S = 5
FAILED = 9
COMPLETED = 10
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class InitiateBoardingResponse:
application_guid: Optional[str] = None
csr: Optional[int] = None
application_queue_guid: Optional[str] = None
queue_status: Optional[ApplicationQueueStatus] = None
boarding_status: Optional[ApplicationBoardingStatus] = None
error_messages: Optional[List[str]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class InitiateBoardingRequest:
guid: Optional[str] = None
csr: Optional[int] = None
encrypted_x_m_l: Optional[str] = None
salesman_i_d: Optional[str] = None
salesman_email: Optional[str] = None
application_source: Optional[int] = None
Python 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>