feat(campaign): make delivery modes explicit

This commit is contained in:
2026-07-22 08:26:52 +02:00
parent 7e1660344d
commit 60efd1cb5d
7 changed files with 274 additions and 13 deletions

View File

@@ -271,6 +271,24 @@ export type CampaignQueuePayload = {
dry_run?: boolean;
};
export type CampaignDeliveryOptions = {
campaign_id: string;
version_id: string;
worker_queue_available: boolean;
synchronous_send: {
allowed?: boolean;
reason?: string | null;
message?: string | null;
eligible_recipient_job_count?: number;
policy?: {
max_recipient_jobs?: number;
source?: string;
deployment_max_recipient_jobs?: number;
tenant_max_recipient_jobs?: number | null;
};
};
};
export type CampaignSendNowPayload = {
version_id?: string | null;
include_warnings?: boolean;
@@ -928,6 +946,15 @@ payload: CampaignQueuePayload = {})
});
}
export async function getCampaignDeliveryOptions(
settings: ApiSettings,
campaignId: string,
versionId?: string | null)
: Promise<CampaignDeliveryOptions> {
const query = versionId ? `?version_id=${encodeURIComponent(versionId)}` : "";
return apiFetch<CampaignDeliveryOptions>(settings, `/api/v1/campaigns/${campaignId}/delivery-options${query}`);
}
export async function sendCampaignNow(
settings: ApiSettings,
campaignId: string,