service-de-channel-consent-configure
Configuring Channel Consent
What this skill does
Ensures an Enhanced MessagingChannel has valid consent configured before activation. Consent has two parts, and both are checked by the server-side activation-readiness gate (MessagingChannelReadinessChecker.isConsentConfiguredForChannel):
-
Channel-level fields on
MessagingChannel:ConsentType— static enum:ImplicitOptIn,ExplicitOptIn, orDoubleOptIn.OptInPrompt— message sent when an end-user reply doesn't match an opt-in keyword (required for ExplicitOptIn/DoubleOptIn, except on Unified SMS / WhatsApp / RCS where it's optional).DoubleOptInPrompt— message sent when a reply doesn't match a double-opt-in keyword (required for DoubleOptIn).IsRequireDoubleOptIn— boolean flag; set true alongsideConsentType=DoubleOptIn.
-
Per-language keyword records — one or more
MsgChannelLanguageKeywordchild rows (master-detail toMessagingChannel, key prefix3Or). Each holds the keywords an end-user sends (opt-in, double-opt-in, opt-out, help, custom) and the confirmation replies, for one language. Keyword fields are comma-separated strings (e.g."STOP,UNSUBSCRIBE,CANCEL").
Consent is never a no-op for activation. Even ImplicitOptIn requires at least one MsgChannelLanguageKeyword with an opt-out keyword + opt-out confirmation. (The one exception is an outbound-only channel, which the readiness check passes automatically.)
Consent settings apply only to Enhanced channels (PlatformType=Enhanced) of a supported message type. On a Standard channel these fields aren't used; this skill only touches Enhanced channels.