一括配信テーブル
一括配信タスクを管理するテーブルです。
broadcast
Section titled “broadcast”一括配信のライフサイクル全体を管理するテーブルです。
| カラム | 型 | NULL | デフォルト | 説明 |
|---|---|---|---|---|
id | text | NO | — | 主キー(UUID) |
shopId | text | NO | — | 店舗 ID |
title | text | YES | — | 配信タイトル |
content | text | NO | — | 配信メッセージ本文 |
status | text | NO | — | ステータス(下記参照) |
scheduledAt | timestamptz(3) | YES | — | 予約配信日時 |
sentAt | timestamptz(3) | YES | — | 実際の送信完了日時 |
criteria | jsonb | YES | — | ターゲティング条件(グループ・タグ等) |
targetCount | integer | NO | 0 | 対象連絡先数 |
sentCount | integer | NO | 0 | 送信済み件数 |
retryCount | integer | NO | 0 | リトライ回数 |
lastError | text | YES | — | 最後のエラーメッセージ |
nextRetryAt | timestamptz(3) | YES | — | 次回リトライ日時 |
createdAt | timestamptz(3) | NO | NOW() | 作成日時 |
updatedAt | timestamptz(3) | NO | $defaultFn | 更新日時 |
| ステータス | 説明 |
|---|---|
DRAFT | 下書き(編集可能) |
SCHEDULED | スケジュール確定(配信予約済み) |
QUEUED | キュー投入済み(Cron が移行) |
SENDING | 送信中 |
SENT | 送信完了 |
FAILED | 送信失敗 |
CANCELED | キャンセル済み |
criteria フィールド
Section titled “criteria フィールド”ターゲティング条件を JSON で保持します。
{ "groupIds": ["group-1", "group-2"], "tags": ["VIP"], "logic": "AND"}インデックス
Section titled “インデックス”| 名前 | カラム | 種別 |
|---|---|---|
broadcast_shopId_idx | shopId | INDEX |
broadcast_status_idx | status | INDEX |