สำหรับนักพัฒนา
เอกสารอ้างอิง 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 | ข้อผิดพลาดของเซิร์ฟเวอร์ — รายงานโดยอัตโนมัติแล้ว |
503 | API ของแพลตฟอร์มต้นทางไม่พร้อมใช้งานชั่วคราว (Google / Meta / TikTok) |