1.6 KiB
1.6 KiB
Install
- 需求:.NET SDK 8.x, PostgreSQL
- 設定:複製
.env.example→.env - Migration:
- 預設由 API 啟動時自動執行(
Db__AutoMigrate=true) - 需要關閉時請設定
Db__AutoMigrate=false - 手動執行可用
dotnet run --project src/SendEngine.Installer -- migrate
- 預設由 API 啟動時自動執行(
- Webhook Auth 初始化(不使用 SQL 檔,改用 Installer):
- 使用 Installer 建立 webhook client(
id自動隨機產生): dotnet run --project src/SendEngine.Installer -- add-webhook-client --tenant-id <tenant_uuid> --client-id <client_id> --name <display_name> --scopes <scope1,scope2>- 例如:
dotnet run --project src/SendEngine.Installer -- add-webhook-client --tenant-id 11111111-1111-1111-1111-111111111111 --client-id member-center-webhook --name "Member Center Webhook" --scopes newsletter:events.write - 建立成功後,Member Center webhook header
X-Client-Id請帶回傳的id - Webhook 驗證規則為 tenant 綁定:
auth_clients.tenant_id必須等於 payloadtenant_id - 不支援
X-Client-Idfallback - 預設拒絕
tenant_id = NULL的通用 client(Webhook__AllowNullTenantClient=false)
- 使用 Installer 建立 webhook client(
- Member Center 回寫授權(建議):
MemberCenter__BaseUrl(建議)MemberCenter__DisableSubscriptionPath(預設/subscriptions/disable)MemberCenter__TokenPath(預設/connect/token)MemberCenter__ClientIdMemberCenter__ClientSecretMemberCenter__Scope=newsletter:events.writeMemberCenter__DisableSubscriptionUrl與MemberCenter__TokenUrl可用完整 URL 覆蓋(fallback)MemberCenter__ApiToken僅作暫時 fallback(非首選)