Skip to content

Class HttpInvitationDeliveryOptions

Namespace: Cephalon.MultiTenancy.Governance.HttpDelivery.Configuration
Assembly: Cephalon.MultiTenancy.Governance.HttpDelivery.dll

Configures HTTP webhook delivery for tenant invitations dispatched by the governance companion pack.

public sealed class HttpInvitationDeliveryOptions

object ← HttpInvitationDeliveryOptions

object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object?, object?), object.ToString()

The HTTP sender queues or sends a delivery request to a configured endpoint. It does not guarantee final recipient delivery and does not encode product-specific email, SMS, chat, or identity-provider semantics.

Creates HTTP invitation delivery options with the default sender identifier and timeout.

public HttpInvitationDeliveryOptions()

Gets or sets a value indicating whether an idempotency key header should be added to delivery requests.

public bool EnableIdempotencyHeader { get; set; }

bool

The key stays stable across retry attempts for the same dispatch and helps receivers de-duplicate side effects.

Gets or sets a value indicating whether the HTTP invitation sender should be registered.

public bool Enabled { get; set; }

bool

Gets or sets the absolute HTTP endpoint that receives invitation delivery payloads.

public string? Endpoint { get; set; }

string?

Gets or sets explicit response status codes that indicate the webhook accepted the dispatch.

public IReadOnlyList<int> ExpectedStatusCodes { get; set; }

IReadOnlyList<int>

When empty, any successful 2xx response is accepted.

Gets or sets additional HTTP headers added to every delivery request.

public IReadOnlyDictionary<string, string> Headers { get; set; }

IReadOnlyDictionary<string, string>

Gets or sets the request header that carries the delivery idempotency key.

public string IdempotencyHeaderName { get; set; }

string

Gets or sets the dispatch metadata key that can supply a caller-owned idempotency key.

public string IdempotencyMetadataKey { get; set; }

string

When the metadata key is absent or empty, the sender derives a stable hashed key from the tenant, invitation, channel, and sender identifiers. Caller-supplied values that are too long or unsafe for HTTP headers are hashed before being sent.

Gets or sets a value indicating whether invitation metadata should be included in the webhook payload.

public bool IncludeInvitationMetadata { get; set; }

bool

Gets or sets a value indicating whether dispatch request metadata should be included in the webhook payload.

public bool IncludeRequestMetadata { get; set; }

bool

Gets or sets a value indicating whether a bounded response body excerpt should be copied into sender metadata.

public bool IncludeResponseBodyInMetadata { get; set; }

bool

Gets or sets the total number of HTTP dispatch attempts for transient delivery failures.

public int MaxAttempts { get; set; }

int

The value is clamped to the supported range of 1 through 10. The default preserves single-attempt behavior.

Gets or sets the HTTP method used for delivery requests.

public string Method { get; set; }

string

Gets or sets the response header that contains the provider message identifier.

public string? ProviderMessageIdHeaderName { get; set; }

string?

Gets or sets the maximum response body characters copied into sender metadata when enabled.

public int ResponseBodyMetadataLimit { get; set; }

int

Gets or sets the fixed delay, in milliseconds, between retry attempts.

public int RetryDelayMilliseconds { get; set; }

int

The value is clamped to the supported range of 0 through 60000 milliseconds.

Gets or sets response status codes that should be retried when the dispatch has attempts remaining.

public IReadOnlyList<int> RetryStatusCodes { get; set; }

IReadOnlyList<int>

The default covers common transient HTTP responses: 408, 429, 500, 502, 503, and 504.

Gets or sets a value indicating whether transient transport failures should be retried when attempts remain.

public bool RetryTransportFailures { get; set; }

bool

Gets or sets the sender identifier used by TenantInvitationDeliveryRequest.SenderId.

public string SenderId { get; set; }

string

Gets or sets the request header that carries the webhook signature.

public string SignatureHeaderName { get; set; }

string

Gets or sets the request header that carries the optional signing key identifier.

public string SignatureKeyIdHeaderName { get; set; }

string

Gets or sets the request header that carries the Unix timestamp included in the webhook signature.

public string SignatureTimestampHeaderName { get; set; }

string

Gets or sets an optional key identifier sent with signed webhook requests.

public string? SigningKeyId { get; set; }

string?

Gets or sets the shared secret used to sign webhook payloads with HMAC-SHA256.

public string? SigningSecret { get; set; }

string?

When empty, the sender does not add Cephalon webhook signature headers.

Gets or sets delivery channels accepted by this sender.

public IReadOnlyList<string> SupportedChannels { get; set; }

IReadOnlyList<string>

When empty, the sender accepts every requested channel.

Gets or sets the maximum time allowed for the HTTP delivery request.

public int TimeoutSeconds { get; set; }

int

FromConfiguration(IConfiguration, string)

Section titled “ FromConfiguration(IConfiguration, string)”

Binds HTTP invitation delivery options from configuration.

public static HttpInvitationDeliveryOptions FromConfiguration(IConfiguration configuration, string sectionPath = "Engine")

configuration IConfiguration

The application configuration root.

sectionPath string

The configuration section path that contains the engine settings. The default is Engine.

HttpInvitationDeliveryOptions

The bound HTTP invitation delivery options.