สำหรับนักพัฒนา

เอกสารอ้างอิง API

เชื่อมความสามารถปรับปรุงโฆษณาด้วย AI สามแพลตฟอร์มของ DEXUN AdWhiz เข้ากับเครื่องมือ สคริปต์ หรือแบ็กเอนด์ของคุณผ่าน REST

Base URL

คำขอ API ทั้งหมดส่งไปยังรูทนี้:

https://www.7275.com/api/v1

ต้องใช้ HTTPS เท่านั้น คำขอ HTTP จะถูกปฏิเสธ (ไม่มีการเปลี่ยนเส้นทาง)

การยืนยันตัวตน

ทุกคำขอต้องมี Bearer token ในเฮดเดอร์ Authorization สร้างได้ที่แดชบอร์ด → การตั้งค่า → API Keys คีย์มีสองแบบคือ live และ test แต่ละแบบเข้าถึงได้เฉพาะสภาพแวดล้อมของตัวเอง

curl https://www.7275.com/api/v1/accounts \
  -H "Authorization: Bearer dxk_live_...your-key..."
  • รูปแบบคีย์ live: ขึ้นต้นด้วย dxk_live_ ยาว 64 อักขระ
  • รูปแบบคีย์ test: ขึ้นต้นด้วย dxk_test_ ใช้ได้เฉพาะบัญชี sandbox
  • ห้ามใช้คีย์ในโค้ดฝั่ง front-end — ให้ส่งผ่านแบ็กเอนด์ของคุณเองเป็นพร็อกซี
  • หากคีย์รั่วไหล ให้เพิกถอนและสร้างใหม่ในแดชบอร์ดทันที

ใช้งานโดยตรงจาก Claude Desktop / Cursor (เซิร์ฟเวอร์ MCP)

เรามีเซิร์ฟเวอร์ Model Context Protocol ที่ไม่ต้องพึ่งไลบรารีใด ให้ไคลเอนต์ MCP อย่าง Claude Desktop และ Cursor อ่านสถานะ AdWhiz ของคุณได้โดยตรง ไม่ต้องเขียนโค้ด — คัดลอกบล็อกการตั้งค่า วาง API key แล้วรีสตาร์ตไคลเอนต์

  • เครื่องมืออ่านอย่างเดียว 5 รายการ: แสดงรายการบัญชีโฆษณา ดูคำแนะนำจาก AI ดูเงินที่ประหยัดได้เดือนนี้ ดูกิจกรรมล่าสุด ตรวจโควตา API
  • เครื่องมือเขียน (apply / pause) ยังไม่เปิดให้ใช้โดยเจตนา — รอจนตัวปรับปรุงพ้น shadow mode และมีหลักฐานการคาลิเบรตเพียงพอสำหรับควบคุมก่อน
  • สคริปต์ Node 18+ ไฟล์เดียว ไม่ต้อง npm install รันได้ดีบนเครื่องออฟไลน์ / แยกเครือข่าย (airgapped)
  • API key ไม่เคยออกจากเครื่องของคุณ ทุกคำขอเชื่อมต่อ www.7275.com โดยตรงผ่าน HTTPS

เพิ่มส่วนนี้ลงใน claude_desktop_config.json ของ Claude Desktop (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):

{
  "mcpServers": {
    "adwhiz": {
      "command": "node",
      "args": ["/path/to/mcp-server/src/index.mjs"],
      "env": {
        "ADWHIZ_API_KEY": "dxk_live_..."
      }
    }
  }
}

คู่มือติดตั้งฉบับเต็ม การตั้งค่า Cursor และการแก้ปัญหาอยู่บน GitHub: github.com/dexun-inc/adwhiz/mcp-server.

เอนด์พอยต์

API v1 มีเอนด์พอยต์หลัก 13 รายการ ครอบคลุมการระบุตัวตน การอ่านบัญชี การสร้างคำแนะนำ (การนำไปใช้ยังไม่เปิดให้ใช้) บันทึกการตรวจสอบ การจัดการ API key การตรวจโควตา และฟีด changelog

เมธอดพาธคำอธิบาย
GET/meส่งกลับเจ้าของ token ที่เรียก + โควตา rate limit ที่เหลือ (whoami)
GET/accountsแสดงบัญชีโฆษณาทั้งหมดที่ผู้ใช้ปัจจุบันเชื่อมต่อไว้ (ครบทั้งสามแพลตฟอร์ม)
GET/accounts/{id}/campaignsแสดงแคมเปญ กลุ่มโฆษณา คีย์เวิร์ด และเมตริก 7/30 วันของบัญชีหนึ่ง
POST/recommendations/generateให้ AI สร้างคำแนะนำการปรับปรุงชุดใหม่
GET/recommendationsแสดงคำแนะนำทั้งหมดที่รออนุมัติ / นำไปใช้แล้ว / ปิดไปแล้ว
POST/recommendations/{id}/applyนำคำแนะนำไปใช้ — ยังไม่เปิดให้ใช้: ตอบกลับ 501 not_supported และไม่เปลี่ยนแปลงอะไร
POST/recommendations/{id}/dismissปิดคำแนะนำ — ยังไม่เปิดให้ใช้: ตอบกลับ 501 not_supported และไม่เปลี่ยนแปลงอะไร
POST/changes/{id}/rollbackย้อนการเปลี่ยนแปลงที่นำไปใช้แล้ว — ยังไม่เปิดให้ใช้: ตอบกลับ 501 not_supported และไม่เปลี่ยนแปลงอะไร
GET/audit-log(เลิกใช้แล้ว ปิดบริการ 2027-05-23) บันทึกการตรวจสอบฉบับเต็ม ให้ใช้ /audit-events แทน — อิงตาราง audit_events จริงและกรองด้วย ?kind ได้
GET/audit-eventsสตรีมเหตุการณ์ตรวจสอบด้านความปลอดภัย (เข้าสู่ระบบ / รหัสผ่าน / OAuth / การสมัครสมาชิก) กรองด้วย ?since + ?kind ได้
GET/api-keysแสดง API key ของผู้เรียก (รวม lastUsedAt + active) ไม่ส่งกลับ hashedKey เด็ดขาด
GET/usageอ่าน tier ปัจจุบัน ขีดจำกัด RPM ส่วนที่เหลือ และ reset_at โดยไม่ต้องส่งคำขอทดสอบ
GET/changelogฟีด JSON ของ changelog ผลิตภัณฑ์ (สาธารณะ ไม่ต้องยืนยันตัวตน) รองรับ ETag + ?lang + ?limit (1..50) + ?since=YYYY-MM-DD — รูปแบบมาตรฐานสำหรับโพลลิงแบบส่วนเพิ่ม

ตัวอย่างคำขอ

สร้างคำแนะนำการปรับปรุงชุดใหม่สำหรับทั้งสามแพลตฟอร์ม:

curl -X POST https://www.7275.com/api/v1/recommendations/generate \
  -H "Authorization: Bearer dxk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "account_id": "ga-548-203-7184",
    "platforms": ["google_ads", "meta_ads", "tiktok_ads"],
    "window": "7d"
  }'

ตัวอย่างการตอบกลับ:

{
  "summary": "Pausing 3 high-CPA keywords and reallocating budget...",
  "recommendations": [
    {
      "id": "rec_001",
      "type": "pause_keyword",
      "target": { "accountId": "ga-548-203-7184", "keywordText": "wool socks" },
      "title": "Pause broad-match 'wool socks'",
      "reason": "7-day CPA $45.82 vs target $8",
      "expectedImpact": "Save ~$412/week",
      "confidence": "high"
    }
  ]
}

โพลลิง /changelog แบบส่วนเพิ่ม

/api/v1/changelog เป็นเอนด์พอยต์สาธารณะ (ไม่ต้องใช้ API key) มีสี่วิธีช่วยประหยัดแบนด์วิดท์: ETag + If-None-Match, Last-Modified + If-Modified-Since (curl -z), ?since=YYYY-MM-DD สำหรับกรองตามวันที่ และ ?limit=N สำหรับจำกัดขนาด SDK และสคริปต์ cron ใช้ร่วมกันได้เพื่อโพลบ่อย ๆ โดยไม่ต้องดาวน์โหลด JSON เดิมซ้ำ

# 1. First call — store the ETag (or Last-Modified) you get back.
curl -i 'https://www.7275.com/api/v1/changelog?limit=10'

# 2. Subsequent calls — pass the stored ETag.
#    Server returns 304 with empty body if nothing has shipped.
curl -i 'https://www.7275.com/api/v1/changelog?limit=10' \
  -H 'If-None-Match: "abc123..."'

# 3. Or anchor on a date instead of an ETag.
#    Only entries whose `date >= since` come back; pair with ?limit
#    to cap the response size.
curl 'https://www.7275.com/api/v1/changelog?since=2026-01-01&limit=20'

# 4. curl -z for Last-Modified-style conditional GET (no ETag needed):
curl -z 'Mon, 20 May 2026 00:00:00 GMT' \
  'https://www.7275.com/api/v1/changelog'

ขีดจำกัดอัตราคำขอ

แบ่งระดับตามแพ็กเกจสมาชิก เพื่อไม่ให้กระทบโควตา API ต้นทางของ Google / Meta / TikTok:

  • Professional: 120 คำขอ/นาที
  • Business: 600 คำขอ/นาที
  • Enterprise: กำหนดเอง (โดยทั่วไป 3,000 คำขอ/นาที)
  • เกินขีดจำกัดจะได้ 429 + เฮดเดอร์ retry-after — แนะนำให้ใช้ exponential backoff

รหัสข้อผิดพลาด

ข้อผิดพลาดทั้งหมดส่งกลับเป็น JSON ที่มี error.code, error.message และ error.request_id:

สถานะ HTTPความหมาย
401ไม่มี API key หรือ API key ไม่ถูกต้อง
403บัญชีไม่มีสิทธิ์เข้าถึงทรัพยากรนี้ (OAuth scope ไม่เพียงพอ)
404ไม่พบทรัพยากรหรือถูกลบแล้ว
422พารามิเตอร์คำขอไม่ถูกต้อง
429เกินขีดจำกัดอัตราคำขอ — รอตามเฮดเดอร์ retry-after
500ข้อผิดพลาดของเซิร์ฟเวอร์ — รายงานโดยอัตโนมัติแล้ว
503API ของแพลตฟอร์มต้นทางไม่พร้อมใช้งานชั่วคราว (Google / Meta / TikTok)