| POST | /api/transactionalParty | Add new transactional party |
|---|
namespace DX.Framework.Core.Commands.Dto
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type TokenDto() =
member val Token:Guid = new Guid() with get,set
[<DataContract>]
[<AllowNullLiteral>]
type DocumentIdentification() =
[<DataMember(Name="identifier")>]
member val Identifier:String = null with get,set
[<DataMember(Name="type")>]
member val Type:String = null with get,set
[<DataMember(Name="creationDateAndTime")>]
member val CreationDateAndTime:DateTime = new DateTime() with get,set
[<DataContract>]
[<AllowNullLiteral>]
type Identifier() =
[<DataMember(Name="authority")>]
member val Authority:String = null with get,set
[<DataMember(Name="text")>]
member val Text:String = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type ContactInformation() =
class end
[<DataContract>]
[<AllowNullLiteral>]
type Partner() =
[<DataMember(Name="identifier")>]
member val Identifier:Identifier = null with get,set
[<DataMember(Name="contactInformation")>]
member val ContactInformation:ResizeArray<ContactInformation> = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type Header() =
[<DataMember(Name="documentIdentification")>]
member val DocumentIdentification:DocumentIdentification = null with get,set
[<DataMember(Name="sender")>]
member val Sender:Partner = null with get,set
[<DataMember(Name="receiver")>]
member val Receiver:Partner = null with get,set
[<AllowNullLiteral>]
type AvpList() =
member val Code:String = null with get,set
member val Value:String = null with get,set
[<AllowNullLiteral>]
type Ecom_PartyIdentificationType() =
member val Gln:String = null with get,set
member val Name:String = null with get,set
member val AdditionalPartyIdentification:ResizeArray<AvpList> = null with get,set
[<AllowNullLiteral>]
type CommunicationChannel() =
member val CommunicationChannelCode:String = null with get,set
member val CommunicationChannelName:String = null with get,set
member val CommunicationValue:String = null with get,set
[<AllowNullLiteral>]
type Contact() =
member val ContactTypeCode:String = null with get,set
member val PersonName:String = null with get,set
member val DepartmentName:String = null with get,set
member val JobTitle:String = null with get,set
member val Responsibility:String = null with get,set
member val CommunicationChannel:ResizeArray<CommunicationChannel> = null with get,set
[<AllowNullLiteral>]
type Address() =
member val StreetAddressOne:String = null with get,set
member val StreetAddressTwo:String = null with get,set
member val StreetAddressThree:String = null with get,set
member val City:String = null with get,set
member val PostalCode:String = null with get,set
member val ProvinceCode:String = null with get,set
member val CountryCode:String = null with get,set
[<AllowNullLiteral>]
type FinancialRoutingNumber() =
member val Number:String = null with get,set
member val NumberTypeCode:String = null with get,set
[<AllowNullLiteral>]
type FinancialAccount() =
member val Number:String = null with get,set
member val NumberTypeCode:String = null with get,set
member val Name:String = null with get,set
[<AllowNullLiteral>]
type FinancialInstitutionInformation() =
member val FinancialInstitutionBranchName:String = null with get,set
member val FinancialInstitutionName:String = null with get,set
member val FinancialRoutingNumber:FinancialRoutingNumber = null with get,set
member val FinancialAccount:FinancialAccount = null with get,set
member val SwiftCode:String = null with get,set
member val ExportersCode:String = null with get,set
[<AllowNullLiteral>]
type TransactionalParty() =
inherit Ecom_PartyIdentificationType()
member val Contact:ResizeArray<Contact> = null with get,set
member val Address:Address = null with get,set
member val CommunicationChannel:ResizeArray<AvpList> = null with get,set
member val FinancialInstitutionInformation:FinancialInstitutionInformation = null with get,set
member val DutyFeeTaxRegistration:String = null with get,set
member val EntityIdentification:String = null with get,set
type DocumentAction =
| ADD = 0
| CHANGE_BY_REFRESH = 1
| DELETE = 2
| REJECTED = 3
type DocumentStatus =
| ADDITIONAL_TRANSMISSION = 0
| COPY = 1
| ORIGINAL = 2
[<AllowNullLiteral>]
type TransactionalPartyMessageType() =
inherit TransactionalParty()
member val CreationDateTime:DateTime = new DateTime() with get,set
member val LastUpdateDateTime:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val DocumentActionCode:DocumentAction = new DocumentAction() with get,set
member val DocumentStatusCode:DocumentStatus = new DocumentStatus() with get,set
member val DocumentStructureVersion:String = null with get,set
member val RevisionNumber:Nullable<Int64> = new Nullable<Int64>() with get,set
member val AvpList:ResizeArray<AvpList> = null with get,set
[<AllowNullLiteral>]
type TransactionalPartyMessage() =
member val Header:Header = null with get,set
member val TransactionalParty:TransactionalPartyMessageType = null with get,set
///<summary>
///Transactional Party
///</summary>
[<Api(Description="Transactional Party")>]
[<ApiResponse(Description="Add Transactional Party request received", IsDefaultResponse=true, StatusCode=202)>]
[<ApiResponse(Description="Transactional Party not accepted, Confirm Sender GLN", ResponseType=typeof<UnauthorizedAccessException>, StatusCode=403)>]
[<AllowNullLiteral>]
type AddTransactionalParty() =
///<summary>
///Transactional Party model containing all of the transactional party data
///</summary>
[<ApiMember(Description="Transactional Party model containing all of the transactional party data", ParameterType="model")>]
member val TransactionalParty:TransactionalPartyMessage = null with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/transactionalParty HTTP/1.1
Host: stf-api-uat.data-xchange.co.za
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"transactionalParty":{"header":{"documentIdentification":{"identifier":"String","type":"String"},"sender":{"identifier":{"authority":"String","text":"String"},"contactInformation":[{}]},"receiver":{"identifier":{"authority":"String","text":"String"},"contactInformation":[{}]}},"transactionalParty":{"lastUpdateDateTime":"0001-01-01","documentActionCode":"ADD","documentStatusCode":"ADDITIONAL_TRANSMISSION","documentStructureVersion":"String","revisionNumber":0,"avpList":[{"code":"String","value":"String"}],"contact":[{"contactTypeCode":"String","personName":"String","departmentName":"String","jobTitle":"String","responsibility":"String","communicationChannel":[{"communicationChannelCode":"String","communicationChannelName":"String","communicationValue":"String"}]}],"address":{"streetAddressOne":"String","streetAddressTwo":"String","streetAddressThree":"String","city":"String","postalCode":"String","provinceCode":"String","countryCode":"String"},"communicationChannel":[{"code":"String","value":"String"}],"financialInstitutionInformation":{"financialInstitutionBranchName":"String","financialInstitutionName":"String","financialRoutingNumber":{"number":"String","numberTypeCode":"String"},"financialAccount":{"number":"String","numberTypeCode":"String","name":"String"},"swiftCode":"String","exportersCode":"String"},"dutyFeeTaxRegistration":"String","entityIdentification":"String","gln":"String","name":"String","additionalPartyIdentification":[{"code":"String","value":"String"}]}}}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{}