Logo Site EngageLab Full Black
Hubungi Sales

API Tambah Domain Situs

Tambahkan satu domain ke aplikasi WebPush VIP. SDK, Service Worker, dan izin pengguna disiapkan secara terpisah.

Gunakan Basic Auth dengan AppKey dan MasterSecret di pusat data yang benar. domain wajib, memakai validasi penyimpanan portalweb sebagai dasar, harus diawali https:// secara eksplisit, dan hanya menerima huruf kecil. Domain serta IPv4 diterima dengan atau tanpa port numerik; IPv6 ditolak. Aturan penerimaan yang dikonfirmasi juga menerima port 65536, sehingga 65535 bukan batas penerimaan. 0 dan port dengan nol di depan tetap ditolak. Satu / akar di akhir diperbolehkan dan setara dengan bentuk tanpa garis miring saat memeriksa duplikat. Segmen seperti /page, kueri, fragmen, spasi, localhost beserta subdomain dan bentuk bertitik akhir, HTTP, serta wildcard ditolak. IPv4 hanya diperiksa formatnya tanpa pembatasan tujuan atau pemeriksaan DNS, keterjangkauan, dan sertifikat. Masukan valid disimpan tanpa perubahan. request_id opsional, maksimal 128 byte; aturan pengembaliannya dijelaskan di bawah.

Basic Auth

POST /v4/web/domains

DC Base URL
Singapore https://webpushapi-sgp.engagelab.com
Hong Kong https://webpushapi-hk.engagelab.com
Frankfurt https://webpushapi-defra.engagelab.com
Virginia https://webpushapi-usva.engagelab.com
curl -X POST https://webpushapi-sgp.engagelab.com/v4/web/domains \ -u APP_KEY:MASTER_SECRET \ -H "Content-Type: application/json" \ -d '{ "domain": "https://shop-001.example.com", "request_id": "req-001" }'
              
              curl -X POST https://webpushapi-sgp.engagelab.com/v4/web/domains \
  -u APP_KEY:MASTER_SECRET \
  -H "Content-Type: application/json" \
  -d '{
    "domain": "https://shop-001.example.com",
    "request_id": "req-001"
  }'

            
Tampilkan blok kode ini di jendela mengambang

HTTP 200:

{ "request_id": "req-001", "domain_id": "wd_<sha256>", "domain": "https://shop-001.example.com", "integration_status": "pending", "config_status": "ready" }
              
              {
  "request_id": "req-001",
  "domain_id": "wd_<sha256>",
  "domain": "https://shop-001.example.com",
  "integration_status": "pending",
  "config_status": "ready"
}

            
Tampilkan blok kode ini di jendela mengambang

integration_status: pending / integrated. config_status: ready (pending: reserved).

HTTP Code Message
400 21003 Invalid request
400 23010 Rate limit exceeded for the API
400 27600 INVALID_DOMAIN
400 27601 DOMAIN_ALREADY_EXISTS
403 27602 DOMAIN_ADD_FORBIDDEN
403 27603 DOMAIN_QUOTA_EXCEEDED
401 21004 Authentication failed
503 21030 Retry the same domain
{ "error": { "code": 27601, "message": "DOMAIN_ALREADY_EXISTS" }, "request_id": "req-001", "domain_id": "wd_<sha256>", "domain": "https://shop-001.example.com", "integration_status": "pending", "config_status": "ready" }
              
              {
  "error": {
    "code": 27601,
    "message": "DOMAIN_ALREADY_EXISTS"
  },
  "request_id": "req-001",
  "domain_id": "wd_<sha256>",
  "domain": "https://shop-001.example.com",
  "integration_status": "pending",
  "config_status": "ready"
}

            
Tampilkan blok kode ini di jendela mengambang

Permintaan duplikat berurutan tidak menghabiskan kuota tambahan. Perbandingan mengabaikan kapitalisasi, garis miring akhir, dan port default 443. Domain baru mempertahankan host huruf kecil yang valid dan port yang dikirim. Domain yang ada mempertahankan bentuk tersimpan dan status integrasinya. Duplikat mengembalikan HTTP 400 dan data yang ada. API menggunakan kuota konsol. Kirim penambahan secara berurutan dan hindari perubahan bersamaan di konsol; penulisan serentak dapat saling menimpa. Penyebaran konfigurasi mengikuti perilaku konsol yang ada dan mungkin tertunda. Operasi API dicatat dalam log layanan, tanpa entri dalam riwayat operasi konsol. Setelah batas waktu atau 5xx, coba lagi dengan domain yang sama. Penghapusan, perubahan, penambahan massal, dan pembelian kuota tidak tersedia. API ini menggunakan kuota QPS aplikasi yang sudah ada di deviceapi; jika belum dikonfigurasi, nilai default sistem berlaku. Penghitungan terpisah berdasarkan AppKey dan API; panggilan duplikat juga menggunakan QPS. Jika batas terlampaui, API mengembalikan HTTP 400 dengan kode 23010 (Rate limit exceeded for the API). Coba lagi setelah jeda dengan backoff.

Validasi permintaan, kode kesalahan, dan request_id

Badan permintaan dibatasi hingga 4 KiB. domain harus berupa string yang tidak kosong. Nilai yang hilang, null, kosong, angka, boolean, array atau objek, JSON tidak valid atau lebih dari satu nilai JSON, badan terlalu besar, atau request_id melebihi 128 byte menghasilkan HTTP 400 / 21003 Invalid request tanpa request_id. String tidak kosong dengan format domain tidak valid menghasilkan HTTP 400 / 27600 INVALID_DOMAIN.

Setelah struktur permintaan lolos validasi, request_id yang valid dan tidak kosong dikembalikan tanpa perubahan dalam respons bisnis berikutnya, termasuk 27600, 27601, dan kesalahan batas QPS 23010. Kolom dihilangkan jika tidak diberikan atau kosong. Header Basic tidak valid yang ditolak sebelum penguraian badan juga tidak mengembalikan request_id.

Batas menggunakan app_qps aplikasi, atau nilai default bisnis jika tidak ada atau bernilai 0; tidak ada ambang tetap untuk semua aplikasi. Penghitungan terpisah berdasarkan AppKey + /v4/web/domains. Permintaan duplikat memakai QPS dan batas diperiksa sebelum pemeriksaan domain duplikat. Jika terlampaui, responsnya HTTP 400 / 23010 Rate limit exceeded for the API, bukan HTTP 429. Coba lagi dengan backoff.

{"error":{"code":21003,"message":"Invalid request"}}
              
              {"error":{"code":21003,"message":"Invalid request"}}

            
Tampilkan blok kode ini di jendela mengambang
{"request_id":"invalid-domain","error":{"code":27600,"message":"INVALID_DOMAIN"}}
              
              {"request_id":"invalid-domain","error":{"code":27600,"message":"INVALID_DOMAIN"}}

            
Tampilkan blok kode ini di jendela mengambang
{"request_id":"qps-example","error":{"code":23010,"message":"Rate limit exceeded for the API"}}
              
              {"request_id":"qps-example","error":{"code":23010,"message":"Rate limit exceeded for the API"}}

            
Tampilkan blok kode ini di jendela mengambang
Icon Solid Transparent White Qiyu
Hubungi Sales