Pengaturan Developer: Instance Tunggal

Dokumen ini menunjukkan kepada Anda cara mengatur satu instance dari klien API WhatsApp Business pada mesin developer untuk tujuan pengujian. Untuk pengaturan produksi, ikuti instruksi relevan yang tercantum di Pengaturan Produksi.

Untuk mulai menyiapkan instance tunggal, lihat daftar persyaratan kami, dan ikuti langkah-langkah ini:

  1. Membuat direktori biz untuk skrip pengaturan
  2. Mendapatkan file konfigurasi Klien API WhatsApp Business
  3. Mengatur variabel lingkungan WA_API_VERSION
  4. Memulai Klien API WhatsApp Business
  5. Memverifikasi kontainer sudah berjalan
  6. Melakukan pemeriksaan kesehatan
  7. Mendaftarkan Klien API WhatsApp Business

Setelah Anda selesai menyiapkan instance, Anda bisa memilih untuk meningkatkannya. Untuk mencopot penginstalan klien, ikuti langkah-langkah ini.

Sebelum Memulai

Sebelum memulai, Anda perlu menyelesaikan hal berikut:

Install Docker Desktop

To install Docker Desktop on your developer machine:

  1. Navigate to the Docker website.
  2. If you do not have an existing Docker account, create one by clicking on Sign Up.
  3. After you have created your account, you will be directed to the Docker download page.
  4. Download Docker Desktop based on your OS (This should be automatically detected and presented as the default option).

The remaining steps are based on macOS and should be very similar for Linux or Windows 10.

To install Docker using macOS:

  1. Install the package (docker.dmg for macOS).
  2. After extraction, Finder will pop-up and you will be presented with a dialog that instructs you to drag the Docker icon to Applications. Drag Docker icon to the Application folder in Finder.
  3. In Applications launch Docker and then click the Open button.
  4. You may be prompted to enter your password Docker needs priviledged/administrator access.
  5. Docker will present you with a tutorial, you can click Start to launch a tutorial or you can click Skip Tutorial to start using Docker.

Verify Docker Compose is installed

Docker Compose is a plugin that is bundled with Docker Desktop and should have installed automatically. For more information about using or Docker Compose, see Overview of Docker Compose. If for some reason Docker Compose was not installed, you can install it by following the instructions located at Install Docker Compose.

Prasyarat lainnya

Pastikan Anda menyiapkan akun uji lokal di lingkungan pengembangan. Ini untuk pengembangan cepat dan untuk menguji rilis baru.

Pengaturan Awal Klien API WhatsApp Business

Perform the following steps to install a single instance of the WhatsApp Business API client on a developer system.

Step 1: Create ~/biz

Create a ~/biz directory for the WhatsApp Business API client.

Step 2: Get Config Files

Clone the WhatsApp Business API Client docker-compose.yml and db.env configuration files from the WhatsApp GitHub repository for either a MySQL database setup or a Postgres database setup to your ~/biz directory.

Step 3: Set the Version

The WA_API_VERSION environmental variable should be set to the current version.

~/biz $ export WA_API_VERSION=CURRENT-WA-API-VERSION

To find the current version of the API that you installed, open docker-compose.yml and search for "WA_API_VERSION=". The version number should be noted by a developer in the wacore label:

    wacore:
    image: docker.whatsapp.biz/coreapp:v${WA_API_VERSION:?Run docker-compose with env var WA_API_VERSION (ex. WA_API_VERSION=2.31.4 docker-compose <command> <options>)}

Step 4: Start the Client

To start the WhatsApp Business API client, run:

~/biz $ docker-compose up -d

The resulting output should look like the following:

Creating volume "biz_whatsappMedia" with local driver
Creating volume "biz_mysqlData" with local driver
Creating biz_db_1 ... done
Creating biz_wacore_1 ... done
Creating biz_waweb_1  ... done

Verify Containers Are Running

You can check that all containers have an UP state by running:

~/biz $ docker-compose ps

By default, the Webapp container will be running on port 9090 (https://localhost:9090) and the database container will be running on port 33060 (https://localhost:33060).

The resulting output should look like the following:

~/biz $ docker-compose ps
     Name                    Command               State                   Ports
-------------------------------------------------------------------------------------------------
biz_db_1       docker-entrypoint.sh mysqld      Up      0.0.0.0:33060->3306/tcp, 33060/tcp
biz_wacore_1   /opt/whatsapp/bin/wait_on_ ...   Up      6250/tcp, 6251/tcp, 6252/tcp, 6253/tcp
biz_waweb_1    /opt/whatsapp/bin/wait_on_ ...   Up      0.0.0.0:9090->443/tcp

Status Check

Send a GET request to /v1/health endpoint to check the status of your client.

On success, you will see the following:

{
    "health": {
        "gateway_status": "unregistered"
    }
}

Register Your Client

To register your WhatsApp Business API client, send a POST request to the /v1/account endpoint.

Upon registration gateway_status will be set connected. Your Coreapp container is able to connect to the WhatsApp server for checking contacts and sending messages.

Next Steps

Meningkatkan Klien API WhatsApp Business

Akan ada waktu henti selama proses peningkatan.

Sangat direkomendasikan untuk mencadangkan pengaturan aplikasi Anda saat ini sebelum meningkatkannya untuk memastikan Anda dapat kembali aktif dengan cepat. Harap ikuti dokumentasi Pencadangan dan Pemulihan.

Lakukan peningkatan selama waktu yang paling tidak sibuk.

Langkah 1: Ubah Variabel Lingkungan WA_API_VERSION ke Versi Baru

Variabel lingkungan WA_API_VERSION harus diperbarui ke nomor versi terbaru menggunakan:

export WA_API_VERSION=new-whatsapp-version

Jika Anda meningkatkan ke versi 2.33.4, contoh perintah adalah:

~/biz $ export WA_API_VERSION=2.33.4

Langkah 2: Mulai ulang Kontainer Docker

Mulai ulang kontainer Docker dengan menjalankan:

docker-compose up -d

Hasil output seharusnya terlihat seperti berikut:

biz_db_1 is up-to-date
Recreating biz_wacore_1 ... done
Recreating biz_waweb_1  ... done

Untuk Pengguna Database MySQL yang Meningkatkan ke Versi v2.23.x ke Atas

Sekarang Anda dapat menggunakan layanan peningkatan database yang memungkinkan Anda untuk meningkatkan database saat aplikasi Anda masih berjalan agar terhindar dari waktu henti.

Langkah 1: Unduh file konfigurasi

File dbupgrade-compose.yml memiliki kolom yang menandakan versi kontainer.

Contoh:

services:
  dbupgrade:
    image: docker.whatsapp.biz/coreapp:v${WA_API_VERSION:-2.21.3}

Langkah 2: Mulailah kontainer

Untuk meningkatkan penginstalan, mulailah kontainer dbupgrade-service dengan variabel lingkungan WA_API_VERSION yang diatur ke versi terbaru:

WA_API_VERSION=new-whatsapp-version docker-compose -f dbupgrade-compose.yml up -d

Catatan: Jika Anda menggunakan pengaturan yang memulai ulang kontainer saat keluar terlepas dari kode keluar, mulailah layanan dengan variabel lingkungan EXIT_ON_SUCCESS diatur ke FALSE agar tidak keluar dari kontainer ketika kode keluar adalah 0.

Langkah 3: Tunggu sampai peningkatan selesai

Jika peningkatan database berhasil, kontainer akan keluar dengan kode 0. Anda dapat menggunakan perintah Docker berikut untuk melacak status:

docker wait your-database-upgrade-container-name

Outputnya adalah kode keluar dari kontainer dbupgrade-service.

Langkah 4: Mulai ulang kontainer CoreApp dan Webapp

Mulai ulang kontainer CoreApp dan Webapp Docker dengan variabel lingkungan WA_API_VERSION yang diatur ke versi terbaru:

WA_API_VERSION=new-whatsapp-version docker-compose up -d

Menghapus penginstalan Klien API WhatsApp Business

Sangat direkomendasikan untuk mencadangkan pengaturan aplikasi Anda saat ini sebelum menghapus instalan. Harap ikuti dokumentasi Pencadangan dan Pemulihan.

Jika Anda perlu mereset lingkungan pengembangan Anda dengan menghapus semua kontainer, jalankan perintah berikut dari direktori yang berisi file docker-compose.yml:

WA_API_VERSION={VERSION_NUMBER} docker-compose down

Hasil output seharusnya terlihat seperti berikut:

Stopping biz_waweb_1  ... done
Stopping biz_wacore_1 ... done
Stopping biz_db_1     ... done
Removing biz_waweb_1  ... done
Removing biz_wacore_1 ... done
Removing biz_db_1     ... done

Untuk menyingkirkan semua volume yang ditentukan dalam file docker-compose.yml selain kontainer, jalankan perintah down dengan parameter -v:

WA_API_VERSION={VERSION_NUMBER} docker-compose down -v

Pemecahan Masalah

Kami merekomendasikan penggunaan WADebug untuk pemecahan masalah yang lebih efektif. WADebug adalah fitur baris perintah untuk membantu menemukan potensi masalah mengenai penyiapan API WhatsApp Business, dan membuat permintaan bantuan dari dukungan WhatsApp lebih efektif.

Apabila WADebug tidak dapat digunakan atau jika terjadi kesalahan setiap fitur ini dijalankan, jalankan perintah berikut untuk mengumpulkan catatan dari semua kontainer:

docker-compose logs > debug_output.txt

Untuk mengumpulkan catatan dari layanan spesifik, tambahkan nama layanan (waweb atau wacore) ke perintah docker-compose logs:

docker-compose logs waweb > debug_output.txt

Anda dapat menemukan catatan dalam file debug_output.txt di direktori saat ini.


Perangkat lunak ini menggunakan kode FFmpeg yang dilisensikan di bawah LGPLv2.1 dan sumbernya bisa diunduh di sini.