Application Channel Update Event

Published to the sdk-management.updates Pub/Sub topic with eventType=application-channel-update for each application affected by a channel state change. This is a derived event — it is not published directly by the web process but by the dedicated application-channel-update-event-publisher worker.

How It Works

  1. A ChannelUpdateEvent is published to sdk-management.updates with eventType=channel-update.

  2. The application-channel-update-event-publisher worker subscribes to sdk-management.updates via the sdk-management.application-channel-update-event-publisher subscription, filtered to eventType=channel-update.

  3. For each incoming channel update, the worker looks up all applications associated with the channel.

  4. One ApplicationChannelUpdateEvent is published per application to sdk-management.updates with eventType=application-channel-update.

This fan-out allows downstream consumers to subscribe to application-scoped channel changes without having to resolve the channel-to-application mapping themselves.

Trigger Operations

The channelOperation field mirrors the operation from the originating channel update event:

Operation Description

create

A channel was created.

update

A channel’s configuration was modified.

activate

A channel was activated.

deactivate

A channel was deactivated.

archive

A channel was archived.

Message Schema

{
  "channelId": 7,
  "channelOperation": "update",
  "channelType": "push_firebase",
  "applicationId": 42,
  "applicationCode": "ABCDE-12345",
  "tenantId": 123456,
  "eventTime": "2025-01-15T11:00:00.000Z"
}

Fields

Field Type Description

channelId

number

The unique identifier of the channel that changed.

channelOperation

string

The operation that triggered the original channel update. One of: create, update, activate, deactivate, archive.

channelType

string

The type of channel (e.g. push_firebase, push_apns, push_huawei, push_vapid, embedded_messaging).

applicationId

number

The unique identifier of the application associated with the channel.

applicationCode

string

The human-readable code of the application.

tenantId

number

The identifier of the tenant that owns the application.

eventTime

string (ISO 8601)

The timestamp from the original channel update event.

Source

The event is constructed by the publishApplicationChannelUpdateEventCommand, which combines a ChannelUpdateEvent with an Application entity. The PublishApplicationChannelUpdateEventsForChannelUseCase orchestrates the fan-out by querying for all applications linked to the channel and publishing one event per application.