D
API Reference

Marketing Operations API

Endpoint marketing operasi dazo-whitelist-api — campaigns, adsets, ads (list/insight), status update ACTIVE/PAUSED, budget update daily/lifetime, active-campaigns-count, insight_batch. Meta Graph v20.0.

Endpoints operasi kampanye iklan Meta — Campaigns, Ad Sets, Ads. Memungkinkan dazo-whitelist mengontrol status & budget iklan Facebook secara real-time via API engine.

Semua endpoint di bawah middleware: auth:api, myapi.

GET /api/facebook/ad-accounts/{accId}/campaigns — Daftar kampanye

GEThttp://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/campaigns
curl --request GET \
  --url http://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/campaigns

Ambil daftar kampanye iklan akun + insight.

ParamWajibTipe
accId✅string
date_preset❌string (opsional)

Response

json
{
  "status": true,
  "data": [
    {
      "id": "238491234567890",
      "name": "Kampanye Promo",
      "status": "ACTIVE",
      "objective": "OUTCOME_TRAFFIC",
      "daily_budget": 100000,
      "insights": { "reach": 1200, "spend": 45000 }
    }
  ]
}

GET /api/facebook/ad-accounts/{accId}/adsets — Daftar ad set

GEThttp://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/adsets
curl --request GET \
  --url http://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/adsets

Ambil daftar ad set + insight.

ParamWajibTipe
accId✅string

GET /api/facebook/ad-accounts/{accId}/ads — Daftar iklan

GEThttp://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/ads
curl --request GET \
  --url http://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/ads

Ambil daftar iklan spesifik + insight.

ParamWajibTipe
accId✅string

Status update

POST /api/facebook/ad-accounts/{accId}/campaigns/{id}/status

POSThttp://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/campaigns/:campaignId/status
curl --request POST \
  --url http://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/campaigns/:campaignId/status

Update status campaign (ACTIVE / PAUSED).

Request body

FieldWajibTipeNilai
status✅stringACTIVE / PAUSED

POST /api/facebook/ad-accounts/{accId}/adsets/{id}/status

POSThttp://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/adsets/:adSetId/status
curl --request POST \
  --url http://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/adsets/:adSetId/status

Update status ad set (ACTIVE / PAUSED).

POST /api/facebook/ad-accounts/{accId}/ads/{id}/status

POSThttp://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/ads/:adId/status
curl --request POST \
  --url http://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/ads/:adId/status

Update status ad (ACTIVE / PAUSED).

Contoh status update

bash
curl -X POST "http://127.0.0.1:8081/api/facebook/ad-accounts/act_123/campaigns/238491234567890/status" \
  -H "Authorization: Bearer <token>" \
  -H "public-key: <public_key>" \
  -H "Content-Type: application/json" \
  -d '&#123;"status":"PAUSED"&#125;'
json
&#123; "status": true, "data": &#123; "success": true &#125; &#125;

Budget update

POST /api/facebook/ad-accounts/{accId}/campaigns/{id}/budget

POSThttp://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/campaigns/:campaignId/budget
curl --request POST \
  --url http://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/campaigns/:campaignId/budget

Update budget campaign (daily/lifetime).

Request body

FieldWajibTipeKeterangan
budget✅numberBesaran budget (Rupiah)
budget_type✅stringdaily / lifetime

POST /api/facebook/ad-accounts/{accId}/adsets/{id}/budget

POSThttp://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/adsets/:adSetId/budget
curl --request POST \
  --url http://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/adsets/:adSetId/budget

Update budget ad set (daily/lifetime).

Contoh budget update

bash
curl -X POST "http://127.0.0.1:8081/api/facebook/ad-accounts/act_123/campaigns/238491234567890/budget" \
  -H "Authorization: Bearer <token>" \
  -H "public-key: <public_key>" \
  -H "Content-Type: application/json" \
  -d '&#123;"budget":200000,"budget_type":"daily"&#125;'
json
&#123; "status": true, "data": &#123; "success": true &#125; &#125;

GET /api/facebook/ad-accounts/{accId}/active-campaigns-count — Jumlah campaign aktif

GEThttp://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/active-campaigns-count
curl --request GET \
  --url http://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/active-campaigns-count

Hitung jumlah campaign aktif pada akun.

Response

json
&#123;
  "status": true,
  "data": &#123; "active_campaigns_count": 3 &#125;
&#125;

POST /api/facebook/insight_batch — Insight batched

Middleware: Publik (di luar grup auth:api,myapi — verifikasi bila butuh proteksi).

POSThttp://127.0.0.1:8081/api/facebook/insight_batch
curl --request POST \
  --url http://127.0.0.1:8081/api/facebook/insight_batch

Ambil insight batch multi-akun dalam satu request.

Request body

FieldWajibTipe
account_ids✅array
date_preset❌string

Response

json
&#123;
  "status": true,
  "data": [
    &#123; "account_id": "act_123", "insights": &#123; "spend": 50000 &#125; &#125;
  ]
&#125;

GET /api/facebook/ad-accounts/{accId}/insight — (alternatif)

Beberapa klien memanggil POST /api/account/insight untuk insight tunggal akun. Lihat Spend Cap & Balance.

Ringkasan endpoint

MethodEndpointFungsi
GET/api/facebook/ad-accounts/&#123;accId&#125;/campaignsList campaign + insight
GET/api/facebook/ad-accounts/&#123;accId&#125;/adsetsList ad set + insight
GET/api/facebook/ad-accounts/&#123;accId&#125;/adsList ad + insight
POST/api/facebook/ad-accounts/&#123;accId&#125;/campaigns/&#123;id&#125;/statusStatus campaign
POST/api/facebook/ad-accounts/&#123;accId&#125;/adsets/&#123;id&#125;/statusStatus ad set
POST/api/facebook/ad-accounts/&#123;accId&#125;/ads/&#123;id&#125;/statusStatus ad
POST/api/facebook/ad-accounts/&#123;accId&#125;/campaigns/&#123;id&#125;/budgetBudget campaign
POST/api/facebook/ad-accounts/&#123;accId&#125;/adsets/&#123;id&#125;/budgetBudget ad set
GET/api/facebook/ad-accounts/&#123;accId&#125;/active-campaigns-countHitung campaign aktif
POST/api/facebook/insight_batchInsight batch (public)

Error umum

PesanKondisi
(#100) Param status must be ACTIVE or PAUSEDNilai status tidak valid
(#100) Budget must be >= ...Budget di bawah minimum Meta
Graph returned an error: (#17) User request limit reachedMeta rate limit — jeda operasi massal

Langkah berikutnya