D
API Reference

Facebook OAuth & BM API

Endpoint Facebook OAuth & Business Manager dazo-whitelist-api — oauth-url, callback, accounts, tokens/{id}/businesses, businesses (index/import/destroy), business (accounts/partner/rename/check/ads_account_add), ad-accounts list/import/update-name/check-partnership, import-jobs tracking.

Endpoints manajemen Facebook OAuth & Business Manager. Berisi: connect/disconnect FB account, list/fetch/import BM, dan list/import/rename Ad Accounts. Mayoritas memakai middleware auth:api, myapi.

Facebook OAuth

GET /api/facebook/oauth-url — URL login Facebook OAuth

Middleware: auth:api, myapi

GEThttp://127.0.0.1:8081/api/facebook/oauth-url
curl --request GET \
  --url http://127.0.0.1:8081/api/facebook/oauth-url

Generate URL login Facebook OAuth untuk menghubungkan akun Facebook admin.

Response

json
{
  "status": true,
  "data": {
    "url": "https://www.facebook.com/v20.0/dialog/oauth?client_id=..."
  }
}

GET /api/facebook/callback — Callback redirect OAuth

Middleware: Publik (di luar grup auth:api,myapi)

GEThttp://127.0.0.1:8081/api/facebook/callback
curl --request GET \
  --url http://127.0.0.1:8081/api/facebook/callback

Callback redirect setelah user approve OAuth Facebook. Menerima code dari Facebook, menukar dengan token, menyimpan ke UserFacebookToken.

GET /api/facebook/accounts — Daftar akun Facebook terhubung

Middleware: auth:api, myapi

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

List akun Facebook yang sudah terhubung (dari UserFacebookToken).

Response

json
{
  "status": true,
  "data": [
    { "id": "UUID", "facebook_user_id": "...", "facebook_user_name": "Nama", "is_active": true }
  ]
}

DELETE /api/facebook/accounts/{tokenId} — Disconnect akun

Middleware: auth:api, myapi

DELETEhttp://127.0.0.1:8081/api/facebook/accounts/:tokenId
curl --request DELETE \
  --url http://127.0.0.1:8081/api/facebook/accounts/:tokenId

Putus koneksi akun Facebook berdasarkan token ID.

ParamWajibTipe
tokenId✅UUID/UUID

Business Manager

GET /api/facebook/tokens/{tokenId}/businesses — Fetch BM langsung dari Meta

Middleware: auth:api, myapi

GEThttp://127.0.0.1:8081/api/facebook/tokens/:tokenId/businesses
curl --request GET \
  --url http://127.0.0.1:8081/api/facebook/tokens/:tokenId/businesses

Ambil daftar Business Manager langsung dari Meta Graph (tidak dari DB lokal).

ParamWajibTipe
tokenId✅UUID/UUID

GET /api/facebook/businesses — Daftar BM tersimpan

Middleware: auth:api, myapi

GEThttp://127.0.0.1:8081/api/facebook/businesses
curl --request GET \
  --url http://127.0.0.1:8081/api/facebook/businesses

List Business Manager yang sudah di-import ke database lokal.

POST /api/facebook/businesses/import — Import BM terpilih

Middleware: auth:api, myapi

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

Import Business Manager terpilih ke database (tabel facebook_businesses).

Request body

FieldWajibTipeKeterangan
businessIds✅arrayList BM ID dari fetch
tokenId✅UUID/UUIDToken yang dipakai

DELETE /api/facebook/businesses/{id} — Hapus BM lokal

Middleware: auth:api, myapi

DELETEhttp://127.0.0.1:8081/api/facebook/businesses/:id
curl --request DELETE \
  --url http://127.0.0.1:8081/api/facebook/businesses/:id

Hapus data Business Manager dari database lokal.

POST /api/business — Data single BM

Middleware: auth:api, myapi

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

Ambil single data Business Manager.

POST /api/business/accounts — Akun iklan dalam BM

Middleware: auth:api, myapi

POSThttp://127.0.0.1:8081/api/business/accounts
curl --request POST \
  --url http://127.0.0.1:8081/api/business/accounts

Ambil akun iklan dalam sebuah Business Manager.

POST /api/business/partner — Agensi partner

Middleware: auth:api, myapi

POSThttp://127.0.0.1:8081/api/business/partner
curl --request POST \
  --url http://127.0.0.1:8081/api/business/partner

Ambil daftar agensi partner (agency) dari Meta.

POST /api/business/rename — Rename BM

Middleware: auth:api, myapi

POSThttp://127.0.0.1:8081/api/business/rename
curl --request POST \
  --url http://127.0.0.1:8081/api/business/rename

Ubah nama Business Manager di Facebook.

Request body

FieldWajibTipe
business_id✅string
new_name✅string

POST /api/business/check — Validasi business

Middleware: auth:api, myapi

POSThttp://127.0.0.1:8081/api/business/check
curl --request POST \
  --url http://127.0.0.1:8081/api/business/check

Validasi Business Manager.

POST /api/business/ads_account_add — Import akun ke BM lokal

Middleware: auth:api, myapi

POSThttp://127.0.0.1:8081/api/business/ads_account_add
curl --request POST \
  --url http://127.0.0.1:8081/api/business/ads_account_add

Import akun iklan ke business manager lokal (BusinessController::importBusinessAccount).

Ad Accounts

GET /api/facebook/businesses/{bmId}/ad-accounts — List akun dalam BM

Middleware: auth:api, myapi

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

List akun iklan dalam satu Business Manager (dari cache facebook_ad_accounts).

POST /api/facebook/businesses/{bmId}/import-accounts — Trigger import massal

Middleware: auth:api, myapi

POSThttp://127.0.0.1:8081/api/facebook/businesses/:businessId/import-accounts
curl --request POST \
  --url http://127.0.0.1:8081/api/facebook/businesses/:businessId/import-accounts

Trigger background import seluruh akun iklan dalam BM via queue job ImportAdAccountsJob.

Response

json
{
  "status": true,
  "data": {
    "import_job_id": "UUID",
    "status": "queued"
  }
}

POST /api/facebook/ad-accounts/{accId}/update-name — Ubah nama akun

Middleware: auth:api, myapi

POSThttp://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/update-name
curl --request POST \
  --url http://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/update-name

Ubah nama akun iklan di Facebook.

Request body

FieldWajibTipe
name✅string

POST /api/facebook/ad-accounts/{accId}/update-name-with-partner — Rename + assign partner

Middleware: auth:api, myapi

POSThttp://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/update-name-with-partner
curl --request POST \
  --url http://127.0.0.1:8081/api/facebook/ad-accounts/:accountId/update-name-with-partner

Rename akun + assign partner BM agensi.

POST /api/facebook/ad-accounts/check-partnership — Cek partnership

Middleware: auth:api, myapi

POSThttp://127.0.0.1:8081/api/facebook/ad-accounts/check-partnership
curl --request POST \
  --url http://127.0.0.1:8081/api/facebook/ad-accounts/check-partnership

Cek status partnership akun iklan.

Import Jobs

GET /api/facebook/import-jobs/{jobId} — Status import

GEThttp://127.0.0.1:8081/api/facebook/import-jobs/:jobId
curl --request GET \
  --url http://127.0.0.1:8081/api/facebook/import-jobs/:jobId

Cek status/progress import akun.

Response

json
{
  "status": true,
  "data": {
    "id": "UUID",
    "status": "processing",
    "total_items": 500,
    "processed_items": 123,
    "started_at": "2026-08-21T10:00:00+07:00"
  }
}

GET /api/facebook/import-jobs/{jobId}/cancel — Batalkan import

GEThttp://127.0.0.1:8081/api/facebook/import-jobs/:jobId/cancel
curl --request GET \
  --url http://127.0.0.1:8081/api/facebook/import-jobs/:jobId/cancel

Batalkan proses import yang berjalan.

Ringkasan endpoint

MethodEndpointMiddlewareFungsi
GET/api/facebook/oauth-urlauth:api,myapiURL OAuth
GET/api/facebook/callbackPublikCallback OAuth
GET/api/facebook/accountsauth:api,myapiList FB account
DELETE/api/facebook/accounts/{tokenId}auth:api,myapiDisconnect
GET/api/facebook/tokens/{tokenId}/businessesauth:api,myapiFetch BM dari Meta
GET/api/facebook/businessesauth:api,myapiList BM tersimpan
POST/api/facebook/businesses/importauth:api,myapiImport BM
DELETE/api/facebook/businesses/{id}auth:api,myapiHapus BM
POST/api/businessauth:api,myapiSingle BM data
POST/api/business/accountsauth:api,myapiAkun dalam BM
POST/api/business/partnerauth:api,myapiAgensi partner
POST/api/business/renameauth:api,myapiRename BM
POST/api/business/checkauth:api,myapiValidasi BM
POST/api/business/ads_account_addauth:api,myapiImport akun ke BM
GET/api/facebook/businesses/{bmId}/ad-accountsauth:api,myapiList ad accounts
POST/api/facebook/businesses/{bmId}/import-accountsauth:api,myapiImport massal
POST/api/facebook/ad-accounts/{accId}/update-nameauth:api,myapiRename akun
POST/api/facebook/ad-accounts/{accId}/update-name-with-partnerauth:api,myapiRename + partner
POST/api/facebook/ad-accounts/check-partnershipauth:api,myapiCek partnership
GET/api/facebook/import-jobs/{jobId}auth:api,myapiStatus import
GET/api/facebook/import-jobs/{jobId}/cancelauth:api,myapiBatalkan import

Langkah berikutnya