CPAlead বিজ্ঞাপনদাতা ক্যাম্পেইন API: অফার তৈরি ও পরিচালনা করুন
আপনার CPAlead ক্যাম্পেইন তৈরি বা পরিচালনায় সাহায্য করার জন্য কি একটি AI agent চান?
এই public guideটি আপনার agent-এর সাথে শেয়ার করুন: https://www.cpalead.com/en/blog/tutorials/cpalead-advertiser-campaign-api-guide
এছাড়াও public OpenAPI schemaটি এখানে শেয়ার করুন: https://www.cpalead.com/api/v1/advertiser/openapi.json. guide এবং schema public; কিন্তু আপনার bearer token public নয়। trusted AI client, MCP server, plugin, বা integration-এ tokenটি আলাদাভাবে secret হিসেবে configure করুন। কখনও public conversation, URL, campaign field, screenshot, বা source-code repository-তে token পেস্ট করবেন না।
Campaign API dashboard access নয়। একটি Campaign API token কেবল আপনি যে campaign permissions নির্বাচন করেন সেগুলোকেই অনুমোদন করে। এটি আপনার CPAlead dashboard-এ sign in করার জন্য ব্যবহার করা যায় না। Publisher AI Access একটি আলাদা publisher-only feature।
CPAlead Campaign API একটি verified self-serve advertiser-কে code, AI agent, MCP server, বা plugin ব্যবহার করে CPA, CPI, এবং CPC campaign-এর সাথে কাজ করতে দেয়। একটি authorized client বর্তমান campaign requirements পড়তে পারে, save করার আগে একটি complete campaign validate করতে পারে, creative upload করতে পারে, campaign তৈরি করতে পারে, campaign list ও retrieve করতে পারে, version protection সহ campaign edit করতে পারে, এবং eligible campaign explicitভাবে start বা pause করতে পারে।
এটি normal advertiser dashboard-এর automation companion। যদি আপনি প্রথমে campaign type, tracking, targeting, payout, cap, funding, review, এবং launch-এর field-by-field ব্যাখ্যা চান, তাহলে পড়ুন 2026-এ CPAlead-এ কীভাবে বিজ্ঞাপন দেবেন: আপনার প্রথম Offer যোগ ও চালু করুন। এই articleটি ব্যবহার করুন যখন আপনি সেই setup-কে structured JSON এবং controlled API actions হিসেবে প্রকাশ করতে প্রস্তুত।
সবচেয়ে নিরাপদ quick-start workflow
- শুধু
campaigns:readএবংcampaigns:validateসহ একটি short-lived Campaign API token তৈরি করুন। - আপনার trusted client-কে public OpenAPI URL দিন এবং tokenটি privately একটি bearer secret হিসেবে configure করুন।
- অনুমান করার বদলে CPA, CPI, বা CPC-এর জন্য
GET /requirementscall করুন। - Complete campaign JSON draft করুন এবং
POST /campaigns/validatecall করুন। - প্রতিটি error, warning, payout, budget, targeting rule, schedule, এবং সম্ভাব্য charge পর্যালোচনা করুন।
- তারপরই কেবল image-upload এবং campaign-create permissions যোগ করুন।
- একটি unique idempotency key দিয়ে create করুন, তারপর returned review এবং delivery state inspect করুন।
- কাজ শেষ হলে token revoke করুন।
Campaign API কী করতে পারে
| Action | Method and path | Permission | Safety rule |
|---|---|---|---|
| Read OpenAPI | GET /openapi.json | Public | No token required |
| Read requirements | GET /requirements | campaigns:validate | Read before building JSON |
| Validate JSON | POST /campaigns/validate | campaigns:validate | Does not create a campaign |
| Upload image | POST /images | assets:create | Temporary, expiring, single-use ID |
| List campaigns | GET /campaigns | campaigns:read | Paginated and filterable |
| Create campaign | POST /campaigns | campaigns:create | Unique Idempotency-Key |
| Get one campaign | GET /campaigns/{campaign} | campaigns:read | Returns the current ETag |
| Update campaign | PATCH /campaigns/{campaign} | campaigns:update | Exact ETag in If-Match |
| Start campaign | POST /campaigns/{campaign}/actions/start | campaigns:toggle | Bodyless and idempotent |
| Pause campaign | POST /campaigns/{campaign}/actions/pause | campaigns:toggle | Bodyless and idempotent |
APIটি বর্তমানে না archive, delete, bulk-create, বা generic toggle operation দেয়। Archive বা delete কাজ dashboard workflow-তেই থাকে। Start এবং pause আলাদা action, যাতে delivery পরিবর্তন করার আগে ব্যক্তি বা AI client স্পষ্ট confirmation চাইতে পারে।
Campaign API এবং Offer API Import আলাদা
- Campaign API: একটি scoped bearer-token API যা আপনার advertiser account-এ campaign validate, create, read, edit, start, এবং pause করে।
- Offer API Import: একটি আলাদা advertiser-dashboard workflow যা compatible external feed থেকে offer পড়ে এবং তার fields-গুলো CPAlead-এ map করে।
Advertiser API Center এই toolগুলোকে আলাদা page-এ রাখে। Sign in করুন, Setup → API খুলুন, তারপর আপনার কাজের সাথে মেলে এমন tool নির্বাচন করুন। যখন আপনার নিজের application, agent, MCP server, বা plugin-এর কাছে ইতিমধ্যেই offer data আছে এবং CPAlead-এর সাথে structured way-তে কাজ করতে হবে, তখন Campaign API ব্যবহার করুন। CPAlead যদি একটি supported offer feed fetch এবং map করে, তবে importer ব্যবহার করুন। কোনো integration-কে তার কাজের প্রয়োজনের চেয়ে বড় token দেবেন না।
Campaign API token তৈরি করুন
- একটি verified self-serve advertiser account-এ sign in করুন।
- Setup → API, তারপর Campaign API নির্বাচন করুন খুলুন।
- Token-টিকে একটি চেনা যায় এমন নাম দিন, যেমন “Campaign validator” বা “My MCP agent.”
- একটি expiration নির্বাচন করুন। AI setup-এর জন্য 48-hour option সুপারিশ করা হয়; 30-day, 90-day, এবং 365-day option-ও উপলভ্য।
- শুধু client-এর প্রয়োজনীয় permission নির্বাচন করুন।
- Token তৈরি করুন এবং সঙ্গে সঙ্গে copy করুন। Page reload হওয়ার পর CPAlead আর complete token দেখাতে পারে না।
- এটিকে trusted client-এর secret configuration-এ সংরক্ষণ করুন এবং কাজ শেষ হলে revoke করুন।
একজন advertiser-এর সর্বোচ্চ 10টি active Campaign API token থাকতে পারে। আলাদা integration-এর জন্য আলাদা token ব্যবহার করুন, যাতে permission সীমিত রাখা, ব্যবহার পর্যালোচনা করা, এবং এক integration বন্ধ করেও অন্যটিকে না থামিয়ে revoke করা যায়।
আপনার Campaign API token কোথায় তৈরি করবেন
একটি Campaign API token হল private API credential যা Authorization header-এ পাঠানো হয়। এটি আপনার CPAlead password নয়, এবং এটি CPAlead dashboard-এ sign in করার জন্য ব্যবহার করা যায় না। Sign in করার পর Setup → API, Campaign API নির্বাচন করুন খুলুন, এবং Create a token form ব্যবহার করুন।
| Permission | Allows | When to grant it |
|---|---|---|
campaigns:read | আপনার campaign দেখা | নিরাপদ starting permission |
campaigns:validate | requirements পড়া এবং JSON validate করা | নিরাপদ starting permission |
assets:create | campaign image upload করা | বাস্তব create বা image edit প্রস্তুত করার সময় |
campaigns:create | একটি campaign তৈরি করা | চূড়ান্ত JSON review হওয়ার পর |
campaigns:update | একটি campaign edit করা | শুধু edit প্রয়োজন হলে |
campaigns:toggle | একটি campaign start বা pause করা | শুধু explicit delivery control-এর সাথে |
Token rule: Public guide এবং OpenAPI URL freely share করুন। Bearer token কেবল আপনি যে client-কে trust করেন তার private secret settings-এর মাধ্যমে শেয়ার করুন। CPAlead একটি secure hash সংরক্ষণ করে এবং তৈরি হওয়ার পর token-এর কেবল শুরুটা দেখায়।
Base URL, authentication, এবং response format
API base: https://www.cpalead.com/api/v1/advertiserOpenAPI: https://www.cpalead.com/api/v1/advertiser/openapi.json
Authenticated request HTTP authorization header-এ token একবার পাঠায়। এটি কখনও URL বা query string-এ রাখবেন না।
Authorization: Bearer YOUR_TOKEN
Accept: application/jsonনিচের curl উদাহরণগুলোর জন্য আরও নিরাপদ setup হলো authorization header-টি একটি local curl configuration file-এ সংরক্ষণ করা, যা source control থেকে বাদ থাকবে এবং কেবল আপনি পড়তে পারবেন:
# cpalead-auth.cfg
header = "Authorization: Bearer YOUR_TOKEN"
header = "Accept: application/json"
# Restrict the file before using it:
chmod 600 cpalead-auth.cfgএকটি সফল response-এ data object বা list-এর সাথে meta থাকে। Metadata-তে একটি request_id এবং বর্তমান schema version থাকে, এবং pagination, resource version, বা idempotent-replay flag-ও থাকতে পারে। একটি error response-এ error object-এর সাথে meta থাকে। support-এর সাথে সমস্যা সমাধানের সময় public request_id সংরক্ষণ করুন, কিন্তু কখনও support-কে আপনার bearer token পাঠাবেন না।
Step 1: Live requirements পড়ুন
Requirements হলো account এখন কী submit করতে পারে তার source of truth। এতে বর্তমান schema এবং terms version, account creation eligibility, supported countries এবং devices, field limits, campaign-type rules, pricing ranges, schedules, launch packages, tracking requirements, image rules, এবং recommended workflow অন্তর্ভুক্ত থাকে।
curl --config cpalead-auth.cfg \
"https://www.cpalead.com/api/v1/advertiser/requirements?type=CPA"Response সীমিত করতে type=CPA, type=CPI, বা type=CPC ব্যবহার করুন। পুরনো উদাহরণ থেকে schema version, terms version, payout limit, bid, budget, launch package, country, device, বা minimum app version hard-code করবেন না। Server যদি জানায় যে কোনো value বা version out of date, তাহলে requirements আবার fetch করুন।
তিনটি campaign type
- CPA: ঘোষিত action-এর জন্য pay করে। Tracking URL-এ অবশ্যই
{CLICK_ID}থাকতে হবে, এবং preview URL, conversion goal, daily cap, এবং launch package create shape-এর অংশ। - CPI: install বা configured app event-এর জন্য pay করে। এটি
{CLICK_ID}ব্যবহার করে এবং device platform, tracking method, supported iOS version, এবং proxy handling-এর মতো app-oriented choice যোগ করে। - CPC: valid click-এর জন্য pay করে। এটি conversion payout, daily cap, এবং launch package-এর বদলে bid এবং daily budget ব্যবহার করে।
সব Campaign API money value USD-এ হয়, এবং API schedule UTC ব্যবহার করে। Returned requirements পড়ুন এবং request অনুমোদনকারী ব্যক্তিকে সেই তথ্য দেখান।
Step 2: Campaign image upload করুন
Create request remote image URL গ্রহণ করে না। প্রথমে fileটি multipart form data হিসেবে upload করুন, তারপর returned temporary image ID-টি image_upload_id-এ রাখুন।
curl --config cpalead-auth.cfg \
--request POST \
--form "[email protected]" \
"https://www.cpalead.com/api/v1/advertiser/images"
- Accepted sources: JPG, JPEG, PNG, GIF, BMP, এবং WebP।
- Maximum file size: 2 MiB।
- Source width and height: প্রতিটি 200 থেকে 4096 pixel-এর মধ্যে হতে হবে।
- Stored result: non-animated, metadata-free 200×200 WebP crop।
- Unused upload lifetime: 24 hours।
- Outstanding-upload limit: সর্বোচ্চ 25 current unused image upload।
- Use: একটি campaign create বা image update। অন্য campaign-এর জন্য আবার upload করুন।
Validation check করতে পারে যে একটি image ID আপনার account-এর এবং তা consume না করেই ব্যবহারযোগ্য আছে। Successful campaign write এটি consume করে। একই completed create-কে একই idempotency key দিয়ে আবার চালালে stored result ফেরে; consume হওয়া image দিয়ে দ্বিতীয় campaign তৈরি হয় না।
Step 3: Complete campaign JSON তৈরি করুন
APIটি strict JSON object ব্যবহার করে। Unknown field silently ignore না হয়ে reject হয়। ফলে AI integration আরও নিরাপদ হয়: misspelled বা invented property accidental campaign setting না হয়ে visible validation issue হয়ে যায়।
নিচের CPA exampleটি একটি template, submit করার জন্য প্রস্তুত campaign নয়। আপনার real offer-এর জন্য reviewed value দিয়ে প্রতিটি COPY_FROM_REQUIREMENTS value, image ID, URL, payout, country, cap, এবং public description replace করুন।
{
"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
}
}
গুরুত্বপূর্ণ CPA এবং CPI tracking rule
Tracking URL-এ অবশ্যই exact {CLICK_ID} macro থাকতে হবে। আপনার tracker বা affiliate platform-কে সেখানে CPAlead যে numeric value insert করে তা save করতে হবে এবং conversion-এর পরে সেই saved click ID CPAlead advertiser postback-এ ফেরত দিতে হবে। Campaign tracking URL-এ CPAlead-এর postback URL রাখবেন না। পুরো click-to-postback ব্যাখ্যার জন্য public advertiser postback guide ব্যবহার করুন।
Step 4: তৈরি করার আগে validate করুন
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 HTTP 200 সহ data.valid, একটি errors list, এবং একটি warnings list ফেরত দেয়। 200 response-এও valid: false থাকতে পারে, তাই client-কে HTTP status-কে একাই অনুমোদন হিসেবে না ধরে সেই value inspect করতে হবে। প্রতিটি issue /tracking/url, /pricing/payout, বা /image_upload_id-এর মতো JSON Pointer path ব্যবহার করে। একটি AI agent-কে শুধু নির্দেশিত field-টিই repair করতে হবে, আবার validate করতে হবে, এবং create permission চাইবার আগে account owner-কে final JSON দেখাতে হবে।
একটি valid response মানে payloadটি বর্তমান validation এবং persistence preflight পাস করেছে। এটি approval, activation, traffic, conversions, বা ভবিষ্যৎ যোগ্যতার promise নয়। Real-time review, funding, account access, hold, schedule, cap, এবং state check এখনও write এবং lifecycle action-এ প্রযোজ্য।
Step 5: Idempotency সহ নিরাপদে create করুন
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, এবং pause-এর জন্য 8 থেকে 200 visible ASCII character-সহ একটি Idempotency-Key দরকার। প্রতিটি intended action-এর জন্য নতুন key ব্যবহার করুন। Connection ব্যর্থ হলে এবং actionটি সম্পন্ন হয়েছিল কি না না জানলে, একই key দিয়ে identical action পুনরায় চেষ্টা করুন। CPAlead একই জিনিস দুবার create বা charge না করে completed response replay করতে পারে।
- Same key and same intent: Completed response
meta.idempotent_replay=trueসহ replay করা যেতে পারে। - Same key with changed details: API একটি idempotency conflict ফেরত দেয়।
- Same external ID with changed details: API-ও একটি conflict ফেরত দেয়।
- Previous request still processing: Report করা interval অপেক্ষা করুন, তারপর একই key দিয়ে একই intent পুনরায় চেষ্টা করুন।
Optional external_id হলো create operation-এর জন্য আপনার নিজস্ব স্থায়ী reference। Reconciliation সহজ করতে পারে, কিন্তু ভিন্ন intended campaign-এর জন্য এটি পুনরায় ব্যবহার করা যাবে না।
Creation-এর বাস্তব প্রভাব থাকতে পারে। Account settings, review, balance, schedule, এবং campaign type অনুযায়ী একটি নতুন campaign review-এর জন্য submit হতে পারে বা run করার যোগ্য হতে পারে। CPA এবং CPI campaign start বা activate করলে unpaid selected launch package charge হতে পারে। Create মানে “save draft” ধরে নেওয়ার বদলে সবসময় returned public state এবং financial requirements inspect করুন।
Deposit-এর আগে তিনটি campaign
একটি advertiser account প্রথম successful advertiser deposit-এর আগে সর্বোচ্চ তিনটি মোট self-serve CPA, CPI, বা CPC campaign তৈরি করতে পারে। Paused, denied, এবং archived campaign-ও গণনা হয়, কারণ throwaway campaign তৈরি ও archive করা এই limit এড়াতে পারবে না। Successful deposit-এর পরে এই নির্দিষ্ট creation limit আর প্রযোজ্য নয়; normal review, balance, payout, budget, এবং activation rule তখনও প্রযোজ্য থাকে।
Campaign read এবং filter করুন
curl --config cpalead-auth.cfg \
"https://www.cpalead.com/api/v1/advertiser/campaigns?type=CPA&state=paused&page=1&per_page=25"List endpoint campaign type, public state, updated_since timestamp, page, এবং per-page filter সমর্থন করে। Pagination-এর default 25 campaigns এবং page-প্রতি সর্বোচ্চ 100 অনুমতি দেয়। Public state choice হলো active, paused, pending_review, paused_for_funding, cap_reached, outside_schedule, denied, archived, এবং unavailable। Archived campaign কেবল তখনই দেখা যায় যখন আপনি স্পষ্টভাবে state=archived filter করেন।
একটি campaign resource-এ এর ID, optional external ID, version, type, name, creative, tracking, targeting, pricing, schedule, publisher-access setting, image URL, timestamps, এবং public state থাকে। State-এ review, desired-delivery, delivery-reason, এবং capability hint-ও থাকে। Capability hint advisory: সর্বশেষ campaign retrieve করুন এবং বাস্তব operation response handle করুন, কারণ account, funding, review, hold, এবং schedule condition পরিবর্তিত হতে পারে।
ETag version protection সহ update করুন
Campaign edit optimistic concurrency ব্যবহার করে। প্রথমে campaign retrieve করুন এবং exact quoted ETag response header save করুন। তারপর PATCH request-এর সাথে সেই value If-Match-এ পাঠান। এতে একটি browser, agent, বা integration অন্যত্র করা নতুন পরিবর্তন নীরবে overwrite করা থেকে রক্ষা পায়।
# 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"
- No If-Match: API HTTP 428 ফেরত দেয়।
- Stale If-Match: API বর্তমান version metadata সহ HTTP 412 ফেরত দেয়।
- 412-এর পরে: campaign আবার retrieve করুন, পরিবর্তন তুলনা করুন, approval চান, এবং নতুন ETag দিয়ে retry করুন।
- Unclear network result-এর পরে: আরেকটি update পাঠানোর আগে campaign retrieve করুন।
PATCH কেবল public campaign field গ্রহণ করে। এটি সরবরাহ করা partial object-কে বর্তমান campaign-এর সাথে merge করে এবং complete result validate করে। কিছু edit-এর জন্য আবার review দরকার হতে পারে বা delivery পরিবর্তন হতে পারে, তাই প্রতিবার response state পড়ুন।
Start এবং pause হলো explicit, bodyless action
# 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"Start বা pause করতে JSON body পাঠাবেন না—{}-ও নয়। Start করার আগে campaign, balance, payout বা bid, launch-package effect, countries, devices, schedule, cap বা budget, landing page, এবং tracking নিশ্চিত করুন। Response-এর পরে public state inspect করুন; একটি campaign enabled হতে পারে কিন্তু তার daily schedule-এর বাইরে, funding-এর জন্য paused, cap-এ, বা অন্য কারণে delivery দিতে অক্ষম হতে পারে।
একটি integration-এর বোঝা উচিত এমন HTTP status এবং error
| Status | Meaning | Client action |
|---|---|---|
| 200 / 201 | Read/update succeeded or resource created | Inspect data, meta, state, ETag, and Location |
| 400 | Malformed request or missing/invalid idempotency key | Correct the request; do not blind-retry |
| 401 | Missing, invalid, expired, or revoked token | Fix or replace the secret |
| 403 | Token lacks the required permission or account access | Review least-privilege scope and account eligibility |
| 404 | Campaign is unavailable to this advertiser | Check the ID; do not infer another account’s data |
| 409 | State, funding, hold, creation-limit, or idempotency conflict | Read the stable error code and recommended action |
| 412 | Stale ETag | Retrieve, review, and rebase the update |
| 415 | JSON endpoint received the wrong content type | Send application/json |
| 422 | Validation failed | Repair the JSON Pointer issues and validate again |
| 428 | Update is missing If-Match | Retrieve the campaign and send its ETag |
| 429 | Rate limit reached | Honor Retry-After |
| 503 | Required API storage or service is temporarily unavailable | Retry later without changing an idempotent intent |
শুধু message wording-এর ওপর নির্ভর না করে HTTP status এবং stable error.code-এর বিরুদ্ধে automate করুন। Validation details-এ একটি path, code, এবং plain-English message থাকে। Support-এর সাথে যোগাযোগের সময় response-এর request_id অন্তর্ভুক্ত করুন।
Rate limit এবং দায়িত্বশীল retry
Campaign API request এবং authentication rate limited, যাতে advertiser এবং service সুরক্ষিত থাকে। Limit পরিবর্তিত হতে পারে, তাই hard-code করা request count-এর বদলে live OpenAPI schema এবং response headers ব্যবহার করুন। API যখন HTTP 429 ফেরত দেয়, তখন সঙ্গে সঙ্গে request repeat না করে Retry-After মেনে চলুন। অপ্রয়োজনীয় call এড়াতে pagination, updated_since, এবং অপরিবর্তিত public requirements-এর local caching ব্যবহার করুন।
একজন trusted AI agent-কে আপনি দিতে পারেন এমন একটি prompt
প্রথমে guide এবং OpenAPI URL শেয়ার করুন। Agent platform-এর private secret settings-এ token configure করুন; এই prompt-এ real token ঢোকাবেন না।
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.
AI, MCP, plugin, এবং code-এর জন্য security checklist
- Least privilege: Read এবং validate দিয়ে শুরু করুন। প্রয়োজন হলে তবেই একটি write permission যোগ করুন।
- Short expiry: একবারের AI setup কাজের জন্য 48-hour option পছন্দ করুন।
- Separate tokens: প্রতিটি agent বা integration-কে তার নিজস্ব named token দিন।
- Private storage: Token secret settings-এ রাখুন, URL, prompt, log, analytics, screenshot, বা repository-তে নয়।
- Human confirmation: Create, update, start, বা pause করার আগে summary বাধ্যতামূলক করুন।
- Safe retries: অনিশ্চিত idempotent result-এর পরে একই key এবং payload বজায় রাখুন।
- Version checks: সর্বশেষ ETag retrieve না করে কখনও update করবেন না।
- Response checks: প্রতিটি write-এর পরে public state এবং request ID পড়ুন।
- Revoke promptly: কাজ শেষ হলে বা token ফাঁস হতে পারে মনে হলে Advertising API page থেকে access সরিয়ে দিন।
সচরাচর জিজ্ঞাসিত প্রশ্ন
আমার CPAlead API key কোথায় পাব?
Campaign API-এর জন্য credential-টিকে Campaign API token বলা হয়। Sign in করুন এবং Advertising → Setup → API খুলুন, তারপর Create a token ব্যবহার করুন। Tokenটি সঙ্গে সঙ্গে copy করুন, কারণ CPAlead সম্পূর্ণ value কেবল একবারই দেখায়।
API কি CPA, CPI, এবং CPC campaign তৈরি করতে পারে?
হ্যাঁ। প্রতিটি type-এর JSON shape কঠোর কিন্তু আলাদা। এটি build করার আগে ওই type-এর জন্য requirements fetch করুন।
AI-কে কিছু create করতে না দিয়েও কি validate করা যায়?
হ্যাঁ। Token-এ শুধু campaigns:validate, এবং চাইলে campaigns:read দিন। Requirements এবং validation-এর জন্য create permission লাগে না।
Valid response মানে কি campaign approve হয়েছে?
না। এর মানে current payload validation এবং preflight পাস করেছে। Review, funding, account access, hold, cap, schedule, এবং real-time state তখনও প্রযোজ্য।
Create কি সঙ্গে সঙ্গে campaign start করতে পারে?
Account এবং campaign-এর ওপর নির্ভর করে পারে। এটি review-এও যেতে পারে। Returned public state সবসময় inspect করুন। CPA বা CPI activation unpaid selected launch package-ও charge করতে পারে।
আমি কি remote URL থেকে image upload করতে পারি?
না। POST /images দিয়ে image file upload করুন। CPAlead একটি temporary single-use image ID ফেরত দেয়।
আমি কি একসাথে অনেক offer create করতে পারি?
Bulk-create operation নেই। প্রতি request-এ এক campaign validate এবং create করুন, একটি distinct external ID এবং idempotency key ব্যবহার করুন, এবং rate limits ও account creation rules মেনে চলুন।
API কি campaign archive বা delete করতে পারে?
না। বর্তমান public API eligible campaign start এবং pause করতে পারে, কিন্তু archive বা delete প্রকাশ করে না। Archival-এর জন্য advertiser dashboard ব্যবহার করুন।
আমার update কেন HTTP 412 পেল?
আপনি এটি retrieve করার পর campaign পরিবর্তিত হয়েছে। আবার নিন, নতুন data review করুন, আপনার intended change merge করুন, এবং নতুন ETag দিয়ে retry করুন।
Create কেন HTTP 409 ফেরত দিল?
Stable error code পড়ুন। সম্ভাব্য public কারণের মধ্যে রয়েছে ভিন্ন data সহ reused idempotency key বা external ID, আগের request এখনও processing-এ থাকা, তিন-campaign pre-deposit limit, funding বা account restriction, hold, অথবা state conflict।
আমার application কি এই article থেকে field limits নকল করবে?
না। এই article workflow ব্যাখ্যা করে। আপনার application-এর live requirements এবং OpenAPI schema পড়া উচিত, যাতে current value-ই authoritative থাকে।
Machine-friendly Campaign API fact sheet
- Purpose: Self-serve advertiser campaign তৈরি ও পরিচালনা করা।
- Base URL:
https://www.cpalead.com/api/v1/advertiser - OpenAPI:
https://www.cpalead.com/api/v1/advertiser/openapi.json - Token setup:
/en/advertising/apiখুলুন, তারপর Campaign API নির্বাচন করুন। - Supported campaign types: CPA, CPI, CPC.
- Currency: USD.
- Schedule timezone: UTC.
- Recommended AI token: প্রথমে read এবং validate সহ 48 hours।
- Maximum active tokens: 10.
- Image input: JPG/JPEG/PNG/GIF/BMP/WebP, সর্বোচ্চ 2 MiB, প্রতি পাশে 200–4096 pixels।
- Image output: 200×200 metadata-free WebP; temporary ID 24 hours পরে expire হয় এবং single-use।
- Create/start/pause retry safety:
Idempotency-Key. - Update concurrency: strong ETag plus
If-Match. - CPA/CPI click macro:
{CLICK_ID}. - Pre-deposit creation allowance: মোট তিনটি self-serve campaign।
- Not available: archive, delete, bulk create, generic toggle, remote-image create.
Read এবং validate দিয়ে শুরু করুন
Campaign API এমনভাবে design করা যে advertiser সতর্কভাবে শুরু করতে পারে। Trusted agent-কে public guide এবং schema দিন, read ও validation access grant করুন, এবং account না বদলিয়ে request প্রস্তুত করতে দিন। যখন JSON সঠিক হবে এবং owner সম্ভাব্য review, delivery, এবং financial effect বুঝবেন, তখন পরবর্তী confirmed action-এর জন্য প্রয়োজনীয় write permission-ই কেবল যোগ করুন।
Token তৈরি করতে Advertiser API Center-এ Campaign API খুলুন, অথবা বর্তমান contract inspect করতে public Campaign API OpenAPI schema খুলুন। Publisher API documentation আলাদা এবং এটি publisher-দের offer retrieve ও reporting কভার করে। Response যদি অস্পষ্ট হয়, token private রাখুন এবং public request ID ও campaign ID সহ Advertiser Support-এর সাথে যোগাযোগ করুন।
আপনি কি এই পোস্টে একটি ত্রুটি বা সংশোধনের প্রয়োজনীয়তা লক্ষ্য করেছেন? দয়া করে পোস্টের লিঙ্ক প্রদান করুন এবং আমাদের সাথে যোগাযোগ করুন. আমরা আপনার প্রতিক্রিয়া মূল্যায়ন করি এবং সমস্যাটি দ্রুত সমাধান করব.