| POST | /api/4PSBC/ImportProject |
|---|
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
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Header:
# @ApiMember(Description="Inhoud van het bericht")
contains: Optional[str] = None
"""
Inhoud van het bericht
"""
# @ApiMember(Description="Datum aanmaak bericht")
date: Optional[str] = None
"""
Datum aanmaak bericht
"""
# @ApiMember(Description="ID voor het bericht")
message_i_d: Optional[str] = None
"""
ID voor het bericht
"""
# @ApiMember(Description="Verzender van het bericht")
sender: Optional[str] = None
"""
Verzender van het bericht
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Response_Project:
# @ApiMember(Description="Reponse status (Ok/Error)", IsRequired=true)
status: Optional[str] = None
"""
Reponse status (Ok/Error)
"""
# @ApiMember(Description="Errors summary")
errors: Optional[str] = None
"""
Errors summary
"""
# @ApiMember(Description="ID of the project in DigiOffice", IsRequired=true)
digi_office_project_i_d: Optional[str] = None
"""
ID of the project in DigiOffice
"""
# @ApiMember(Description="GlobalID (digiOfficeId) of the project in DigiOffice", IsRequired=true)
digi_office_global_i_d: Optional[str] = None
"""
GlobalID (digiOfficeId) of the project in DigiOffice
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class IDB_4PSBC_Response_Project:
# @ApiMember(Description="Header of the response", IsRequired=true)
header: Optional[Header] = None
"""
Header of the response
"""
# @ApiMember(Description="Response body", IsRequired=true)
response: Optional[Response_Project] = None
"""
Response body
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Data_Project:
system_id: Optional[str] = None
digi_office_id: Optional[str] = None
company_id: Optional[str] = None
no: Optional[str] = None
description: Optional[str] = None
description2: Optional[str] = None
visit_address: Optional[str] = None
visit_address2: Optional[str] = None
visit_address_post_code: Optional[str] = None
visit_address_city: Optional[str] = None
visit_address_country_region_id: Optional[str] = None
address: Optional[str] = None
post_code: Optional[str] = None
city: Optional[str] = None
country_region_id: Optional[str] = None
project_status: Optional[str] = None
starting_date: Optional[datetime.datetime] = None
ending_date: Optional[datetime.datetime] = None
contact_id: Optional[str] = None
# @Api(Description="Import project record vanuit 4PS")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class IDB_4PSBC_Import_Project:
"""
Import project record vanuit 4PS
"""
# @ApiMember(Description="Message header", IsRequired=true)
header: Optional[Header] = None
"""
Message header
"""
# @ApiMember(Description="Message data", IsRequired=true)
data: Optional[Data_Project] = None
"""
Message data
"""
Python IDB_4PSBC_Import_Project DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/4PSBC/ImportProject HTTP/1.1
Host: test-dogw.klokgroep.nl
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Header:
{
Contains: String,
Date: String,
MessageID: String,
Sender: String
},
Data:
{
systemId: 00000000-0000-0000-0000-000000000000,
digiOfficeId: 00000000-0000-0000-0000-000000000000,
companyId: 00000000-0000-0000-0000-000000000000,
no: String,
description: String,
description2: String,
visitAddress: String,
visitAddress2: String,
visitAddressPostCode: String,
visitAddressCity: String,
visitAddressCountryRegionId: String,
address: String,
postCode: String,
city: String,
countryRegionId: String,
projectStatus: String,
startingDate: 0001-01-01,
endingDate: 0001-01-01,
contactId: 00000000-0000-0000-0000-000000000000
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Header:
{
Contains: String,
Date: String,
MessageID: String,
Sender: String
},
Response:
{
Status: String,
Errors: String,
DigiOfficeProjectID: String
}
}