ทุกสิ่งที่คุณสามารถทำได้ใน Zinn® Campaigns บนแดชบอร์ด คุณสามารถทำผ่าน API ได้เช่นกัน และส่วนใหญ่สามารถทำได้จากผู้ช่วย AI ที่เชื่อมต่อกับบัญชีของคุณผ่าน MCP คู่มือนี้ครอบคลุมการลงชื่อเข้าใช้ สิทธิ์ ตัวอย่างการทำงานทั้งสองวิธี ขีดจำกัด ข้อผิดพลาด และการดำเนินการ Campaigns ทั้ง 89 รายการ รายการการดำเนินการด้านล่างสร้างขึ้นจากข้อกำหนด API ของเรา ดังนั้นจึงตรงกับสิ่งที่ API ทำงานอยู่เสมอ ทุกฟิลด์ของทุกการดำเนินการอยู่ในข้อมูลอ้างอิง API ที่ zinndigital.com/developers/api/zinn-campaigns
การลงชื่อเข้าใช้
- คีย์ API สร้างคีย์ในแดชบอร์ดใต้ การตั้งค่า → คีย์ API และส่งในรูปแบบ
Authorization: Bearer zdk_live_… (คีย์ zdk_test_… จะทำงานในโหมดแซนด์บ็อกซ์) กำหนดสิทธิ์ Campaigns ให้กับคีย์เท่าที่จำเป็นเท่านั้นและไม่มากไปกว่านั้น
- ผู้ช่วย AI (MCP) เชื่อมต่อ Claude, ChatGPT, Cursor หรือไคลเอนต์ MCP ใดๆ ไปยัง
https://api.zinndigital.com/v1/mcp โดยลงชื่อเข้าใช้จากแอปหรือใช้โทเค็นการเชื่อมต่อ (zmcp_live_…) โปรดดู การเชื่อมต่อ Claude, Cursor หรือ ChatGPT กับบัญชีของคุณ ในหน้าจอยินยอม ให้ทำเครื่องหมายเลือกสิทธิ์ Zinn® Campaigns
- สิทธิ์การใช้งาน
email_marketing.view ใช้อ่านแคมเปญ รายชื่อ ผู้ติดต่อ แบบฟอร์ม ผู้ส่ง การตั้งค่า SMS และรายงาน ส่วน email_marketing.manage ใช้สร้างและเปลี่ยนแปลงข้อมูลเหล่านั้น แคมเปญที่คุณส่งผ่านบริการอีเมลของคุณเองจะใช้ campaigns.view และ campaigns.manage
- ผู้ค้าต่อ ส่ง
org_id เพื่อดำเนินการกับองค์กรลูกค้าองค์กรใดองค์กรหนึ่งของคุณ เว้นว่างไว้เมื่อคีย์หรือการเชื่อมต่อของคุณเข้าถึงเพียงองค์กรเดียวเท่านั้น
ตัวอย่าง: สร้างแบบร่างแคมเปญด้วย API
curl -X POST https://api.zinndigital.com/v1/email-marketing/campaigns \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{
"name": "Spring sale",
"subject": "Our spring sale starts today",
"list_id": "<list id>",
"sender_id": "<sender id>",
"template": "basic"
}'
คำตอบคือ 201 พร้อมฉบับร่าง ทดสอบด้วย POST /v1/email-marketing/campaigns/{campaign_id}/test ตรวจสอบด้วย GET /v1/email-marketing/campaigns/{campaign_id}/lint และส่งด้วย POST /v1/email-marketing/campaigns/{campaign_id}/send
ตัวอย่าง: ฉบับร่างเดียวกันจากผู้ช่วย AI
สอบถามผู้ช่วยของคุณด้วยถ้อยคำทั่วไป ตัวอย่างเช่น "ร่างอีเมล Zinn® Campaigns ชื่อ Spring sale ที่มีหัวข้อ 'Our spring sale starts today'" โดยเบื้องหลังแล้วจะค้นหา การดำเนินการด้วย api_operations_search อ่านพารามิเตอร์ด้วย api_operation_get และเรียกทำงาน ด้วย api_operation_call:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "api_operation_call",
"arguments": {
"operation_id": "createEmailMarketingCampaign",
"confirm": true,
"body": {
"name": "Spring sale",
"subject": "Our spring sale starts today"
}
}
}
}
สิ่งที่ผู้ช่วยจะไม่ทำ สิ่งใดก็ตามที่ส่งถึงผู้รับของคุณหรือใช้เงินหรือโควตา — การส่งแคมเปญ การส่งข้อความ SMS หรือ WhatsApp การเขียนด้วยเครดิต AI การลงทะเบียนสำหรับการส่งข้อความ US — จะถูกปฏิเสธไม่ให้ผู้ช่วยทำ เพื่อไม่ให้คำสั่งที่เข้าใจผิดส่งไปถึงลูกค้าของคุณได้เลย ผู้ช่วยจะเตรียมแบบร่างไว้ คุณกด ส่ง ในแดชบอร์ดหรือเรียกใช้ API ด้วยตนเอง ข้อมูลที่เป็นความลับ เช่น รหัสผ่าน SMTP จะไม่ถูกส่งผ่านผู้ช่วยเช่นกัน: ให้ป้อนข้อมูลเหล่านั้นในแดชบอร์ด
ขีดจำกัด
- 1,200 คำขอต่อนาที สำหรับแต่ละบุคคลหรือคีย์ API และ 6,000 คำขอต่อนาที สำหรับแต่ละองค์กร โดยจะใช้เกณฑ์ที่เข้มงวดกว่าในสองข้อนี้
- 600 คำขอต่อนาที สำหรับการเชื่อมต่อ MCP แต่ละรายการ
- หากเกินขีดจำกัด การตอบกลับจะเป็น
429 พร้อมส่วนหัว Retry-After: ให้รอตามจำนวนวินาทีดังกล่าว
- การเพิ่มสมาชิกในรายการจะรับได้สูงสุด 1,000 ที่อยู่ต่อคำขอ โควตาผู้ติดต่อและอีเมลของแผนที่คุณใช้อยู่จะครอบคลุมทุกสิ่งที่คุณทำผ่าน API
ข้อผิดพลาด
ทุกข้อผิดพลาดมีรูปแบบเดียวกัน:
{"error": {"code": "UNPROCESSABLE_ENTITY", "message": "…", "details": [{"field": "subject", "code": "REQUIRED", "message": "…"}], "request_id": "…"}}
code จะไม่เปลี่ยนแปลงสำหรับปัญหาเดียวกัน ดังนั้นโปรดทดสอบค่านี้แทนที่จะเป็น message โปรดระบุ request_id เมื่อคุณติดต่อฝ่ายสนับสนุน คำตอบที่คุณจะพบได้แก่: 401 UNAUTHORIZED, 403 FORBIDDEN, 404 NOT_FOUND, 409 CONFLICT, 422 UNPROCESSABLE_ENTITY, 429 TOO_MANY_REQUESTS โดย 403 หมายความว่าคีย์หรือการเชื่อมต่อขาดสิทธิ์ตามที่ระบุไว้ในรายการด้านล่าง; 404 ยังครอบคลุมถึงสิ่งต่างๆ ภายในองค์กรที่คุณไม่สามารถมองเห็นได้; 422 จะแสดงรายการแต่ละฟิลด์ที่ไม่ถูกต้องใน details; หลังจาก 429 โปรดรอตามจำนวนวินาทีที่ระบุในส่วนหัว Retry-After
Webhooks
ผลการนำส่งจะส่งเข้ามายัง Zinn® Campaigns จากผู้ให้บริการที่ส่งอีเมลของคุณ:
- หากใช้ผู้ให้บริการของคุณเอง (เช่น Resend) ให้จัดเก็บรหัสลับสำหรับการลงนาม webhook ไว้ในการเชื่อมต่อสำหรับการส่งในแดชบอร์ด (แคมเปญ → การส่ง) คุณจะได้รับ
webhook_url โปรดกำหนดทิศทางเหตุการณ์การนำส่งสำเร็จ การตีกลับ และการร้องเรียนของผู้ให้บริการมายัง URL นี้ การตีกลับหรือการร้องเรียนว่าเป็นสแปมจะลบที่อยู่นั้นออกจากการส่งในอนาคตทันที
- หากใช้การส่งของ Zinn® จะไม่มีสิ่งใดต้องตั้งค่า
อ่านผลลัพธ์ด้วยการดำเนินการรายงาน (getEmailMarketingCampaignReport, getSmsMarketingCampaignReport)
ทุกการดำเนินการของแคมเปญ
ภาพรวม
GET /v1/email-marketing — ภาพรวม Zinn® Campaigns สำหรับองค์กรเดียว การดำเนินการ getEmailMarketingOverview สิทธิ์ที่ตรวจสอบ: email_marketing.view จากผู้ช่วย AI: ใช่ ผ่าน MCP
แคมเปญอีเมล
GET /v1/email-marketing/campaigns — แคมเปญอีเมล รายการใหม่สุดก่อน หนึ่งหน้า keyset การดำเนินการ listEmailMarketingCampaigns สิทธิ์ที่ตรวจสอบ: email_marketing.view จากผู้ช่วย AI: ใช่ ผ่าน MCP
POST /v1/email-marketing/campaigns — สร้างฉบับร่างแคมเปญอีเมล การดำเนินการ createEmailMarketingCampaign สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ใช่ ผ่าน MCP
GET /v1/email-marketing/campaigns/{campaign_id} — หนึ่งแคมเปญอีเมล การดำเนินการ getEmailMarketingCampaign สิทธิ์ที่ตรวจสอบ: email_marketing.view จากผู้ช่วย AI: ใช่ ผ่าน MCP
PATCH /v1/email-marketing/campaigns/{campaign_id} — แก้ไขฉบับร่าง (หรือแคมเปญที่ถูกปฏิเสธ ซึ่งจะกลับไปเป็นฉบับร่าง) การดำเนินการ updateEmailMarketingCampaign สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ใช่ ผ่าน MCP
GET /v1/email-marketing/campaigns/{campaign_id}/lint — ตรวจสอบข้อความของแคมเปญเพื่อหาปัญหาในการจัดส่งก่อนส่ง การดำเนินการ lintEmailMarketingCampaign สิทธิ์ที่ตรวจสอบ: email_marketing.view จากผู้ช่วย AI: ใช่ ผ่าน MCP
GET /v1/email-marketing/campaigns/{campaign_id}/report — ตัวเลขสถิติของแคมเปญ การดำเนินการ getEmailMarketingCampaignReport สิทธิ์ที่ตรวจสอบ: email_marketing.view จากผู้ช่วย AI: ใช่ ผ่าน MCP
POST /v1/email-marketing/campaigns/{campaign_id}/send — เริ่มส่งแคมเปญไปยังรายชื่อผู้รับ การดำเนินการ sendEmailMarketingCampaign สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: เฉพาะ API และแดชบอร์ดเท่านั้น: มีการใช้จ่ายเงินหรือโควตา ดังนั้นบุคคลจะต้องเป็นผู้กด (ส่งไปยังผู้รับจริงและใช้โควตา)
POST /v1/email-marketing/campaigns/{campaign_id}/test — ส่งสำเนาทดสอบหนึ่งชุดทันทีไปยังสมาชิกในองค์กร การดำเนินการ testEmailMarketingCampaign สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ได้ ผ่านทาง MCP
POST /v1/email-marketing/campaigns/{campaign_id}/translate — แปลแคมเปญเป็นภาษาของผู้ติดต่อทุกภาษาที่ยังขาดอยู่หรือล้าสมัย การดำเนินการ translateEmailMarketingCampaign สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ได้ ผ่านทาง MCP
GET /v1/email-marketing/campaigns/{campaign_id}/translations — ภาษาของผู้ติดต่อแต่ละภาษาในรายชื่อของแคมเปญและข้อมูลว่าคำแปลเป็นปัจจุบันหรือไม่ การดำเนินการ listEmailMarketingCampaignTranslations สิทธิ์ที่ตรวจสอบ: email_marketing.view จากผู้ช่วย AI: ได้ ผ่านทาง MCP
การเขียนด้วย AI
POST /v1/email-marketing/ai/write — เขียนฉบับร่างอีเมลแคมเปญจากบรีฟสั้นๆ ด้วย Zinn® AI การดำเนินการ writeEmailMarketingCampaignWithAi สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: API และแดชบอร์ดเท่านั้น: มีการใช้เงินหรือโควตา ดังนั้นบุคคลจะต้องเป็นผู้กด (การเขียนด้วย AI จะใช้เครดิต AI)
ชุดแบรนด์
GET /v1/email-marketing/brand-kit — ชุดแบรนด์ขององค์กร (ชื่อ, โลโก้, สี, ฟอนต์, น้ำเสียง) การดำเนินการ getEmailMarketingBrandKit สิทธิ์ที่ตรวจสอบ: email_marketing.view จากผู้ช่วย AI: ได้ ผ่าน MCP
PUT /v1/email-marketing/brand-kit — แก้ไขชุดแบรนด์ การดำเนินการ updateEmailMarketingBrandKit สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ได้ ผ่าน MCP
POST /v1/email-marketing/brand-kit/read — อ่านชุดแบรนด์จากเว็บไซต์ขององค์กร การดำเนินการ readEmailMarketingBrandKit สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ได้ ผ่าน MCP
ผู้ติดต่อและข้อความแบบส่งครั้งเดียว
GET /v1/email-marketing/contacts — รายชื่อติดต่อขององค์กร ทีละหนึ่งหน้า keyset การดำเนินการ listEmailMarketingContacts สิทธิ์ที่ตรวจสอบ: email_marketing.view จากผู้ช่วย AI: ใช่ ผ่าน MCP
POST /v1/email-marketing/contacts/{contact_id}/messages — ส่ง SMS หนึ่งรายการไปยังผู้ติดต่อหนึ่งราย โดยชำระเงินจากยอดเครดิต Zinn® การดำเนินการ sendEmailMarketingMessage สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: API และแดชบอร์ดเท่านั้น: มีการใช้จ่ายเงินหรือโควตา ดังนั้นบุคคลจึงเป็นผู้กด (ข้อความแบบส่งครั้งเดียวไปยังผู้ติดต่อจะใช้โควตา)
GET /v1/email-marketing/messages — ข้อความ SMS และ WhatsApp ที่องค์กรส่ง รายการใหม่สุดอยู่ก่อน หนึ่งหน้า keyset การดำเนินการ listEmailMarketingMessages สิทธิ์ที่ตรวจสอบ: email_marketing.view จากผู้ช่วย AI: ใช่ ผ่าน MCP
รายการ
GET /v1/email-marketing/lists — รายชื่ออีเมลขององค์กรพร้อมจำนวนผู้ติดตาม / ผู้ยกเลิกการติดตาม การดำเนินการ listEmailMarketingLists สิทธิ์ที่ตรวจสอบ: email_marketing.view จากผู้ช่วย AI: ใช่ ผ่าน MCP
POST /v1/email-marketing/lists — สร้างรายชื่ออีเมล (หรือส่งคืนรายชื่อที่มีชื่อนั้น) การดำเนินการ createEmailMarketingList สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ใช่ ผ่าน MCP
POST /v1/email-marketing/lists/{list_id}/members — เพิ่มผู้ติดต่อลงในรายชื่อตามที่อยู่อีเมล (สูงสุด 1,000 รายการต่อหนึ่งคำขอ) การดำเนินการ addEmailMarketingListMembers สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ใช่ ผ่าน MCP
การนำเข้า
GET /v1/email-marketing/imports — การนำเข้าผู้ติดต่อในอดีต เรียงจากใหม่ล่าสุดก่อน ครั้งละหนึ่งหน้า keyset การดำเนินการ listEmailMarketingImports สิทธิ์ที่ตรวจสอบ: email_marketing.view จากผู้ช่วย AI: ใช่ ผ่าน MCP
POST /v1/email-marketing/imports — นำเข้ากลุ่มผู้ติดต่อหนึ่งชุดพร้อมการรับรองความยินยอม การดำเนินการ createEmailMarketingImport สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ใช่ ผ่าน MCP
ฟอร์มลงทะเบียน
GET /v1/email-marketing/forms — แบบฟอร์มลงชื่อสมัคร (การยืนยันแบบสองขั้นตอน) รายการใหม่ล่าสุดก่อน หน้าคีย์เซ็ตหนึ่งหน้า การดำเนินการ listEmailMarketingForms สิทธิ์ที่ตรวจสอบ: email_marketing.view จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
POST /v1/email-marketing/forms — สร้างแบบฟอร์มลงชื่อสมัครที่เพิ่มบุคคลที่ยืนยันแล้วลงในหนึ่งรายชื่อ การดำเนินการ createEmailMarketingForm สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
DELETE /v1/email-marketing/forms/{form_id} — ลบแบบฟอร์มลงชื่อสมัคร (บุคคลที่ยืนยันแล้วจะยังคงอยู่ในรายชื่อ) การดำเนินการ deleteEmailMarketingForm สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
PATCH /v1/email-marketing/forms/{form_id} — เปลี่ยนแปลงแบบฟอร์มลงชื่อสมัคร (ข้อความ รายชื่อ การเปลี่ยนเส้นทาง เปิดหรือปิด) การดำเนินการ updateEmailMarketingForm สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
การเชื่อมต่อการส่ง
GET /v1/email-marketing/senders — การเชื่อมต่อการส่งขององค์กร การดำเนินการ listEmailMarketingSenders สิทธิ์ที่ตรวจสอบ: email_marketing.view จากผู้ช่วย AI: ได้ ผ่าน MCP
POST /v1/email-marketing/senders — เชื่อมต่อผู้ส่งแคมเปญ (การส่งผ่าน Zinn® หรือเซิร์ฟเวอร์ SMTP ของลูกค้าเอง) การดำเนินการ createEmailMarketingSender สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: API และแดชบอร์ดเท่านั้น: มีข้อมูลลับที่ต้องไม่ส่งไปยังโมเดล AI โดยเด็ดขาด (เนื้อหาคือรหัสผ่าน SMTP)
DELETE /v1/email-marketing/senders/{sender_id} — ลบการเชื่อมต่อการส่งและรหัสผ่านที่จัดเก็บไว้ การดำเนินการ deleteEmailMarketingSender สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ได้ ผ่าน MCP
POST /v1/email-marketing/senders/{sender_id}/verify — พิสูจน์ว่าการเชื่อมต่อการส่งทำงานได้ โดยไม่ต้องส่งสิ่งใด การดำเนินการ verifyEmailMarketingSender สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ได้ ผ่าน MCP
PUT /v1/email-marketing/senders/{sender_id}/webhook — จัดเก็บความลับในการลงนาม webhook ของผู้ให้บริการอีเมลของคุณสำหรับการเชื่อมต่อนี้ การดำเนินการ setEmailMarketingSenderWebhook สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: เรียกโดยระบบอื่น (ผู้ให้บริการหรือผู้เยี่ยมชม) ไม่ใช่คุณ (จัดเก็บความลับ webhook ของผู้ให้บริการ)
SMS และ WhatsApp
GET /v1/email-marketing/sms — สิ่งที่หน้าจอ SMS ต้องการ — เปิดอยู่หรือไม่?, หยุดชั่วคราวหรือไม่?, ยอดคงเหลือเครดิตและราคา การดำเนินการ getEmailMarketingSms สิทธิ์ที่ตรวจสอบ: email_marketing.view จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
GET /v1/email-marketing/sms/campaigns — แคมเปญ SMS จำนวนมาก เรียงจากใหม่สุดก่อน หนึ่งหน้า keyset การดำเนินการ listSmsMarketingCampaigns สิทธิ์ที่ตรวจสอบ: email_marketing.view จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
POST /v1/email-marketing/sms/campaigns — สร้างฉบับร่าง SMS ไปยังรายการ การดำเนินการ createSmsMarketingCampaign สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
GET /v1/email-marketing/sms/campaigns/{campaign_id} — แคมเปญ SMS จำนวนมากหนึ่งรายการ การดำเนินการ getSmsMarketingCampaign สิทธิ์ที่ตรวจสอบ: email_marketing.view จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
PATCH /v1/email-marketing/sms/campaigns/{campaign_id} — แก้ไขฉบับร่าง (หรือแคมเปญที่ถูกปฏิเสธ ซึ่งจะกลับไปเป็นฉบับร่าง) การดำเนินการ updateSmsMarketingCampaign สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
GET /v1/email-marketing/sms/campaigns/{campaign_id}/report — ตัวเลขสถิติของแคมเปญ SMS จำนวนมาก การดำเนินการ getSmsMarketingCampaignReport สิทธิ์ที่ตรวจสอบ: email_marketing.view จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
POST /v1/email-marketing/sms/campaigns/{campaign_id}/send — เริ่มส่ง SMS ให้กับทุกคนในรายชื่อที่ยินยอมรับ SMS — หรือดำเนินการต่อสำหรับรายการที่หยุดชั่วคราวเนื่องจากเครดิต การดำเนินการ sendSmsMarketingCampaign สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: API และแดชบอร์ดเท่านั้น: มีการใช้เงินหรือโควตา ดังนั้นบุคคลจะต้องเป็นผู้กด (ส่งข้อความ SMS/WhatsApp แบบชำระเงิน)
GET /v1/email-marketing/sms/registrations/us — การลงทะเบียน US 10DLC ขององค์กรนี้และค่าใช้จ่าย การดำเนินการ getEmailMarketingUsRegistration สิทธิ์ที่ตรวจสอบ: email_marketing.view จากผู้ช่วย AI: ได้ ผ่านทาง MCP
POST /v1/email-marketing/sms/registrations/us — ส่งแบรนด์และแคมเปญขององค์กรนี้สำหรับ US 10DLC (เรียกเก็บเงินเมื่อส่ง) การดำเนินการ submitEmailMarketingUsRegistration สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: API และแดชบอร์ดเท่านั้น: มีการใช้เงินหรือโควตา ดังนั้นบุคคลจะต้องเป็นผู้กด (การลงทะเบียน US 10DLC มีค่าธรรมเนียมของผู้ให้บริการเครือข่าย)
แคมเปญผ่านบริการอีเมลของคุณเอง (เทมเพลต, เซกเมนต์, การระงับ)
GET /v1/campaigns — แคมเปญขององค์กร การดำเนินการ listCampaigns จากผู้ช่วย AI: ได้ ผ่านทาง MCP
POST /v1/campaigns — สร้างแคมเปญจากเทมเพลตและกลุ่มเป้าหมาย การดำเนินการ createCampaign จากผู้ช่วย AI: ได้ ผ่านทาง MCP
DELETE /v1/campaigns/esp — ยกเลิกการเชื่อมต่อบัญชีผู้ให้บริการและลบคีย์ที่จัดเก็บไว้ การดำเนินการ disconnectEsp จากผู้ช่วย AI: เฉพาะ API และแดชบอร์ดเท่านั้น: มีข้อมูลลับซึ่งต้องไม่ส่งไปยังโมเดล AI โดยเด็ดขาด (ทำลายคีย์ ESP ที่จัดเก็บไว้)
GET /v1/campaigns/esp — บัญชีผู้ให้บริการอีเมลขององค์กรเอง การดำเนินการ getEspConnection จากผู้ช่วย AI: ได้ ผ่านทาง MCP
POST /v1/campaigns/esp — เชื่อมต่อบัญชีผู้ให้บริการอีเมล การดำเนินการ connectEsp จากผู้ช่วย AI: เฉพาะ API และแดชบอร์ดเท่านั้น: มีข้อมูลลับซึ่งต้องไม่ส่งไปยังโมเดล AI โดยเด็ดขาด (เนื้อหาคือคีย์ ESP API)
POST /v1/campaigns/esp/verify — ตรวจสอบว่าบัญชีผู้ให้บริการใช้งานได้และอ่านโดเมนที่ได้รับการยืนยันแล้ว การดำเนินการ verifyEspConnection จากผู้ช่วย AI: เฉพาะ API และแดชบอร์ดเท่านั้น: มีข้อมูลลับซึ่งต้องไม่ส่งไปยังโมเดล AI โดยเด็ดขาด (ตรวจสอบคีย์ ESP ที่จัดเก็บไว้อีกครั้ง)
POST /v1/campaigns/preview — Render เทมเพลตด้วยค่าตัวอย่าง การดำเนินการ previewCampaignTemplate จากผู้ช่วย AI: ได้ ผ่านทาง MCP
GET /v1/campaigns/segments — เซกเมนต์กลุ่มเป้าหมายที่คุณบันทึกไว้ การดำเนินการ listCampaignSegments สิทธิ์ที่ตรวจสอบ: campaigns.view จากผู้ช่วย AI: ได้ ผ่านทาง MCP
POST /v1/campaigns/segments — บันทึกเซกเมนต์กลุ่มเป้าหมายใหม่ การดำเนินการ createCampaignSegment สิทธิ์ที่ตรวจสอบ: campaigns.manage จากผู้ช่วย AI: ได้ ผ่านทาง MCP
GET /v1/campaigns/segments/fields — คำศัพท์ของตัวกรอง รายการค่า และแท็กวิเศษ การดำเนินการ getCampaignSegmentFields สิทธิ์ที่ตรวจสอบ: campaigns.view จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
POST /v1/campaigns/segments/preview — การเข้าถึงกลุ่มเป้าหมายจำนวนกี่คน พวกเขาเป็นใคร และไม่รวมใครบ้าง การดำเนินการ previewCampaignSegment สิทธิ์ที่ตรวจสอบ: campaigns.view จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
DELETE /v1/campaigns/segments/{segmentId} — จัดเก็บเซกเมนต์ลงในคลัง การดำเนินการ archiveCampaignSegment สิทธิ์ที่ตรวจสอบ: campaigns.manage จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
GET /v1/campaigns/segments/{segmentId} — เซกเมนต์ที่บันทึกไว้หนึ่งรายการ การดำเนินการ getCampaignSegment สิทธิ์ที่ตรวจสอบ: campaigns.view จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
PATCH /v1/campaigns/segments/{segmentId} — เปลี่ยนชื่อเซกเมนต์หรือแก้ไขตัวกรอง การดำเนินการ updateCampaignSegment สิทธิ์ที่ตรวจสอบ: campaigns.manage จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
GET /v1/campaigns/suppressions — ที่อยู่ที่ต้องไม่ได้รับข้อมูลการตลาด การดำเนินการ listCampaignSuppressions สิทธิ์ที่ตรวจสอบ: campaigns.view จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
POST /v1/campaigns/suppressions — เพิ่มที่อยู่ลงในรายการระงับ การดำเนินการ createCampaignSuppression สิทธิ์ที่ตรวจสอบ: campaigns.manage จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
GET /v1/campaigns/tags — จานสีเมจิกแท็กที่เครื่องมือเขียนแคมเปญมีให้ การดำเนินการ listCampaignTags จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
GET /v1/campaigns/templates — เทมเพลตแคมเปญขององค์กร การดำเนินการ listCampaignTemplates จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
POST /v1/campaigns/templates — เขียนเทมเพลตแคมเปญ การดำเนินการ createCampaignTemplate จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
DELETE /v1/campaigns/templates/{templateId} — จัดเก็บเทมเพลตลงในคลังและยกเลิกการใช้งานแหล่งข้อมูลการแปล การดำเนินการ archiveCampaignTemplate จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
GET /v1/campaigns/templates/{templateId} — เทมเพลตแคมเปญหนึ่งรายการ การดำเนินการ getCampaignTemplate จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
PUT /v1/campaigns/templates/{templateId} — แก้ไขเทมเพลตแคมเปญ การดำเนินการ updateCampaignTemplate จากผู้ช่วย AI: ใช่ ผ่านทาง MCP
POST /v1/campaigns/unsubscribe — ออกจากรายชื่ออีเมลการตลาด ไม่จำเป็นต้องมีบัญชี การดำเนินการ unsubscribeFromCampaigns จากผู้ช่วย AI: ผ่าน API และแดชบอร์ดเท่านั้น เนื่องจากมีข้อมูลลับที่ไม่ควรส่งต่อไปยังโมเดล AI โดยเด็ดขาด (รับโทเค็นการยกเลิกการสมัครรับข้อมูลที่มีลายเซ็นของผู้รับ)
DELETE /v1/campaigns/{campaignId} — ลบแคมเปญและยกเลิกการใช้งานแถวการจัดส่ง การดำเนินการ deleteCampaign จากผู้ช่วย AI: ผ่าน API และแดชบอร์ดเท่านั้น เนื่องจากต้องใช้สิทธิ์ที่การเชื่อมต่อ AI ไม่ได้รับอนุญาต (การลบแคมเปญ ESP ต้องใช้ campaigns.send)
GET /v1/campaigns/{campaignId} — แคมเปญหนึ่งรายการและรายงานการนำส่ง การดำเนินการ getCampaign จากผู้ช่วย AI: ได้ ผ่าน MCP
POST /v1/campaigns/{campaignId}/control — หยุดชั่วคราว ดำเนินการต่อ หรือยกเลิกการส่งที่กำลังทำงานอยู่ การดำเนินการ controlCampaign จากผู้ช่วย AI: API และแดชบอร์ดเท่านั้น: มีการใช้จ่ายเงินหรือโควตา ดังนั้นบุคคลจึงเป็นผู้กด (หยุดชั่วคราว/ดำเนินการต่อการส่งแบบสด)
POST /v1/campaigns/{campaignId}/send — เริ่มการส่งแบบคงทน การดำเนินการ sendCampaign จากผู้ช่วย AI: API และแดชบอร์ดเท่านั้น: มีการใช้จ่ายเงินหรือโควตา ดังนั้นบุคคลจึงเป็นผู้กด (ส่งแคมเปญ ESP ไปยังผู้รับจริง)
POST /v1/campaigns/{campaignId}/test — ส่งข้อความจริงหนึ่งข้อความบนช่องทางที่แคมเปญจะใช้จริง การดำเนินการ testSendCampaign จากผู้ช่วย AI: API และแดชบอร์ดเท่านั้น: จำเป็นต้องมีสิทธิ์ที่การเชื่อมต่อ AI ไม่ได้รับ (การส่งทดสอบ ESP จำเป็นต้องมี campaigns.send)
หน้าสาธารณะและเว็บฮุกขาเข้า
GET /v1/public/email-marketing/c/{token} — ตัวนับการคลิก บันทึกหนึ่งคลิกต่อผู้รับหนึ่งรายและเปลี่ยนเส้นทางไปยังลิงก์เดิม การดำเนินการ emailMarketingClick จากผู้ช่วย AI: หน้าที่ผู้รับของคุณเปิดจากอีเมล (การเปลี่ยนเส้นทางติดตามการคลิก)
GET /v1/public/email-marketing/f/{public_id} — หน้าที่โฮสต์ไว้ของแบบฟอร์มลงทะเบียน (ไม่ต้องเข้าสู่ระบบ) การดำเนินการ emailMarketingFormPage จากผู้ช่วย AI: หน้าที่ผู้รับของคุณเปิดจากอีเมล (หน้าแบบฟอร์มลงทะเบียนสาธารณะ)
POST /v1/public/email-marketing/f/{public_id} — ส่งแบบฟอร์มลงทะเบียน (หน้าที่โฮสต์, โค้ดฝัง หรือ JSON) การดำเนินการ emailMarketingFormSubmit จากผู้ช่วย AI: เรียกโดยระบบอื่น (ผู้ให้บริการหรือผู้เยี่ยมชม) ไม่ใช่โดยคุณ (ผู้เยี่ยมชมส่งแบบฟอร์มลงทะเบียน)
GET /v1/public/email-marketing/fc — หน้ายืนยันการเข้าร่วมแบบยืนยันสองขั้นตอน (ไม่ต้องเข้าสู่ระบบ) การดำเนินการ emailMarketingFormConfirmPage จากผู้ช่วย AI: หน้าที่ผู้รับของคุณเปิดจากอีเมล (หน้ายืนยันการเข้าร่วมแบบยืนยันสองขั้นตอน)
POST /v1/public/email-marketing/fc — ยืนยันการลงทะเบียน (เพิ่มบุคคลลงในรายชื่อพร้อมบันทึกความยินยอม) การดำเนินการ emailMarketingFormConfirm จากผู้ช่วย AI: เรียกโดยระบบอื่น (ผู้ให้บริการหรือผู้เยี่ยมชม) ไม่ใช่โดยคุณ (ผู้เยี่ยมชมยืนยันการเข้าร่วมแบบยืนยันสองขั้นตอน)
GET /v1/public/email-marketing/o/{token} — รูปภาพติดตามการเปิด (GIF ขนาด 1x1) นับการเปิดหนึ่งครั้งต่อผู้รับหนึ่งราย การดำเนินการ emailMarketingOpenPixel จากผู้ช่วย AI: หน้าที่ผู้รับของคุณเปิดจากอีเมล (พิกเซลติดตามการเปิด)
GET /v1/public/email-marketing/u/{token} — ลิงก์ยกเลิกการสมัครสมาชิกส่วนท้าย (ไม่ต้องเข้าสู่ระบบ) การดำเนินการ emailMarketingUnsubscribePage จากผู้ช่วย AI: หน้าที่ผู้รับของคุณเปิดจากอีเมล (หน้ายกเลิกการสมัครสมาชิก)
POST /v1/public/email-marketing/u/{token} — การยกเลิกการสมัครสมาชิกด้วยคลิกเดียวตาม RFC 8058 (และปุ่ม "หยุดทุกอย่าง" ของหน้านี้) การดำเนินการ emailMarketingUnsubscribeOneClick จากผู้ช่วย AI: เรียกใช้โดยระบบอื่น (ผู้ให้บริการหรือผู้เยี่ยมชม) ไม่ใช่โดยคุณ (การยกเลิกการสมัครสมาชิกด้วยคลิกเดียวตาม RFC 8058)
GET /v1/public/email-marketing/warmup-u/{token} — ลิงก์ยกเลิกการสมัครสมาชิกของอีเมลวอร์มอัปกลุ่มการตลาด (ไม่ต้องเข้าสู่ระบบ) การดำเนินการ emailMarketingWarmupUnsubscribePage จากผู้ช่วย AI: หน้าที่ผู้รับของคุณเปิดจากอีเมล (หน้ายกเลิกการสมัครสมาชิกสำหรับการวอร์มอัป)
POST /v1/public/email-marketing/warmup-u/{token} — การยกเลิกการสมัครสมาชิกด้วยคลิกเดียวตาม RFC 8058 จากอีเมลวอร์มอัป การดำเนินการ emailMarketingWarmupUnsubscribeOneClick จากผู้ช่วย AI: เรียกใช้โดยระบบอื่น (ผู้ให้บริการหรือผู้เยี่ยมชม) ไม่ใช่โดยคุณ (การยกเลิกการสมัครสมาชิกด้วยคลิกเดียวสำหรับการวอร์มอัป)
POST /v1/webhooks/campaign-events — รับเหตุการณ์การนำส่งที่มีการลงนามจากผู้ให้บริการอีเมล การดำเนินการ receiveCampaignDeliveryWebhook จากผู้ช่วย AI: เรียกใช้โดยระบบอื่น (ผู้ให้บริการหรือผู้เยี่ยมชม) ไม่ใช่โดยคุณ (เว็บฮุกการนำส่งของ ESP ที่มีการลงนาม)
POST /v1/webhooks/campaigns/telnyx — ข้อความตอบกลับ SMS ขาเข้า (STOP / START) จากผู้ให้บริการ SMS ของเรา การดำเนินการ receiveCampaignsTelnyxInbound จากผู้ช่วย AI: เรียกใช้โดยระบบอื่น (ผู้ให้บริการหรือผู้เยี่ยมชม) ไม่ใช่โดยคุณ (เว็บฮุกขาเข้าของ Telnyx ที่มีการลงนาม)
POST /v1/webhooks/email-marketing/{connection_id} — อีเวนต์การจัดส่งของผู้ให้บริการอีเมลของลูกค้าเองสำหรับการเชื่อมต่อการส่งหนึ่งรายการ การทำงาน receiveEmailMarketingProviderWebhook จากผู้ช่วย AI: เรียกโดยระบบอื่น (ผู้ให้บริการหรือผู้เยี่ยมชม) ไม่ใช่โดยคุณ (เว็บฮุกผู้ส่ง-ผู้ให้บริการที่มีการลงนาม)
โฟลว์
GET /v1/email-marketing/flows — โฟลว์อีเมล (ต้อนรับ, ทยอยส่ง, วันที่ประจำปี) หนึ่งหน้า keyset การทำงาน listEmailMarketingFlows สิทธิ์ที่ตรวจสอบ: email_marketing.view จากผู้ช่วย AI: ใช่ ผ่าน MCP
POST /v1/email-marketing/flows — สร้างโฟลว์ (เริ่มต้นเป็นแบบร่าง) การทำงาน createEmailMarketingFlow สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ใช่ ผ่าน MCP
DELETE /v1/email-marketing/flows/{flow_id} — ลบโฟลว์และการลงทะเบียนของโฟลว์ (รายการที่ส่งแล้วยังคงอยู่เป็นแคมเปญ) การทำงาน deleteEmailMarketingFlow สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ใช่ ผ่าน MCP
GET /v1/email-marketing/flows/{flow_id} — หนึ่งโฟลว์พร้อมขั้นตอนและรายงาน (ลงทะเบียนแล้ว, กำลังดำเนินการ, การทำงานและผู้รับต่อขั้นตอน) การทำงาน getEmailMarketingFlow สิทธิ์ที่ตรวจสอบ: email_marketing.view จากผู้ช่วย AI: ใช่ ผ่าน MCP
PATCH /v1/email-marketing/flows/{flow_id} — เปลี่ยนแปลงโฟลว์ หากระบุ steps จะแทนที่ลำดับขั้นตอนทั้งหมด การดำเนินการ updateEmailMarketingFlow สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ได้ ผ่านทาง MCP
POST /v1/email-marketing/flows/{flow_id}/activate — เปิดใช้งานโฟลว์ มีเพียงผู้ที่เข้าร่วมรายชื่อนับจากนี้เป็นต้นไปเท่านั้นที่จะได้รับการลงทะเบียน การดำเนินการ activateEmailMarketingFlow สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ได้ ผ่านทาง MCP
POST /v1/email-marketing/flows/{flow_id}/pause — หยุดโฟลว์ชั่วคราว ขั้นตอนที่ถึงกำหนดจะรอและจะไม่มีการส่งอีเมลถึงผู้ใช้รายใหม่จนกว่าจะเปิดใช้งานอีกครั้ง การดำเนินการ pauseEmailMarketingFlow สิทธิ์ที่ตรวจสอบ: email_marketing.manage, email_marketing.view จากผู้ช่วย AI: ได้ ผ่านทาง MCP