跳到內容

Campaign

client.campaign 管理行銷活動及其相關的接觸點 — 構成活動序列的個別互動點(訊息、動作)。


Schema

Campaign

FieldType說明
_idstring唯一活動 ID
namestring活動顯示名稱
statusstring?活動狀態(例如 draftactivecompleted
channel_typestring?活動運行的頻道類型
created_atstring?ISO 8601 建立時間戳
updated_atstring?ISO 8601 更新時間戳

Touchpoint

FieldType說明
_idstring唯一接觸點 ID
namestring?接觸點顯示名稱
typestring?接觸點類型
campaign_idstring?父活動 ID
created_atstring?ISO 8601 建立時間戳

CreateCampaignInput

FieldTypeRequired說明
namestring活動名稱
channel_typestring頻道類型(例如 whatsappemail

CreateTouchpointInput

FieldTypeRequired說明
namestring接觸點名稱
typestring接觸點類型
campaign_idstring父活動 ID
messagestring | object訊息承載

Methods

Campaign

MethodTypeScriptPython說明
List campaignslistlist列出所有活動
Get campaigngetget依 ID 取得活動
Create campaigncreatecreate建立新活動
Delete campaigndeletedelete刪除活動

Touchpoint

MethodTypeScriptPython說明
List touchpointslistTouchpointslist_touchpoints列出所有接觸點
Get touchpointgetTouchpointget_touchpoint依 ID 取得接觸點
Create touchpointcreateTouchpointcreate_touchpoint向活動新增接觸點
Update touchpointupdateTouchpointupdate_touchpoint更新接觸點
Delete touchpointdeleteTouchpointdelete_touchpoint移除接觸點
Validate touchpointvalidateTouchpointvalidate_touchpoint驗證接觸點配置

list / list

const { data: campaigns } = await client.campaign.list();
for (const c of campaigns) {
console.log(c._id, c.name, c.status);
}

create / create

const campaign = await client.campaign.create({
name: "Q3 Re-engagement",
channel_type: "whatsapp",
});
console.log(campaign._id);

get / get

const campaign = await client.campaign.get("campaign_id");
console.log(campaign._id, campaign.name, campaign.status);

delete / delete

await client.campaign.delete("campaign_id");

createTouchpoint / create_touchpoint

const touchpoint = await client.campaign.createTouchpoint({
name: "Welcome Message",
type: "message",
campaign_id: "campaign_id",
message: { text: "Hi! Welcome to our service." },
});

updateTouchpoint / update_touchpoint

const updated = await client.campaign.updateTouchpoint("touchpoint_id", {
name: "Updated Welcome Message",
message: { text: "Hi! Great to have you here." },
});

getTouchpoint / get_touchpoint

const touchpoint = await client.campaign.getTouchpoint("touchpoint_id");
console.log(touchpoint._id, touchpoint.name);

deleteTouchpoint / delete_touchpoint

await client.campaign.deleteTouchpoint("touchpoint_id");

validateTouchpoint / validate_touchpoint

在啟動活動前檢查接觸點是否已正確配置。

const result = await client.campaign.validateTouchpoint({
touchpoint_id: "touchpoint_id",
});
if (!result.valid) {
console.error("Validation errors:", result.errors);
}