Thể Loại: Tutorials

API chiến dịch quảng cáo CPAlead: Tạo và quản lý ưu đãi

Tác Giả: CPAlead
API chiến dịch quảng cáo CPAlead: Tạo và quản lý ưu đãi

Muốn một tác nhân AI hỗ trợ xây dựng hoặc quản lý các chiến dịch CPAlead của bạn?

Chia sẻ hướng dẫn công khai này với tác nhân của bạn: https://www.cpalead.com/en/blog/tutorials/cpalead-advertiser-campaign-api-guide

Cũng hãy chia sẻ lược đồ OpenAPI công khai tại https://www.cpalead.com/api/v1/advertiser/openapi.json. Hướng dẫn và lược đồ là công khai; bearer token của bạn thì không. Hãy cấu hình token riêng biệt như một bí mật trong một client AI đáng tin cậy, máy chủ MCP, plugin, hoặc tích hợp. Không bao giờ dán token vào cuộc trò chuyện công khai, URL, trường chiến dịch, ảnh chụp màn hình, hoặc kho mã nguồn.

Campaign API không phải là quyền truy cập dashboard. Một token Campaign API chỉ cấp quyền cho các quyền chiến dịch mà bạn chọn. Nó không thể dùng để đăng nhập vào dashboard CPAlead của bạn. Publisher AI Access là một tính năng riêng dành cho publisher.

CPAlead Campaign API cho phép một advertiser tự phục vụ đã được xác minh dùng code, một tác nhân AI, máy chủ MCP, hoặc plugin để làm việc với các chiến dịch CPA, CPI, và CPC. Một client được ủy quyền có thể đọc các yêu cầu chiến dịch hiện tại, xác thực một chiến dịch hoàn chỉnh trước khi lưu, tải lên một creative, tạo chiến dịch, liệt kê và truy xuất các chiến dịch, chỉnh sửa chiến dịch với bảo vệ phiên bản, và chủ động bắt đầu hoặc tạm dừng một chiến dịch đủ điều kiện.

Đây là người bạn đồng hành tự động hóa cho dashboard advertiser thông thường. Nếu trước tiên bạn muốn một giải thích từng trường về loại chiến dịch, tracking, nhắm mục tiêu, payout, cap, funding, review, và launch, hãy đọc Cách Quảng Cáo trên CPAlead năm 2026: Thêm và Khởi chạy Offer Đầu tiên của Bạn. Hãy dùng bài viết này khi bạn đã sẵn sàng biểu diễn thiết lập đó dưới dạng JSON có cấu trúc và các hành động API được kiểm soát.

Quy trình bắt đầu nhanh an toàn nhất

  1. Tạo một token Campaign API ngắn hạn chỉ với campaigns:readcampaigns:validate.
  2. Cung cấp cho client đáng tin cậy của bạn URL OpenAPI công khai và cấu hình token riêng tư như một bí mật bearer.
  3. Gọi GET /requirements cho CPA, CPI, hoặc CPC thay vì đoán các giới hạn hiện tại.
  4. Soạn thảo JSON chiến dịch hoàn chỉnh và gọi POST /campaigns/validate.
  5. Xem xét mọi lỗi, cảnh báo, payout, ngân sách, quy tắc nhắm mục tiêu, lịch, và khoản phí có thể có.
  6. Chỉ khi đó mới thêm quyền tải ảnh lên và tạo chiến dịch.
  7. Tạo với một idempotency key duy nhất, rồi kiểm tra trạng thái review và phân phối trả về.
  8. Thu hồi token khi tác vụ hoàn tất.

Campaign API có thể làm gì

Các thao tác Campaign API cho advertiser của CPAlead và các quyền cần thiết
Hành động Phương thức và đường dẫn Quyền Quy tắc an toàn
Đọc OpenAPIGET /openapi.jsonCông khaiKhông cần token
Đọc yêu cầuGET /requirementscampaigns:validateĐọc trước khi xây dựng JSON
Xác thực JSONPOST /campaigns/validatecampaigns:validateKhông tạo chiến dịch
Tải ảnh lênPOST /imagesassets:createID tạm thời, hết hạn, chỉ dùng một lần
Liệt kê chiến dịchGET /campaignscampaigns:readCó phân trang và có thể lọc
Tạo chiến dịchPOST /campaignscampaigns:createIdempotency-Key duy nhất
Lấy một chiến dịchGET /campaigns/{campaign}campaigns:readTrả về ETag hiện tại
Cập nhật chiến dịchPATCH /campaigns/{campaign}campaigns:updateETag chính xác trong If-Match
Bắt đầu chiến dịchPOST /campaigns/{campaign}/actions/startcampaigns:toggleKhông có body và có tính idempotent
Tạm dừng chiến dịchPOST /campaigns/{campaign}/actions/pausecampaigns:toggleKhông có body và có tính idempotent

API hiện tại không cung cấp thao tác archive, delete, bulk-create, hoặc toggle chung. Công việc archive hoặc delete vẫn là một quy trình trong dashboard. Start và pause là các hành động riêng biệt để một người hoặc client AI có thể yêu cầu xác nhận rõ ràng trước khi thay đổi phân phối.

Campaign API và Offer API Import là khác nhau

  • Campaign API: Một API bearer-token có phạm vi, dùng để xác thực, tạo, đọc, chỉnh sửa, bắt đầu, và tạm dừng các chiến dịch trong tài khoản advertiser của bạn.
  • Offer API Import: Một quy trình riêng trong dashboard advertiser, đọc offers từ một nguồn cấp bên ngoài tương thích và ánh xạ các trường của nó vào CPAlead.

Advertiser API Center giữ các công cụ này ở các trang riêng biệt. Đăng nhập, mở Setup → API, rồi chọn công cụ phù hợp với tác vụ của bạn. Dùng Campaign API khi ứng dụng, tác nhân, máy chủ MCP, hoặc plugin của bạn đã có dữ liệu offer và cần một cách có cấu trúc để làm việc với CPAlead. Dùng trình nhập khi CPAlead nên lấy và ánh xạ một nguồn cấp offer được hỗ trợ. Đừng cấp cho một tích hợp token rộng hơn mức công việc của nó yêu cầu.

Tạo một token Campaign API

  1. Đăng nhập vào tài khoản advertiser tự phục vụ đã được xác minh.
  2. Mở Setup → API, rồi chọn Campaign API.
  3. Đặt cho token một tên dễ nhận biết, chẳng hạn “Campaign validator” hoặc “My MCP agent.”
  4. Chọn thời hạn. Tùy chọn 48 giờ được khuyến nghị cho thiết lập AI; cũng có các tùy chọn 30 ngày, 90 ngày, và 365 ngày.
  5. Chỉ chọn những quyền mà client cần.
  6. Tạo token và sao chép nó ngay lập tức. CPAlead không thể hiển thị lại toàn bộ token sau khi trang được tải lại.
  7. Lưu nó trong cấu hình bí mật của client đáng tin cậy và thu hồi nó khi tác vụ kết thúc.

Một advertiser có thể có tối đa 10 token Campaign API đang hoạt động. Hãy dùng các token riêng cho từng tích hợp riêng biệt để bạn có thể giới hạn quyền, xem xét việc sử dụng, và thu hồi một tích hợp mà không làm gián đoạn tích hợp khác.

Nơi tạo token Campaign API của bạn

Token Campaign API là thông tin xác thực API riêng tư được gửi trong header Authorization. Nó không phải là mật khẩu CPAlead của bạn, và không thể dùng để đăng nhập vào dashboard CPAlead. Sau khi đăng nhập, mở Setup → API, chọn Campaign API, và sử dụng biểu mẫu Create a token.

CPAlead Campaign API token form with name, expiration, permission checkboxes, and Create token button
Mở Setup → API, chọn Campaign API, rồi đặt tên cho token, chọn thời hạn, và chỉ cấp những quyền mà tích hợp của bạn cần. CPAlead chỉ hiển thị token hoàn chỉnh một lần, vì vậy hãy sao chép nó ngay và lưu trong phần cài đặt bí mật của tích hợp đáng tin cậy.
Quyền token Campaign API
QuyềnCho phépKhi nào cấp
campaigns:readXem các chiến dịch của bạnQuyền khởi đầu an toàn
campaigns:validateĐọc yêu cầu và xác thực JSONQuyền khởi đầu an toàn
assets:createTải ảnh chiến dịch lênKhi chuẩn bị tạo thực hoặc chỉnh sửa ảnh
campaigns:createTạo chiến dịchSau khi JSON cuối cùng được xem xét
campaigns:updateChỉnh sửa chiến dịchChỉ khi cần chỉnh sửa
campaigns:toggleBắt đầu hoặc tạm dừng chiến dịchChỉ với điều khiển phân phối rõ ràng

Quy tắc token: Chia sẻ hướng dẫn công khai và URL OpenAPI một cách tự do. Chỉ chia sẻ bearer token với một client mà bạn tin cậy, thông qua phần cài đặt bí mật riêng tư của nó. CPAlead lưu một hash an toàn và chỉ hiển thị phần đầu của token sau khi tạo.

URL cơ sở, xác thực và định dạng phản hồi

API base: https://www.cpalead.com/api/v1/advertiser
OpenAPI: https://www.cpalead.com/api/v1/advertiser/openapi.json

Các yêu cầu đã xác thực gửi token một lần trong header HTTP authorization. Đừng bao giờ đặt nó trong URL hoặc chuỗi truy vấn.

Authorization: Bearer YOUR_TOKEN
Accept: application/json

Đối với các ví dụ curl bên dưới, một thiết lập an toàn hơn là lưu header authorization trong một file cấu hình curl cục bộ, file này bị loại khỏi kiểm soát mã nguồn và chỉ bạn đọc được:

# cpalead-auth.cfg
header = "Authorization: Bearer YOUR_TOKEN"
header = "Accept: application/json"

# Restrict the file before using it:
chmod 600 cpalead-auth.cfg

Một phản hồi thành công có một đối tượng hoặc danh sách data cùng với meta. Metadata bao gồm request_id và phiên bản lược đồ hiện tại, và có thể bao gồm phân trang, phiên bản tài nguyên, hoặc cờ phát lại idempotent. Một phản hồi lỗi có một đối tượng error cùng với meta. Lưu request_id công khai khi khắc phục sự cố với hỗ trợ, nhưng không bao giờ gửi bearer token của bạn cho hỗ trợ.

Bước 1: Đọc yêu cầu trực tiếp

Yêu cầu là nguồn sự thật về những gì tài khoản hiện có thể gửi. Chúng bao gồm phiên bản lược đồ và điều khoản hiện tại, điều kiện đủ điều kiện tạo tài khoản, các quốc gia và thiết bị được hỗ trợ, giới hạn trường, quy tắc loại chiến dịch, phạm vi giá, lịch, gói launch, yêu cầu tracking, quy tắc ảnh, và quy trình được khuyến nghị.

curl --config cpalead-auth.cfg \
  "https://www.cpalead.com/api/v1/advertiser/requirements?type=CPA"

Dùng type=CPA, type=CPI, hoặc type=CPC để giới hạn phản hồi. Đừng hard-code phiên bản lược đồ, phiên bản điều khoản, giới hạn payout, bid, ngân sách, gói launch, quốc gia, thiết bị, hoặc phiên bản ứng dụng tối thiểu từ một ví dụ cũ. Hãy lấy lại yêu cầu khi máy chủ báo rằng một giá trị hoặc phiên bản đã lỗi thời.

Ba loại chiến dịch

  • CPA: Trả tiền cho một hành động đã khai báo. URL theo dõi phải chứa {CLICK_ID}, và một preview URL, mục tiêu chuyển đổi, daily cap, và launch package là một phần của cấu trúc tạo.
  • CPI: Trả tiền cho một lần cài đặt hoặc một sự kiện ứng dụng đã cấu hình. Nó dùng {CLICK_ID} và thêm các lựa chọn hướng ứng dụng như nền tảng thiết bị, phương thức theo dõi, phiên bản iOS được hỗ trợ, và xử lý proxy.
  • CPC: Trả tiền cho một click hợp lệ. Nó dùng bid và ngân sách hàng ngày thay vì payout chuyển đổi, daily cap, và launch package.

Tất cả giá trị tiền của Campaign API đều tính bằng USD, và lịch API dùng UTC. Hãy đọc các yêu cầu trả về và hiển thị những thông tin đó cho người phê duyệt yêu cầu.

Bước 2: Tải ảnh chiến dịch lên

Các yêu cầu create không chấp nhận URL ảnh từ xa. Hãy tải tệp lên trước dưới dạng multipart form data, rồi đặt ID ảnh tạm thời trả về vào image_upload_id.

curl --config cpalead-auth.cfg \
  --request POST \
  --form "[email protected]" \
  "https://www.cpalead.com/api/v1/advertiser/images"
  • Nguồn được chấp nhận: JPG, JPEG, PNG, GIF, BMP, và WebP.
  • Kích thước tệp tối đa: 2 MiB.
  • Chiều rộng và chiều cao nguồn: mỗi chiều phải nằm trong khoảng 200 đến 4096 pixel.
  • Kết quả được lưu: một ảnh crop WebP 200×200 không động, không có metadata.
  • Thời gian tồn tại của upload chưa dùng: 24 giờ.
  • Giới hạn upload đang chờ: tối đa 25 upload ảnh chưa dùng hiện tại.
  • Sử dụng: một lần tạo chiến dịch hoặc cập nhật ảnh. Hãy upload lại cho một chiến dịch khác.

Validation có thể kiểm tra rằng một ID ảnh thuộc về tài khoản của bạn và vẫn có thể dùng mà không tiêu thụ nó. Lần ghi chiến dịch thành công sẽ tiêu thụ nó. Việc phát lại cùng một lệnh create đã hoàn tất với cùng idempotency key sẽ trả về kết quả đã lưu; nó không tạo chiến dịch thứ hai từ ảnh đã được tiêu thụ.

Bước 3: Xây dựng JSON chiến dịch hoàn chỉnh

API sử dụng các đối tượng JSON nghiêm ngặt. Các trường không xác định sẽ bị từ chối thay vì bị bỏ qua âm thầm. Điều đó làm cho tích hợp AI an toàn hơn: một thuộc tính viết sai chính tả hoặc được bịa ra sẽ trở thành một vấn đề xác thực rõ ràng thay vì một cài đặt chiến dịch ngoài ý muốn.

Ví dụ CPA sau đây là một mẫu, không phải một chiến dịch sẵn sàng gửi. Hãy thay mọi giá trị COPY_FROM_REQUIREMENTS, ID ảnh, URL, payout, quốc gia, cap, và mô tả công khai bằng các giá trị đã được xem xét cho offer thực của bạn.

{
  "schema_version": "COPY_FROM_REQUIREMENTS",
  "external_id": "signup-campaign-us-001",
  "type": "CPA",
  "name": "US Account Signup",
  "creative": {
    "title": "Create Your Free Account",
    "description": "Register and confirm your email",
    "conversion_goal": "Create an account"
  },
  "tracking": {
    "url": "https://tracker.example.com/click?click_id={CLICK_ID}",
    "preview_url": "https://www.example.com/signup",
    "gaid_idfa_filler": false
  },
  "targeting": {
    "countries": ["US"],
    "device": "all_devices",
    "tools_only": false
  },
  "pricing": {
    "payout": "0.50",
    "daily_cap": 20,
    "currency": "USD"
  },
  "schedule": {
    "mode": "always",
    "start_time": "00:00",
    "end_time": "23:59",
    "timezone": "UTC"
  },
  "publisher_access": {
    "mode": "all",
    "publisher_ids": []
  },
  "launch_package": {
    "amount": "COPY_FROM_REQUIREMENTS"
  },
  "image_upload_id": "cimg_COPY_FROM_IMAGE_UPLOAD",
  "terms": {
    "version": "COPY_FROM_REQUIREMENTS",
    "accepted": true
  }
}

Quy tắc tracking quan trọng cho CPA và CPI

URL theo dõi phải chứa macro chính xác {CLICK_ID}. Tracker hoặc nền tảng affiliate của bạn phải lưu giá trị số mà CPAlead chèn vào đó và trả lại click ID đã lưu này cho postback advertiser của CPAlead sau khi chuyển đổi xảy ra. Không đặt URL postback của CPAlead trong URL theo dõi chiến dịch. Để có giải thích đầy đủ từ click đến postback, hãy dùng hướng dẫn public advertiser postback.

Bước 4: Xác thực trước khi tạo

curl --config cpalead-auth.cfg \
  --request POST \
  --header "Content-Type: application/json" \
  --data-binary @campaign.json \
  "https://www.cpalead.com/api/v1/advertiser/campaigns/validate"

Validation trả về HTTP 200 với data.valid, một danh sách errors, và một danh sách warnings. Phản hồi 200 vẫn có thể chứa valid: false, vì vậy client phải kiểm tra giá trị đó thay vì coi riêng trạng thái HTTP là sự chấp thuận. Mỗi vấn đề sử dụng một đường dẫn JSON Pointer như /tracking/url, /pricing/payout, hoặc /image_upload_id. Một tác nhân AI nên chỉ sửa trường được chỉ ra, xác thực lại, và hiển thị JSON cuối cùng cho chủ tài khoản trước khi yêu cầu quyền create.

Một phản hồi hợp lệ có nghĩa là payload vượt qua validation hiện tại và kiểm tra trước khi lưu. Nó không phải là lời hứa về việc được phê duyệt, kích hoạt, traffic, conversions, hoặc đủ điều kiện trong tương lai. Các kiểm tra review, funding, quyền truy cập tài khoản, holds, lịch, cap, và trạng thái theo thời gian thực vẫn áp dụng cho các thao tác ghi và hành động vòng đời.

Bước 5: Tạo an toàn với idempotency

curl --config cpalead-auth.cfg \
  --request POST \
  --header "Content-Type: application/json" \
  --header "Idempotency-Key: create-signup-campaign-us-001" \
  --data-binary @campaign.json \
  "https://www.cpalead.com/api/v1/advertiser/campaigns"

Create, start, và pause yêu cầu một Idempotency-Key chứa từ 8 đến 200 ký tự ASCII hiển thị. Dùng một key mới cho mỗi hành động dự định. Nếu kết nối thất bại và bạn không biết liệu hành động đã hoàn tất hay chưa, hãy thử lại cùng hành động y hệt với cùng key. CPAlead có thể phát lại phản hồi đã hoàn tất thay vì tạo hoặc tính phí hai lần.

  • Cùng key và cùng mục đích: Phản hồi đã hoàn tất có thể được phát lại với meta.idempotent_replay=true.
  • Cùng key nhưng chi tiết thay đổi: API trả về xung đột idempotency.
  • Cùng external ID nhưng chi tiết thay đổi: API cũng trả về xung đột.
  • Yêu cầu trước đó vẫn đang xử lý: Hãy chờ khoảng thời gian được báo cáo, rồi thử lại cùng mục đích với cùng key.

external_id tùy chọn là tham chiếu ổn định riêng của bạn cho thao tác create. Nó có thể giúp đối soát dễ hơn, nhưng không được tái sử dụng cho một chiến dịch dự định khác.

Việc tạo mới có thể có tác động thực tế. Tùy theo cài đặt tài khoản, review, số dư, lịch, và loại chiến dịch, một chiến dịch mới có thể được gửi để review hoặc có thể đủ điều kiện chạy. Việc bắt đầu hoặc kích hoạt các chiến dịch CPA và CPI có thể tính phí một launch package đã chọn nhưng chưa thanh toán. Luôn kiểm tra trạng thái công khai trả về và các yêu cầu tài chính thay vì giả định create chỉ có nghĩa là “lưu bản nháp.”

Ba chiến dịch trước khi nạp tiền

Một tài khoản advertiser có thể tạo tối đa ba chiến dịch self-serve CPA, CPI, hoặc CPC tổng cộng trước khoản nạp tiền advertiser thành công đầu tiên. Các chiến dịch bị tạm dừng, từ chối, và lưu trữ vẫn được tính vì việc tạo và lưu trữ các chiến dịch bỏ đi không được phép vượt qua giới hạn. Sau một khoản nạp tiền thành công, giới hạn tạo cụ thể này không còn áp dụng nữa; các quy tắc review, số dư, payout, ngân sách, và kích hoạt thông thường vẫn áp dụng.

Đọc và lọc chiến dịch

curl --config cpalead-auth.cfg \
  "https://www.cpalead.com/api/v1/advertiser/campaigns?type=CPA&state=paused&page=1&per_page=25"

Điểm cuối danh sách hỗ trợ loại chiến dịch, trạng thái công khai, dấu thời gian updated_since, trang, và bộ lọc per-page. Phân trang mặc định là 25 chiến dịch và cho phép tối đa 100 mỗi trang. Các lựa chọn trạng thái công khai là active, paused, pending_review, paused_for_funding, cap_reached, outside_schedule, denied, archived, và unavailable. Các chiến dịch đã lưu trữ chỉ xuất hiện khi bạn lọc rõ ràng state=archived.

Một tài nguyên chiến dịch bao gồm ID, external ID tùy chọn, phiên bản, loại, tên, creative, tracking, targeting, pricing, schedule, thiết lập quyền truy cập publisher, URL ảnh, dấu thời gian, và trạng thái công khai. Trạng thái cũng bao gồm các gợi ý review, desired-delivery, delivery-reason, và capability. Các gợi ý capability chỉ mang tính khuyến nghị: hãy truy xuất chiến dịch mới nhất và xử lý phản hồi thao tác thực tế vì điều kiện tài khoản, funding, review, hold, và lịch có thể thay đổi.

Cập nhật với bảo vệ phiên bản ETag

Các lần chỉnh sửa chiến dịch dùng cơ chế đồng thời lạc quan. Trước tiên hãy truy xuất chiến dịch và lưu chính xác header phản hồi ETag có dấu ngoặc kép. Sau đó gửi giá trị đó trong If-Match cùng yêu cầu PATCH. Điều này ngăn một trình duyệt, tác nhân, hoặc tích hợp ghi đè âm thầm lên một thay đổi mới hơn được thực hiện ở nơi khác.

# First retrieve the latest campaign and its ETag.
curl --config cpalead-auth.cfg \
  --dump-header campaign-headers.txt \
  "https://www.cpalead.com/api/v1/advertiser/campaigns/12345"

# Then send a reviewed partial update with that exact quoted ETag.
curl --config cpalead-auth.cfg \
  --request PATCH \
  --header "Content-Type: application/json" \
  --header 'If-Match: "COPY_THE_LATEST_ETAG"' \
  --data-binary '{"creative":{"description":"Updated public description"}}' \
  "https://www.cpalead.com/api/v1/advertiser/campaigns/12345"
  • Không có If-Match: API trả về HTTP 428.
  • If-Match lỗi thời: API trả về HTTP 412 với metadata phiên bản hiện tại.
  • Sau 412: Lấy lại chiến dịch, so sánh thay đổi, xin phê duyệt, và thử lại với ETag mới.
  • Sau kết quả mạng không rõ ràng: Lấy lại chiến dịch trước khi gửi một cập nhật khác.

PATCH chỉ chấp nhận các trường chiến dịch công khai. Nó hợp nhất đối tượng một phần được cung cấp với chiến dịch hiện tại và xác thực kết quả đầy đủ. Một số chỉnh sửa có thể yêu cầu review khác hoặc thay đổi phân phối, vì vậy hãy đọc trạng thái phản hồi mỗi lần.

Start và pause là các hành động rõ ràng, không có body

# Start an eligible campaign.
curl --config cpalead-auth.cfg \
  --request POST \
  --header "Idempotency-Key: start-campaign-12345-001" \
  "https://www.cpalead.com/api/v1/advertiser/campaigns/12345/actions/start"

# Pause an eligible campaign.
curl --config cpalead-auth.cfg \
  --request POST \
  --header "Idempotency-Key: pause-campaign-12345-001" \
  "https://www.cpalead.com/api/v1/advertiser/campaigns/12345/actions/pause"

Đừng gửi body JSON — thậm chí cả {} — cho start hoặc pause. Trước khi bắt đầu, hãy xác nhận chiến dịch, số dư, payout hoặc bid, hiệu ứng của launch package, quốc gia, thiết bị, lịch, cap hoặc ngân sách, landing page, và tracking. Sau phản hồi, hãy kiểm tra trạng thái công khai; một chiến dịch có thể được bật nhưng nằm ngoài lịch hằng ngày, bị tạm dừng vì funding, đạt cap, hoặc không thể phân phối vì lý do khác.

Các trạng thái HTTP và lỗi mà một tích hợp nên hiểu

Các trạng thái HTTP phổ biến của Campaign API
Trạng tháiÝ nghĩaHành động của client
200 / 201Đọc/cập nhật thành công hoặc tài nguyên được tạoKiểm tra data, meta, trạng thái, ETag, và Location
400Yêu cầu sai định dạng hoặc thiếu/không hợp lệ idempotency keySửa yêu cầu; đừng thử lại mù quáng
401Token thiếu, không hợp lệ, hết hạn, hoặc đã bị thu hồiSửa hoặc thay thế bí mật
403Token không có quyền cần thiết hoặc quyền truy cập tài khoảnXem lại phạm vi ít đặc quyền nhất và điều kiện đủ điều kiện của tài khoản
404Chiến dịch không khả dụng cho advertiser nàyKiểm tra ID; đừng suy diễn dữ liệu của tài khoản khác
409Xung đột về trạng thái, funding, hold, giới hạn tạo, hoặc idempotencyĐọc mã lỗi ổn định và hành động được khuyến nghị
412ETag lỗi thờiLấy lại, xem xét, và rebase bản cập nhật
415Điểm cuối JSON nhận sai content typeGửi application/json
422Xác thực thất bạiSửa các vấn đề JSON Pointer và xác thực lại
428Cập nhật thiếu If-MatchLấy lại chiến dịch và gửi ETag của nó
429Đã đạt giới hạn tần suấtTuân thủ Retry-After
503Dung lượng hoặc dịch vụ API bắt buộc tạm thời không khả dụngThử lại sau mà không thay đổi ý định idempotent

Tự động hóa dựa trên trạng thái HTTP và error.code ổn định, không chỉ dựa vào cách diễn đạt thông báo. Chi tiết xác thực bao gồm đường dẫn, mã, và thông điệp tiếng Anh đơn giản. Hãy bao gồm request_id của phản hồi khi liên hệ hỗ trợ.

Giới hạn tần suất và thử lại có trách nhiệm

Các yêu cầu Campaign API và xác thực đều bị giới hạn tần suất để bảo vệ advertiser và dịch vụ. Giới hạn có thể thay đổi, vì vậy hãy dùng lược đồ OpenAPI trực tiếp và các header phản hồi thay vì hard-code số lượng yêu cầu. Khi API trả về HTTP 429, hãy đợi Retry-After thay vì lặp lại yêu cầu ngay lập tức. Hãy dùng phân trang, updated_since, và bộ nhớ đệm cục bộ cho các yêu cầu công khai không thay đổi để tránh gọi không cần thiết.

Một prompt bạn có thể đưa cho một tác nhân AI đáng tin cậy

Trước tiên hãy chia sẻ hướng dẫn và URL OpenAPI. Cấu hình token trong phần cài đặt bí mật riêng tư của nền tảng tác nhân; đừng chèn token thật vào prompt này.

Read this CPAlead Campaign API guide and the public OpenAPI schema.

Do not ask me to paste a bearer token into chat. Use only the token configured
privately in the integration. Begin with read and validate operations.

1. Ask whether I am creating CPA, CPI, or CPC.
2. Call the matching requirements endpoint.
3. Ask me for every missing business value and explain any financial,
   tracking, targeting, schedule, review, or delivery effect.
4. Draft strict campaign JSON and validate it.
5. Repair validation errors by their JSON Pointer paths.
6. Show me the final normalized intent and ask for confirmation before
   uploading, creating, updating, starting, or pausing anything.
7. Use a unique idempotency key for create, start, and pause.
8. Retrieve the latest campaign and ETag before an update.
9. After every write, report the campaign ID, public state, request ID,
   warnings, and recommended next step.
10. Never attempt archive or delete because those operations are not in
    the Campaign API.

Danh sách kiểm tra bảo mật cho AI, MCP, plugin, và code

  • Ít đặc quyền nhất: Bắt đầu bằng đọc và xác thực. Chỉ thêm một quyền ghi khi cần.
  • Hết hạn ngắn: Ưu tiên tùy chọn 48 giờ cho một tác vụ thiết lập AI một lần.
  • Token riêng biệt: Cấp cho mỗi tác nhân hoặc tích hợp token có tên riêng của nó.
  • Lưu trữ riêng tư: Giữ token trong phần cài đặt bí mật, không phải URL, prompt, log, analytics, ảnh chụp màn hình, hoặc kho lưu trữ.
  • Xác nhận của con người: Yêu cầu tóm tắt trước khi create, update, start, hoặc pause.
  • Thử lại an toàn: Giữ nguyên cùng key và payload sau một kết quả idempotent không chắc chắn.
  • Kiểm tra phiên bản: Không bao giờ cập nhật mà không truy xuất ETag mới nhất.
  • Kiểm tra phản hồi: Đọc trạng thái công khai và request ID sau mỗi lần ghi.
  • Thu hồi kịp thời: Xóa quyền truy cập khỏi trang Advertising API khi công việc xong hoặc token có thể đã bị lộ.

Câu hỏi thường gặp

Tôi tìm API key CPAlead của mình ở đâu?

Đối với Campaign API, thông tin xác thực được gọi là token Campaign API. Đăng nhập và mở Advertising → Setup → API, rồi dùng Create a token. Hãy sao chép token ngay lập tức vì CPAlead chỉ hiển thị giá trị đầy đủ một lần.

API có thể tạo chiến dịch CPA, CPI, và CPC không?

Có. Mỗi loại có một cấu trúc JSON nghiêm ngặt nhưng khác nhau. Hãy lấy yêu cầu cho loại đó trước khi xây dựng.

Tôi có thể xác thực mà không cho AI tạo bất cứ thứ gì không?

Có. Chỉ cấp cho token campaigns:validate, và tùy chọn campaigns:read. Yêu cầu và xác thực không cần quyền create.

Một phản hồi hợp lệ có nghĩa là chiến dịch đã được duyệt không?

Không. Nó có nghĩa là payload hiện tại vượt qua xác thực và kiểm tra trước khi lưu. Review, funding, quyền truy cập tài khoản, holds, caps, lịch, và trạng thái thời gian thực vẫn áp dụng.

Create có thể khởi chạy chiến dịch ngay lập tức không?

Nó có thể, tùy theo tài khoản và chiến dịch. Nó cũng có thể đi vào review. Luôn kiểm tra trạng thái công khai trả về. Việc kích hoạt CPA hoặc CPI cũng có thể tính phí một launch package đã chọn nhưng chưa thanh toán.

Tôi có thể tải ảnh từ URL từ xa không?

Không. Tải tệp ảnh thông qua POST /images. CPAlead trả về một ID ảnh tạm thời, chỉ dùng một lần.

Tôi có thể tạo nhiều offer cùng lúc không?

Không có thao tác bulk-create. Hãy xác thực và tạo từng chiến dịch một cho mỗi yêu cầu, dùng external ID và idempotency key riêng biệt, và tôn trọng giới hạn tần suất cùng các quy tắc tạo tài khoản.

API có thể lưu trữ hoặc xóa một chiến dịch không?

Không. API công khai hiện tại có thể bắt đầu và tạm dừng các chiến dịch đủ điều kiện nhưng không cung cấp archive hoặc delete. Hãy dùng dashboard advertiser để lưu trữ.

Tại sao bản cập nhật của tôi nhận HTTP 412?

Chiến dịch đã thay đổi sau khi bạn truy xuất nó. Hãy lấy lại, xem dữ liệu mới nhất, hợp nhất thay đổi bạn định thực hiện, và thử lại với ETag mới.

Tại sao create trả về HTTP 409?

Hãy đọc mã lỗi ổn định. Các lý do công khai có thể gồm dùng lại idempotency key hoặc external ID với dữ liệu khác, một yêu cầu trước đó vẫn đang xử lý, giới hạn ba chiến dịch trước khi nạp tiền, các hạn chế funding hoặc tài khoản, một hold, hoặc xung đột trạng thái.

Ứng dụng của tôi có nên sao chép các giới hạn trường từ bài viết này không?

Không. Bài viết này giải thích quy trình làm việc. Ứng dụng của bạn nên đọc yêu cầu trực tiếp và lược đồ OpenAPI để các giá trị hiện tại luôn là nguồn thẩm quyền.

Bảng thông tin Campaign API thân thiện với máy

  • Mục đích: Tạo và quản lý các chiến dịch advertiser tự phục vụ.
  • URL cơ sở: https://www.cpalead.com/api/v1/advertiser
  • OpenAPI: https://www.cpalead.com/api/v1/advertiser/openapi.json
  • Thiết lập token: Mở /en/advertising/api, rồi chọn Campaign API.
  • Các loại chiến dịch được hỗ trợ: CPA, CPI, CPC.
  • Tiền tệ: USD.
  • Múi giờ lịch: UTC.
  • Token AI được khuyến nghị: 48 giờ, với đọc và xác thực trước.
  • Số token hoạt động tối đa: 10.
  • Đầu vào ảnh: JPG/JPEG/PNG/GIF/BMP/WebP, tối đa 2 MiB, 200–4096 pixel mỗi cạnh.
  • Đầu ra ảnh: WebP 200×200 không có metadata; ID tạm thời hết hạn sau 24 giờ và chỉ dùng một lần.
  • An toàn khi thử lại create/start/pause: Idempotency-Key.
  • Đồng thời khi cập nhật: ETag mạnh cộng với If-Match.
  • Macro click CPA/CPI: {CLICK_ID}.
  • Quyền tạo trước khi nạp tiền: ba chiến dịch self-serve tổng cộng.
  • Không có sẵn: archive, delete, bulk create, generic toggle, tạo từ ảnh từ xa.

Bắt đầu với đọc và xác thực

Campaign API được thiết kế để một advertiser có thể bắt đầu một cách thận trọng. Hãy đưa cho một tác nhân đáng tin cậy hướng dẫn công khai và lược đồ, cấp quyền đọc và xác thực, và để nó chuẩn bị yêu cầu mà không thay đổi tài khoản. Khi JSON đã đúng và chủ sở hữu hiểu các tác động có thể có về review, phân phối, và tài chính, chỉ thêm quyền ghi cần thiết cho hành động tiếp theo đã được xác nhận.

Mở Campaign API trong Advertiser API Center để tạo token, hoặc mở lược đồ OpenAPI công khai của Campaign API để kiểm tra hợp đồng hiện tại. Tài liệu Publisher API là riêng biệt và bao gồm việc publisher truy xuất offers và báo cáo. Nếu một phản hồi không rõ ràng, hãy giữ token ở chế độ riêng tư và liên hệ Advertiser Support với request ID công khai và campaign ID.

Bạn có nhận thấy lỗi hoặc một khía cạnh của bài viết này cần được sửa chữa không? Vui lòng cung cấp liên kết bài viết và liên hệ với chúng tôi. Chúng tôi đánh giá cao phản hồi của bạn và sẽ xử lý vấn đề một cách nhanh chóng.