Kami akan menghentikan On-Premises API. Lihat Proses Penghentian On-Premises API dokumen untuk detailnya, dan untuk mempelajari cara bermigrasi ke Cloud API generasi berikutnya.

Pengaturan Aplikasi

Pengaturan aplikasi untuk klien di Tempat WhatsApp Business Anda.

Persyaratan

  • Permintaan harus dibuat menggunakan akun admin
  • Semua tanggapan harus mencakup 200 OK HTTPS

Membaca

Mendapatkan pengaturan aplikasi saat ini untuk klien WhatsApp Business di Tempat Anda

Contoh

Kirim permintaan GET ke endpoint /v1/settings/application untuk mendapatkan semua pengaturan aplikasi saat ini.

GET /v1/settings/application

Setelah berhasil, tanggapan berisi <200 OK dan muatan JSON berisi objek application yang mencantumkan semua pengaturan aplikasi saat ini dan nilainya.

Contoh Tanggapan

{
    "settings": {
        "application": {
            "callback_backoff_delay_ms": 3000,
            "callback_persist": true,
            "garbagecollector_enable": {
                "media": false,
                "messages": true
            },
            "heartbeat_interval": 5,
            "max_callback_backoff_delay_ms": 900000,
            "media": {
                "auto_download": [
                    "image",
                    "video",
                    "voice",
                    "sticker",
                    "audio",
                    "document"
                ]
            },
            "notify_user_change_number": true,
            "show_security_notifications": true,
            "unhealthy_interval": 30,
            "wa_id": "16315551019",
            "webhooks": {
               	"url": "<Webhook URL, https>",
               	"max_concurrent_requests": max-concurrent-requests,
               	"message": { // Available for v2.41.2 and above
                  	"sent": true,
                  	"delivered": true,
                  	"read": false
                 },
             },
             "verbose_logging": false,
             "log_level" : "info"
         },
    },
    "meta": {
        "api_status": "stable",
        "version": "3.0.1"
    }
}

Edge

EdgeDeskripsi

/media/providers

Gunakan untuk mengelola daftar penyedia media untuk mengirim tautan media.

Memperbarui

Untuk memperbarui pengaturan aplikasi, kirim permintaan PATCH ke endpoint /v1/settings/application dengan objek JSON yang berisi nama dan nilai kolom yang akan ditetapkan.

Untuk kampanye pesan yang melibatkan pesan dalam jumlah besar, sebaiknya Anda menonaktifkan pengumpulan sampah otomatis dengan mengatur garbagecollector_enable.messages ke false, dan mengaktifkannya kembali setelah kampanye berakhir dengan mengaturnya kembali ke true.

Anda dapat memverifikasi apakah pengumpulan sampah otomatis dinonaktifkan dengan mengirimkan permintaan GET ke endpoint /v1/settings/application dan membaca properti garbagecollector_enable.

Contoh Permintaan

PATCH /v1/settings/application
{
    "callback_persist": true | false,
    "max_callback_backoff_delay_ms": max-delay-in-ms,
    "media": {
        "auto_download": ["audio", "document", "voice", "video", "image", "sticker"]
    }
    "callback_backoff_delay_ms": "delay-in-ms",
    "heartbeat_interval": heartbeat-interval-in-secs,
    "unhealthy_interval": unhealthy-interval-in-secs,
    "webhooks": { 
        # See the Webhooks Parameters table below for more information
        "max_concurrent_requests": max-concurrent-requests,
        "url": "<Webhook URL, https>",
        "message": {              // Available on v2.41.2 and above
                "sent": false,
                "delivered": true,
                "read": false
           },
    },
    "axolotl_context_striping_disabled": false | true,
    "notify_user_change_number": false | true,
    "show_security_notifications": false | true,
    # Available on v2.49.1 and above
    "garbagecollector_enable": {
        "messages": true | false,
        "media": true | false
    }
    "skip_referral_media_download": true | false,
    "webhook_payload_conversation_pricingmodel_disabled": false | true
    # Available on v2.51.1 and above
    "verbose_logging": false | true,
    "log_level" : log-level-str,
}

Jika berhasil, tanggapan berisi 200 OK dengan null atau objek JSON.

Jika Anda menemui kesalahan, lihat Pesan Kesalahan dan Status.

Parameter

Beberapa pengaturan mengharuskan Coreapp dimulai ulang agar perubahan dapat diterapkan. Pengaturan tersebut adalah callback_persist, garbagecollector_enable, verbose_logging, log_level, dan webhooks.max_concurrent_requests.

`log_level`
NamaDeskripsi

axolotl_context_striping_disabled

jenis: Boolean

Memengaruhi batas koneksi database.


Kinerja keluar dan masuk meningkat dengan v2.25. Pengoptimalan ini mengandalkan pembuatan koneksi database tambahan. Untuk beberapa penerapan, ini dapat menyebabkan tercapainya batas koneksi database. Dalam kasus itu, atur konfigurasi axolotl_context_striping_disabled ke true untuk menonaktifkan fitur perbaikan kinerja ini. Tidak ada pengaruh lain pada fungsi CoreApp.


Nilai:true, false (default)

CoreApp perlu dimulai ulang.

callback_backoff_delay_ms

jenis: String

Penundaan mundur untuk panggilan balik yang gagal dalam milidetik.


Pengaturan ini digunakan untuk mengonfigurasi jumlah waktu penundaan backoff sebelum mencoba kembali panggilan balik yang gagal. Penundaan mundur bertambah secara linier dengan nilai ini setiap kali panggilan balik gagal mendapatkan tanggapan HTTPS 200 OK. Penundaan mundur dibatasi oleh pengaturan max_callback_backoff_delay_ms. Contoh: jika callback gagal pertama kali, callback akan dicoba lagi dalam 3000md (3 dtk). Kegagalan kedua akan menghasilkan penundaan 6000md (6 detik) sebelum panggilan balik dicoba lagi. Ini berlanjut sampai panggilan balik berhasil atau penundaan mencapai 900000md (15 menit) setelah itu panggilan balik akan terus dicoba, tetapi penundaan tidak akan bertambah.


Default: 3.000

callback_persist

jenis: Boolean

Menyimpan panggilan balik pada disk hingga berhasil diakui oleh Webhooks atau tidak. Pesan dan panggilan balik keduanya disimpan dalam database lokal demi memastikan bahwa semuanya berhasil dikirim sebelum dihapus dari database lokal. Ini melindungi panggilan balik jika klien atau server API WhatsApp Business down.
Notifikasi yang tidak berhasil (tidak ada HTTPS 200 respon) akan dicoba kembali tanpa batas waktu. Gunakan pengaturan ini untuk mengonfigurasi coba ulang.


Nilai:true (default), false
Coreapp perlu dimulai ulang.

db_garbagecollector_enable

jenis: Boolean

Kolom ini tidak berlaku lagi dengan v2.49.


Memungkinkan pengumpulan sampah otomatis dari database pesan untuk membantu dalam pengelolaan database.


Parameter ini adalah false bagi pengguna dengan pass_through diatur ke false sebelum v2.29. Kami rekomendasikan agar pengaturan ini diaktifkan untuk memastikan database Anda beroperasi dengan stabil. Jika Anda ingin menonaktifkan pengaturan ini, kami rekomendasikan untuk mempertimbangkan penggunaan endpoint /services/message/gc dalam mengelola database.


Nilai:true (default), false

CoreApp perlu dimulai ulang.

garbagecollector_enable

jenis: Objek pengumpul Sampah

Memungkinkan pengumpulan sampah otomatis pesan dan media.


Pengaturan pengumpulan sampah pesan dan media direkomendasikan untuk memastikan penghapusan baris dan file lama/tidak digunakan. Jika dinonaktifkan, pengumpul sampah dapat diinisiasi menggunakan endpoint /services/message/gc dan /services/media/gc. Lihat tabel Parameter Pengumpul Sampah untuk nilainya.


CoreApp perlu dimulai ulang.

heartbeat_interval

jenis: Integer

Interval node Master memonitor node Coreapp dalam hitungan detik.


Default: 5
Berlaku untuk pengaturan Multikoneksi.

max_callback_backoff_delay_ms

jenis: String

Penundaan maksimum untuk panggilan balik yang gagal dalam milidetik. Untuk informasi selengkapnya, baca deskripsi untuk callback_backoff_delay_ms di bawah.


Default: 900000

media

jenis: Array

Daftar media untuk diunduh otomatis. Lihat Pengaturan Media Unduh Otomatis untuk informasi selengkapnya.

notify_user_change_number

jenis: Boolean

Memengaruhi notifikasi sistem user_changed_number.


Nilai:true, false (default)

pass_through

jenis: Boolean

Mulai v2.35, Anda tidak dapat mengaktifkan lagi pengaturan pass_through untuk Klien API WhatsApp Business.


Memungkinkan pesan individu untuk dihapus atau disimpan ke database lokal setelah tersampaikan atau dibaca.


Ketika pesan dikirim, mereka disimpan dalam database lokal. Database ini digunakan sebagai riwayat aplikasi. Karena bisnis menyimpan riwayatnya sendiri, Anda dapat menentukan apakah Anda ingin mengirim pesan pass_through atau tidak.

  • Jika true, itu menghapus pesan dari database lokal setelah pesan tersampaikan atau dibaca oleh penerima.
  • Jika false, itu menyimpan semua pesan di penyimpanan lokal hingga dihapus secara otomatis (misalnya: db_garbagecollector_enable adalah true) atau dihapus secara eksplisit (misalnya: db_garbagecollector_enable adalah false). Lihat dokumentasi Layanan untuk informasi selengkapnya.

Kami rekomendasikan untuk menonaktifkan pass_through agar panggilan balik status dapat berfungsi seperti yang diharapkan.


Nilai:true, false (default)

CoreApp perlu dimulai ulang.

show_security_notifications

jenis: Boolean

Jika diaktifkan, Anda akan menerima notifikasi Webhooks user_identity_changed saat klien API WhatsApp Business mendeteksi pengguna dalam percakapan Anda mungkin berubah. Jika ini terjadi, semua pesan keluar ke pengguna ini akan diblokir sampai Anda mengetahui perubahan identitas untuk pengguna ini menggunakan endpoint identity.


Nilai:true, false (default)

skip_referral_media_download

jenis: Boolean

Jika diatur ke true, gambar atau video yang diklik pengguna pada iklan yang Mengeklik ke WhatsApp tidak diunduh.


Default:false

unhealthy_interval

jenis: Integer

Jumlah maksimum detik node Master menunggu node Coreapp untuk menanggapi heartbeat sebelum menganggapnya tidak sehat dan memulai proses failover.


Default: 30
Berlaku untuk pengaturan Multikoneksi.

webhook_payload_conversation_pricingmodel_disabled

jenis: Boolean

Kolom ini tidak berlaku lagi dengan v2.39.

Kontrol termasuk muatan informasi percakapan dan harga dalam notifikasi status pesan.


Nilai:true, false (default)

CoreApp tidak perlu dimulai ulang.

webhooks

jenis: Objek Webhooks

Wajib saat Anda menggunakan Webhooks.

Menyediakan URL untuk Webhooks Anda. Jika URL Webhooks tidak diatur, panggilan balik akan diabaikan. Lihat Contoh Pengujian Aplikasi untuk cara sederhana melihat dan menguji Webhooks Anda.


Anda dapat memvalidasi peristiwa Webhooks dengan menentukan rahasia bersama sebagai parameter kueri saat Anda mengatur URL Webhooks. Contoh: https://url?auth='[shared_secret]'.

URL Webhooks. Contoh: https://spotless-process.glitch.me/webhook.


Jika URL Webhook tidak diatur, maka panggilan balik akan dibatalkan. Panggilan balik adalah saluran penting untuk menyampaikan notifikasi secara tepat waktu maupun kesalahan out-of-band, dan karena itu, Anda sangat direkomendasikan untuk mengonfigurasi endpoint URL Webhooks. Untuk detail tentang kolom Webhooks, lihat tabel Parameter Webhooks di bawah.

verbose_logging

jenis: Boolean

Mengaktifkan pencatatan verbose di CoreApp. Level pencatatan ini seharusnya hanya digunakan untuk pengujian karena volume output yang tinggi. Jika diatur ke true, atribut log_level diabaikan.


Nilai:true, false (default)

log_level

jenis: Objek Webhooks

Mengonfigurasi level pencatatan di CoreApp. Setiap level secara bertahap mengurangi jumlah catatan output: info memiliki informasi paling banyak, sedangkan fatal hanya berisi kesalahan kritis.


Nilai:info (default), warning, error, fatal

Parameter Webhooks

NamaDeskripsi

max_concurrent_requests

jenis: Integer

Mengonfigurasi jumlah maksimal permintaan panggilan balik dalam penerbangan yang dikirim.


Nilai:6 (default), 12, 18, atau 24
Coreapp perlu dimulai ulang.

url

jenis: String

Notifikasi masuk dan keluar diarahkan ke URL ini. Untuk informasi selengkapnya, lihat dokumentasi Webhooks.


Endpoint berbasis HTTPS diperlukan; HTTP tidak berfungsi.
Contoh:https://spotless-process.glitch.me/webhook

message

jenis: Objek Pesan

Tersedia di v2.41.2 ke atas

Berlapis dalam objek webhooks, hal ini memungkinkan klien untuk mengatur pesan mana yang terkait dengan notifikasi Webhooks yang ingin mereka terima dari daftar ini: sent, delivered, read. Informasi selengkapnya tentang status-status tersebut dapat ditemukan di sini.


Bisnis dapat memilih untuk menerima notifikasi Webhooks ini atau tidak dengan mengatur nilainya menjadi true (default) atau false.

Parameter Media

NamaDeskripsi

auto_download

jenis: Array

Menentukan jenis media yang akan diunduh secara otomatis.


Nilai:audio, document, voice, video, image, sticker

Parameter Pengumpul Sampah

NamaDeskripsi

messages

jenis: Bool

Mengonfigurasi pengumpulan sampah pesan.


Nilai:true (default), false
CoreApp perlu dimulai ulang.

media

jenis: Bool

Mengonfigurasi pengumpulan sampah media.


Nilai:true, false (default)
CoreApp perlu dimulai ulang.

Mereset ke Pengaturan Default

Untuk mereset semua pengaturan aplikasi ke nilai standarnya, kirim permintaan DELETE minta ke endpoint /v1/settings/application.

Contoh Permintaan

DELETE /v1/settings/application

Jika berhasil, tanggapan berisi 200 OK dengan null atau {}.

Jika Anda menemui kesalahan, lihat Pesan Kesalahan dan Status.