(* Options: Date: 2024-10-18 17:24:45 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://reportfiling.staging.pwc.de //GlobalNamespace: //MakeDataContractsExtensible: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //ExportValueTypes: False IncludeTypes: CreateWebhookSubscriptions.* //ExcludeTypes: //InitializeCollections: True //AddNamespaces: *) namespace PwC.Elmaas.Core.Services.Contracts.Webhooks.Requests open System open System.Collections open System.Collections.Generic open System.Runtime.Serialization open ServiceStack open ServiceStack.DataAnnotations open System.Xml.Schema open System.Net [] type SubscriptionConfig() = member val Url:String = null with get,set member val ContentType:String = null with get,set member val Secret:String = null with get,set [] type WebhookSubscription() = member val Id:String = null with get,set member val Name:String = null with get,set member val Event:String = null with get,set member val IsActive:Boolean = new Boolean() with get,set member val CreatedDateUtc:DateTime = new DateTime() with get,set member val CreatedById:String = null with get,set member val LastModifiedDateUtc:DateTime = new DateTime() with get,set member val Config:SubscriptionConfig = null with get,set /// ///Specifies a request to create webhook subscriptions from a user tax number, account ID and webhook events. /// [] [] type CreateWebhookSubscriptionsBase() = interface IPost /// ///The name of the subscription. /// [] member val Name:String = null with get,set /// ///The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9). The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start). The number is available in the private area of the BOP user account under "My BOP" under the "Registration Information" /// [] member val AuthSteuernummer:String = null with get,set /// ///The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9). /// [] member val AccountId:String = null with get,set /// ///The names of the subscribed events. .A subscriber can subscribe to more than one event. /// [] member val Events:ResizeArray = new ResizeArray() with get,set /// ///The callback URL to be called when an "event" of a certain type is going to be raised. /// [] member val Url:String = null with get,set /// ///The MIME type of content pushed to the recipient service e.g. application/json /// [] member val ContentType:String = null with get,set /// ///A random Base64-encoded secret key (8 or more characters) to sign and authenticate messages from webhook endpoints. .When receiving a webhook event in your subscribers service, calculate the HMAC signature of the request body using this secret. Compare the calculated signature with the signature included in the "X-Hub-Signature" header of the web hook event. If the signatures do not match, then disregard it, and don't process the request any further. /// [] member val Secret:String = null with get,set /// ///The XML-encoded RSA public key to encrypt the secret of the webhook subscription. Note: Only the owner of the key pair (public and private encryption keys) can decrypt the encrypted secret with the private key! Encryption algorithm: RSA with OAEP-SHA256 padding. /// [] member val PublicKeyXml:String = null with get,set [] type IConfigurable = abstract Url:String with get,set abstract ContentType:String with get,set [] type SubscriptionDeliveryResult() = member val AttemptedDateUtc:DateTime = new DateTime() with get,set member val StatusDescription:String = null with get,set member val StatusCode:HttpStatusCode = new HttpStatusCode() with get,set member val SubscriptionId:String = null with get,set member val Id:String = null with get,set member val EventId:String = null with get,set /// ///Represents a service response that encapsulates a webhook subscription. /// [] [] type SubscriptionResponse() = /// ///The encapsulated webhook subscription of the response. The secret of the webhook subscription is encrypted and can only be decrypted by the owner of the private key. /// [] member val Subscription:WebhookSubscription = null with get,set /// ///The history of the subscription event. /// [] member val History:ResizeArray = new ResizeArray() with get,set /// ///The status of the response. /// [] member val ResponseStatus:ResponseStatus = null with get,set /// ///Represents a request to create webhook subscriptions from a user tax number, account ID and webhook events. /// [] [] [] type CreateWebhookSubscriptions() = inherit CreateWebhookSubscriptionsBase() interface IReturn>