Schema Derivation
Copy constructor
var baseSchema = new ChannelSchema("Twilio", "SMS", "1.0")
.WithCapabilities(ChannelCapability.SendMessages | ChannelCapability.ReceiveMessages)
.AddRequiredParameter("AccountSid", DataType.String)
.AddRequiredParameter("AuthToken", DataType.String)
.AddParameter(new ChannelParameter("WebhookUrl", DataType.String))
.AddContentType(MessageContentType.PlainText)
.AddContentType(MessageContentType.Media)
.HandlesMessageEndpoint(EndpointType.PhoneNumber);
var outboundOnly = new ChannelSchema(baseSchema, "Outbound only")
.RemoveCapability(ChannelCapability.ReceiveMessages)
.RemoveParameter("WebhookUrl")
.RestrictContentTypes(MessageContentType.PlainText);Restriction methods
Method
Effect
Use case
Validating restrictions
Multi-level derivation
Practical examples
Environment-specific schemas with runtime settings
Environment-specific schemas
Feature-tier schemas
Runtime schema selection from registry
Good practices
Last updated