ฐานความรู้

Zinn® Campaigns API และ MCP: คู่มือสำหรับนักพัฒนา

การลงชื่อเข้าใช้ การอนุญาต ตัวอย่าง ขีดจำกัด ข้อผิดพลาด เว็บฮุก และการทำงานทั้งหมดของ Zinn® Campaigns API รวมถึงการทำงานที่ผู้ช่วย AI สามารถเรียกใช้ผ่าน MCP ได้

Zinn® ไวกิ้งของเรา กำลังอ่านรายการตรวจสอบของเขาข้างดัชนีบทความที่มีบทความหนึ่งเปิดอยู่

ทุกสิ่งที่คุณสามารถทำได้ใน 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

ล่าสุดจากบล็อก

สิ่งที่เราเขียนเกี่ยวกับโฮสติ้ง, SEO และการดูแลเว็บไซต์ในระดับสเกลใหญ่

SEO และการสร้างลิงก์จากเลเยอร์โฮสติง: มุมมองของผู้ปฏิบัติงานในปี 2026

โฮสติ้งส่งผลต่อการจัดทำดัชนีและมูลค่าของลิงก์ (link equity) ในปี 2026 อย่างไร: การดูแลให้หน้าเว็บยังคงอยู่ในดัชนี, การตรวจสอบโดเมนเก่าก่อนที่คุณจะเริ่มพัฒนา, การสร้างลิงก์โดยไม่ทิ้งร่องรอย (footprint) และข้อเท็จจริงอย่างตรงไปตรงมาเกี่ยวกับสิ่งที่โครงสร้างพื้นฐานสามารถและไม่สามารถทำให้กับ SEO ได้

อ่านโพสต์ →

การทำให้ WordPress รวดเร็วและปลอดภัย: รายการตรวจสอบประสิทธิภาพและปลั๊กอิน

รายการตรวจสอบที่ใช้งานได้จริงสำหรับ WordPress ที่รวดเร็วและปลอดภัย: การแคชระดับเซิร์ฟเวอร์, อ็อบเจกต์แคชสำหรับแต่ละไซต์, ปลั๊กอินจำนวนหนึ่งที่คุ้มค่าแก่การใช้งาน, การอัปเดตสแต็กให้เป็นปัจจุบันอยู่เสมอ และหน้า WooCommerce ที่คุณต้องไม่แคชโดยเด็ดขาด

อ่านโพสต์ →

วิธีเลือกเว็บโฮสติ้งที่มีการจัดการในปี 2026: คู่มือสำหรับผู้ซื้อ

สิ่งที่แยกแยะระหว่างโฮสติ้งที่มีการจัดการที่ดีกับเซิร์ฟเวอร์ราคาถูกที่มีเพียงแผงควบคุมได้อย่างแท้จริง ได้แก่ การย้ายข้อมูล การสำรองข้อมูล การแยกสภาพแวดล้อม แคชที่มีประสิทธิภาพจริง และการปรับขนาดที่โปร่งใส ตลอดจนวิธีประเมินก่อนที่คุณจะตัดสินใจเลือกใช้งาน

อ่านโพสต์ →

อ่านบล็อก →

ยังติดปัญหาอยู่ใช่หรือไม่?

บริการช่วยเหลือรวมอยู่ในทุกแพลตฟอร์ม ทีมงานพร้อมให้บริการ 24 ชั่วโมงต่อวัน และคุณสามารถเขียนหาเราเป็นภาษาใดก็ได้จาก 58 ภาษาของเรา เราจะตอบกลับคุณด้วยภาษาของคุณ

ติดต่อฝ่ายสนับสนุน บทความทั้งหมด