Skip to content
cloud pbx
  • Home
  • Produk & Layanan
    • Cloud PBX
      • Enterprise PBX
      • Multi Tenant Cloud PBX
      • Cloud PBX Office
      • Cloud PBX Lite
      • Cloud PBX Hotel
      • Cloud Call Center
        • Cloud Call Center
        • Call center customer service
        • Call Center Telemarketing
        • Customer Service AI
      • Cloud SIP Trunk
    • Layanan
      • Data & Integration
        • Optimalisasi Monitoring 3CX, Grafana, dan SQL Dashboard
        • Wallboard Custom – Dimension
        • Custom – API
        • Integrasi CRM Apapun dengan 3CX
      • Solusi Contact Center
        • Omni Channel Customer Service
        • Telemarketing – Predictive Dialer
        • Solusi Business Process Outsourcing
      • Solusi Channel Komunikasi
        • Microsoft Teams Direct Routing
        • Whatsapp business calling API dengan PBX
        • Video conference
        • Webrtc softphone
        • Softphone
    • AI Agent Integrasi API: Solusi Customer Service Otomatis 24/7
  • Devices
    • Voice Gateway
      • FXO
        • Dinstar FXO Gateway
        • Yeastar FXO Gateway
      • FXS
        • Solusi Integrasi Telepon Analog: Dinstar
      • E1
        • E1/T1 Digital VoIP Gateway Newrock OM1000-TE (1–4 E1)
        • Beronet E1 Voip Gateway
    • IP Phone
      • Fanvil
      • SNOM D140, D150
      • Yealink IP Phone series
      • Poly Desk Phone (MS-Teams)
    • SBC
      • Mikro SBC 3CX
  • Case Studies
  • News
  • Video
    • Tutorial
    • Integrasi
    • Testimoni
  • Pusat Bantuan
  • Hubungi Kami
  • Partner
  • Tentang kami
cloud pbx
  • Home
  • Produk & Layanan
    • Cloud PBX
      • Enterprise PBX
      • Multi Tenant Cloud PBX
      • Cloud PBX Office
      • Cloud PBX Lite
      • Cloud PBX Hotel
      • Cloud Call Center
        • Cloud Call Center
        • Call center customer service
        • Call Center Telemarketing
        • Customer Service AI
      • Cloud SIP Trunk
    • Layanan
      • Data & Integration
        • Optimalisasi Monitoring 3CX, Grafana, dan SQL Dashboard
        • Wallboard Custom – Dimension
        • Custom – API
        • Integrasi CRM Apapun dengan 3CX
      • Solusi Contact Center
        • Omni Channel Customer Service
        • Telemarketing – Predictive Dialer
        • Solusi Business Process Outsourcing
      • Solusi Channel Komunikasi
        • Microsoft Teams Direct Routing
        • Whatsapp business calling API dengan PBX
        • Video conference
        • Webrtc softphone
        • Softphone
    • AI Agent Integrasi API: Solusi Customer Service Otomatis 24/7
  • Devices
    • Voice Gateway
      • FXO
        • Dinstar FXO Gateway
        • Yeastar FXO Gateway
      • FXS
        • Solusi Integrasi Telepon Analog: Dinstar
      • E1
        • E1/T1 Digital VoIP Gateway Newrock OM1000-TE (1–4 E1)
        • Beronet E1 Voip Gateway
    • IP Phone
      • Fanvil
      • SNOM D140, D150
      • Yealink IP Phone series
      • Poly Desk Phone (MS-Teams)
    • SBC
      • Mikro SBC 3CX
  • Case Studies
  • News
  • Video
    • Tutorial
    • Integrasi
    • Testimoni
  • Pusat Bantuan
  • Hubungi Kami
  • Partner
  • Tentang kami
cloud pbx

IP Phone

4
  • Factory Reset IP Phone: Langkah Wajib Sebelum Provisioning Biar Nggak Error
  • Daftar IP Phone yang kompatibel dengan 3CX
  • Apa itu Ip Phone?
  • Cara install/Provisioning IP Phone

3CX Softphone: Webclient and Apps

6
  • Digital Receptionist (IVR): Cara Bikin Menu Telepon Otomatis yang Profesional
  • Cara Mudah Mengatur Status Available, Away, dan DND di 3CX
  • Belajar Fitur Komunikasi Dasar 3CX dalam 5 Menit
  • Cara Instalasi dan Aktivasi 3CX Desktop App di Windows (PWA & Windows App)
  • Aktivasi 3CX Mobile App dengan QR Code
  • Cara Mengakses 3CX web client

3CX Admin Console & Manajemen Sistem

7
  • FITUR BACKUP DAN RESTORE
  • Apa Itu FXO? Cara Mudah Menghubungkan Telepon Lama ke Sistem VoIP
  • Apa Itu SBC? Kenalan dengan “Satpam” yang Menjaga Sistem VoIP Kamu
  • Office Hours & Holiday Rules Biar Telepon Bisnis Tetap Rapi, Bahkan Saat Kantor Tutup
  • Manajemen Departemen & Users di 3CX: Cara Tambah User, Atur Role, dan Kelola Departemen dengan Mudah
  • Ring Groups vs Call Queues di 3CX: Biar Customer Nggak Nunggu Lama, Tim Kamu Juga Nggak Keteteran
  • Cara Setup Router Phone / 3CX SBC untuk Karyawan Remote & WFH

Keamanan VoIP dan Troubleshoot

3
  • Cara Membuka Blokir IP Akibat Salah Password Berkali-kali
  • Mengatasi One-Way Audio di 3CX Telepon Nyambung Tapi Suara Cuma Kedengeran Sepihak?
  • 3CX Firewall Checker: Cara Cek Port 3CX Supaya Telepon Tetap Lancar

Developer

6
  • Aplikasi Softphone flutter WebRTC meggunakan package sip_UA.
  • WebRTC SBC Gateway Integration for Flutter
  • Mengoptimalkan Kolaborasi Perusahaan Melalui 3CX Video Conference API
  • Transformasi Arsitektur Telepon Perusahaan dengan WebRTC SBC Gateway
  • Panduan Endpoint REST API XAPI untuk Konfigurasi 3CX
  • Panduan Struktur & Deskripsi XML Template CRM 3CX

SIP TRUNK

3
  • Ada Berapa Jenis Nomor atau Layanan SIP Trunk?
  • Apa Itu SIP Trunk?
  • Manajemen SIP Trunk Cara Menghubungkan Nomor Telepon Provider Lokal ke 3CX
View Categories
  • Home
  • Pusat Bantuan
  • Developer
  • Panduan Endpoint REST API XAPI untuk Konfigurasi 3CX

Panduan Endpoint REST API XAPI untuk Konfigurasi 3CX

Admin
Updated on July 9, 2026

5 min read

Dokumentasi ini memberikan panduan lengkap mengenai spesifikasi endpoint REST API untuk konfigurasi sistem PBX 3CX. API ini memungkinkan Anda untuk mengelola otentikasi, departemen, pengguna, sistem ekstensi, dan pengecekan versi sistem secara terprogram.

🔗 Base URL & Environment #

Semua permintaan API ditujukan ke FQDN (Fully Qualified Domain Name) dari instance 3CX Anda:

https://{{PBX_FQDN}}

📑 Daftar Isi (Table of Contents) #

  1. Authentication / Authorization
  2. Departemetns Management
  3. Users Management
  4. System & Utilities
  5. Active Calls
  6. Reports & Call History
  7. Trunk & Routing
  8. Phonebok & Contact
  9. System Settings & Utility
  10. Event Logs

1. Authentication / Authorization #

Endpoint: Get Token #

Mengimplementasikan otentikasi dan memberikan access_token berdasarkan peran (role) yang sesuai.

  • HTTP Method: POST

  • URL Endpoint: https://{{PBX_FQDN}}/connect/token

  • Authentication: Wajib (Basic Authentication)

  • Content-Type: application/x-www-form-urlencoded

Request Body #

Parameter Tipe Keterangan
client_id String (Required) Nilai tetap: server_principal_id.
client_secret String (Required) Kunci rahasia (secret key) yang didapatkan setelah mengatur Service Principal.
grant_type String (Required) Nilai tetap: client_credentials.

Response Contoh (200 OK) #

JSON

{
  "token_type": "Bearer",
  "expires_in": 3600,
  "access_token": "ACCESS_TOKEN",
  "refresh_token": null
}
}

Error Response (401 Unauthorized) #

JSON

{
  "error": "unauthorized",
  "error_description": "The request requires valid user authentication."
}

💡 Tip BetterDocs: access_token ini berlaku selama 3600 detik (1 jam). Anda wajib melakukan otentikasi ulang setelah token kedaluwarsa.

2. Departments Management #

Endpoint: Check if Department Exists #

Memeriksa apakah departemen dengan nama tertentu sudah terdaftar di sistem 3CX untuk menghindari duplikasi sebelum membuat baru.

  • HTTP Method: GET

  • URL Endpoint: https://{{PBX_FQDN}}/xapi/v1/Groups?$filter=Name eq '{Nama_Departemen}'

  • Contoh URL: https://{{PBX_FQDN}}/xapi/v1/Groups?$filter=Name eq '3CX Test'

Response Contoh – Jika Departemen Ditemukan (200 OK) #

JSON

{
  "@odata.context": "https://PBX_FQDN/xapi/v1/$metadata#Groups",
  "value": [
    {
      "Name": "DEFAULT",
      "IsDefault": true,
      "HasMembers": true,
      "Number": "GRP0000",
      "Id": 28
    }
  ]
}

Endpoint: Create a Department #

Membuat departemen baru di dalam sistem 3CX dengan konfigurasi bahasa, zona waktu, dan batas nomor layanan panggilan.

  • HTTP Method: POST

  • URL Endpoint: https://{{PBX_FQDN}}/xapi/v1/Groups

  • Content-Type: application/json

Request Body Contoh #

JSON

{
  "AllowCallService": true,
  "Id": 0,
  "Language": "EN",
  "Name": "3CX Test",
  "PromptSet": "1e6ed594-af95-4bb4-af56-b957ac87d6d7",
  "Props": {
    "LiveChatMaxCount": 20,
    "PersonalContactsMaxCount": 500,
    "PromptsMaxCount": 10,
    "SystemNumberFrom": "300",
    "SystemNumberTo": "319",
    "TrunkNumberFrom": "340",
    "TrunkNumberTo": "345",
    "UserNumberFrom": "320",
    "UserNumberTo": "339"
  },
  "TimeZoneId": "51",
  "DisableCustomPrompt": true
}

Response Contoh (201 Created) #

Membawa header Location yang berisi URL ke entitas departemen yang baru dibuat.

JSON

{
  "@odata.context": "https://PBX_FQDN/xapi/v1/$metadata#Groups/$entity",
  "Name": "3CX Test",
  "Id": 35,
  "Language": "EN",
  "Props": {
    "LiveChatMaxCount": 20,
    "PersonalContactsMaxCount": 500,
    "PromptsMaxCount": 10
  },
  "TimeZoneId": "51"
}

Error Response – Nama Duplikat (400 Bad Request) #

JSON

{
  "error": {
    "message": "Name:\nWARNINGS.XAPI.DUPLICATE",
    "details": [
      {
        "target": "Name",
        "message": "WARNINGS.XAPI.DUPLICATE"
      }
    ]
  }
}

Endpoint: Update Department Details #

Mengubah properti atau detail pengaturan dari departemen yang sudah ada.

  • HTTP Method: PATCH

  • URL Endpoint: https://{{PBX_FQDN}}/xapi/v1/Groups({Id_Departemen})

  • Contoh URL: https://{{PBX_FQDN}}/xapi/v1/Groups(123)

Request Body Contoh #

JSON

{
  "Id": 123,
  "Name": "3CX Test Modif",
  "Props": {
    "LiveChatMaxCount": 25,
    "PersonalContactsMaxCount": 600
  }
}
  • Response Sukses: 204 No Content (Tanpa body respon).

Endpoint: Delete a Department #

Menghapus departemen dari sistem 3CX secara permanen berdasarkan ID yang ditentukan.

  • HTTP Method: POST

  • URL Endpoint: https://{{PBX_FQDN}}/xapi/v1/Groups/Pbx.DeleteCompanyById

Request Body #

JSON

{
  "id": 123
}
  • Response Sukses: 204 No Content

  • Response Gagal (404 Not Found): {"error": "Department not found"}

3. Users Management #

Endpoint: Get List of Users #

Mengambil data seluruh pengguna terdaftar, lengkap dengan ID, nama, nomor ekstensi, email, dan keanggotaan grup/departemen mereka.

  • HTTP Method: GET

  • URL Endpoint: https://{{PBX_FQDN}}/xapi/v1/Users

Query Parameters (Opsional untuk Pagination & Filter) #

  • $top: Membatasi jumlah user yang dikembalikan (Default: 100).

  • $skip: Melompati sejumlah data untuk keperluan pagination (Default: 0).

  • $orderby: Mengurutkan data (Contoh: diurutkan berdasarkan Number).

  • $select: Memilih kolom spesifik (Contoh: Id,FirstName,LastName,Number,EmailAddress).

4. System & Utilities #

Endpoint: Get Default Group Properties #

Mengambil properti bawaan dari grup bernama “DEFAULT” guna melihat konfigurasi dasar sistem dan perutean panggilan (call routing).

  • HTTP Method: GET

  • URL Endpoint: https://{{PBX_FQDN}}/xapi/v1/Groups?$filter=Name eq 'DEFAULT'

Response Contoh (200 OK) #

JSON

{
  "@odata.context": "https://PBX_FQDN/xapi/v1/$metadata#Groups",
  "value": [
    {
      "Name": "DEFAULT",
      "IsDefault": true,
      "HasMembers": true,
      "Number": "GRP0000",
      "Id": 95,
      "OfficeRoute": {
        "Route": { "Number": "101", "To": "Extension", "Name": "sysadmin" }
      },
      "OutOfOfficeRoute": {
        "Route": { "Number": "101", "To": "VoiceMail", "Name": "sysadmin" }
      }
    }
  ]
}

Endpoint: Get 3CX Version & Connection Test #

Endpoint utilitas untuk memeriksa status koneksi API sekaligus mengetahui versi sistem 3CX yang sedang berjalan.

  • HTTP Method: GET (atau metode pengecekan standar)

  • Response Header Utama:

    Perhatikan bagian Header saat sukses mendapat respons. Terdapat properti:

    X-3CX-Version: 20.0.x.x (Menandakan versi 3CX aktif).

Dokumentasi ini disadur dari panduan resmi spesifikasi API 3CX.

5. Active Calls #

Endpoint ini digunakan untuk memantau panggilan yang sedang aktif secara real-time.

Endpoint: Get Active Calls Mengambil daftar semua panggilan yang sedang berlangsung di sistem 3CX.

  • HTTP Method: GET
  • URL Endpoint: https://{{PBX_FQDN}}/xapi/v1/ActiveCalls
  • Query Parameters (Opsional):
    • $top: Jumlah maksimal data (default: 100)
    • $skip: Pagination (default: 0)
    • $orderby: Urutkan data (contoh: EstablishedAt desc)
    • $filter: Filter data (contoh: Callee eq ‘101’)

Response Contoh (200 OK)

JSON

{
  "@odata.context": "https://{{PBX_FQDN}}/xapi/v1/$metadata#ActiveCalls",
  "value": [
    {
      "Id": "12345",
      "Caller": "+6281234567890",
      "Callee": "101",
      "EstablishedAt": "2026-07-07T07:45:12Z",
      "Duration": 125,
      "Direction": "Inbound",
      "Queue": null,
      "Status": "Connected"
    }
  ]
}

Catatan: Endpoint ini sangat berguna untuk real-time monitoring (dashboard call center, wallboard, dll).

6. Reports & Call History #

XAPI menyediakan beberapa endpoint khusus untuk mengambil data laporan dan riwayat panggilan.

Endpoint: Call History View Mengambil riwayat panggilan lengkap.

  • HTTP Method: GET
  • URL Endpoint: https://{{PBX_FQDN}}/xapi/v1/CallHistoryView
  • Query Parameters Penting:
    • from & to (format ISO: 2026-07-01T00:00:00Z)
    • $top, $skip, $orderby, $filter

Endpoint Lain untuk Reports (contoh):

  • /xapi/v1/ReportCallLogData/Pbx.GetCallLogData(…)
  • /xapi/v1/ReportAbandonedQueueCalls/Pbx.GetAbandonedQueueCallsData(…)
  • /xapi/v1/ReportQueuePerformanceOverview/…
  • /xapi/v1/ReportAgentLoginHistory/…

Contoh Penggunaan (dengan query):

GET https://{{PBX_FQDN}}/xapi/v1/CallHistoryView?$top=100&$skip=0&from=2026-07-01T00:00:00Z&to=2026-07-07T23:59:59Z

Tips: Gunakan Developer Tools (F12) di Web Console 3CX saat membuka report untuk melihat query parameter yang tepat.

7. Trunks & Routing #

Endpoint: Get Trunks Mengambil daftar SIP Trunks yang terdaftar.

  • HTTP Method: GET
  • URL Endpoint: https://{{PBX_FQDN}}/xapi/v1/Trunks
  • Endpoint: Inbound/Outbound Rules
  • /xapi/v1/InboundRules
  • /xapi/v1/OutboundRules

Contoh Create/Update Trunk (POST/PATCH):

JSON

{
  "Name": "SIP Provider",
  "Host": "sip.provider.com",
  "Port": 5060,
  "Type": "SIP",
  ...
} Catatan: Pengelolaan routing (DID, Caller ID rules) biasanya melalui endpoint terkait Routes atau DialPlans.

8. Phonebook & Contacts #

Endpoint: Global Phonebook

  • GET → https://{{PBX_FQDN}}/xapi/v1/Phonebook
  • POST → Tambah kontak baru
  • PATCH → Update kontak
  • DELETE → Hapus kontak

Contoh Request Body (Create Contact):

JSON

{
  "FirstName": "John",
  "LastName": "Doe",
  "Number": "+628123456789",
  "Email": "[email protected]",
  "Company": "PT ABC"
}

Endpoint ini sangat berguna untuk sinkronisasi kontak dengan CRM.

9. System Settings & Utilities #

Endpoint: System Parameters Mengambil dan mengubah pengaturan sistem secara umum.

  • GET: https://{{PBX_FQDN}}/xapi/v1/SystemParameters
  • PATCH: Update parameter tertentu (contoh: recording settings, security, dll).

Endpoint Lain:

  • /xapi/v1/Defs → Mendapatkan definisi sistem (enums, options)
  • /xapi/v1/Groups?$filter=Name eq ‘DEFAULT’ → Default Group Properties (sudah ada di dokumentasi kamu)

10. Event Logs #

Endpoint: Get Event Logs Mengambil log sistem dan event.

  • HTTP Method: GET
  • URL Endpoint: https://{{PBX_FQDN}}/xapi/v1/EventLogs
  • Query Parameters: $top, $skip, $filter (berdasarkan waktu, severity, dll), $orderby=Timestamp desc

 

Response Contoh:

JSON
{
  "value": [
    {
      "Timestamp": "2026-07-07T07:50:00Z",
      "Severity": "Info",
      "Component": "CallManager",
      "Message": "Call established between 101 and +62812..."
    }
  ]
}

Rekomendasi Tambahan #

  1. Swagger Reference Akses dokumentasi lengkap langsung dari PBX kamu: https://{{PBX_FQDN}}/xapi/v1/swagger.yaml
  2. Best Practice:
    • Selalu gunakan System Owner role untuk akses maksimal.
    • Implementasikan refresh token logic karena token expired setiap 1 jam.
    • Untuk report besar, gunakan pagination ($top + $skip) agar tidak timeout.
    • Gunakan F12 Network tab di 3CX Web Console untuk “spy” endpoint dan parameter yang digunakan sistem.

Transformasi Arsitektur Telepon Perusahaan dengan WebRTC SBC GatewayPanduan Struktur & Deskripsi XML Template CRM 3CX
Table of Contents
  • 🔗 Base URL & Environment
  • 📑 Daftar Isi (Table of Contents)
  • 1. Authentication / Authorization
    • Endpoint: Get Token
      • Request Body
      • Response Contoh (200 OK)
      • Error Response (401 Unauthorized)
  • 2. Departments Management
    • Endpoint: Check if Department Exists
      • Response Contoh - Jika Departemen Ditemukan (200 OK)
    • Endpoint: Create a Department
      • Request Body Contoh
      • Response Contoh (201 Created)
      • Error Response - Nama Duplikat (400 Bad Request)
    • Endpoint: Update Department Details
      • Request Body Contoh
    • Endpoint: Delete a Department
      • Request Body
  • 3. Users Management
    • Endpoint: Get List of Users
      • Query Parameters (Opsional untuk Pagination & Filter)
  • 4. System & Utilities
    • Endpoint: Get Default Group Properties
      • Response Contoh (200 OK)
    • Endpoint: Get 3CX Version & Connection Test
    • 5. Active Calls
    • 6. Reports & Call History
    • 7. Trunks & Routing
    • 8. Phonebook & Contacts
    • 9. System Settings & Utilities
    • 10. Event Logs
    • Rekomendasi Tambahan

Share This Article :

  • Facebook
  • X
  • LinkedIn

Was it helpful ?

  • Happy
  • Normal
  • Sad
  • Home
  • Produk & Layanan
  • Devices
  • Case Studies
  • News
  • Video
  • Pusat Bantuan
  • Hubungi Kami
  • Partner
  • Tentang kami
  • Cloud PBX Enterprise
  • Multi Tenant Cloud PBX
  • Cloud call center
  • Cloud PBX office
  • Click to Talk
  • WebRTC Softphone
  • AI Agent Customer Service
  • Integrasi WABA Calling PBX
  • Integrasi CRM dengan 3CX
  • Pusat Bantuan
  • Patuhi Standar PCI DSS & HIPAA
  • Cara Praktis Efisiensi Komunikasi Hotel
  • Agentic AI: Era Baru Sistem Telepon Cerdas
  • Cloud PBX Office untuk Komunikasi Bisnis
  • Memahami Fitur Call Flow Designer
  • Call Center Hospitality
  • Customer Service WhatsApp dengan 3CX
  • Monitoring PBX dengan Grafana dan SQL Dashboard

PT. Solusi Teknologi Unggul | My Republik Plaza Wing A Ground Level Zona 6, Green Office Park 6. BSD City Tangerang Banten 15345 Tel:+62-21-50111266

Copyright © 2026 PT. Solusi Teknologi Unggul

butuh bantuan? Whatsapp kami
WhatsApp
Hallo 👋, Selamat datang di Solusipbx.com, Terima kasih telah menghubungi kami

Untuk membantu kami memberikan solusi yang tepat, silahkan informasikan Nama, Perusahaan serta
detail kebutuhan anda
Open Chat
Powered by Joinchat