يوضح لك هذا المستند كيفية إعداد مثيل منفرد لعميل API الخاصة بواتساب للأعمال على جهاز المطوّر لتحقيق أغراض الاختبار. بالنسبة لإعداد الإنتاج، اتبع التعليمات ذات الصلة الواردة في عمليات إعداد الإنتاج.
لإعداد المثيل المنفرد في البداية، تحقق من قائمة المتطلبات واتبع هذه الخطوات:
biz
للبرامج النصية للإعدادWA_API_VERSION
بمجرد إكمال إعداد المثيل، يمكنك اختيار ترقيته. لإلغاء تثبيت العميل، اتبع هذه الخطوات.
قبل البدء، ستحتاج إلى إكمال ما يلي:
To install Docker Desktop on your developer machine:
The remaining steps are based on macOS and should be very similar for Linux or Windows 10.
To install Docker using macOS:
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.
تأكد من إعداد حساب اختباري محلي في بيئة التطوير. هذا الحساب مخصص لإجراء عملية التطوير السريع واختبار الإصدارات الجديدة.
Perform the following steps to install a single instance of the WhatsApp Business API client on a developer system.
Create a ~/biz
directory for the WhatsApp Business API client.
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.
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>)}
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
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
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" } }
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.
ستواجه مشكلة زمن التوقف أثناء عملية الترقية.
يوصى بشدة بإجراء نسخ احتياطي لإعدادات التطبيق الحالية لديك قبل الترقية للتأكد من أنه يمكنك نسخ الإعدادات احتياطيًا وتشغيلها سريعًا. يُرجى اتباع وثائق النسخ الاحتياطي والاستعادة.
لذا يوصى دائمًا بتنفيذ الترقيات خلال الساعات الأقل ازدحامًا.
WA_API_VERSION
إلى الإصدار الجديديجب تحديث المتغير البيئي WA_API_VERSION
إلى رقم الإصدار الجديد باستخدام:
export WA_API_VERSION=new-whatsapp-version
إذا كنت تقوم بالترقية إلى الإصدار 2.33.4، فسيكون مثال الأمر كما يلي:
~/biz $ export WA_API_VERSION=2.33.4
أعد تشغيل حاويات Docker من خلال تشغيل:
docker-compose up -d
يجب أن يبدو الإخراج الناتج كما يلي:
biz_db_1 is up-to-date Recreating biz_wacore_1 ... done Recreating biz_waweb_1 ... done
v2.23.x
والإصدارات الأحدثويمكنك الآن الاستفادة من خدمة ترقية قاعدة البيانات التي ستتيح لك ترقية قاعدة البيانات بينما لا يزال تطبيقك قيد التشغيل لتجنب زمن التوقف.
يتضمن الملف dbupgrade-compose.yml حقولاً تشير إلى إصدار الحاوية.
المثال:
services: dbupgrade: image: docker.whatsapp.biz/coreapp:v${WA_API_VERSION:-2.21.3}
لترقية عملية تثبيت، يمكنك بدء تشغيل الحاوية dbupgrade-service مع تعيين متغير البيئة WA_API_VERSION
إلى أحدث إصدار:
WA_API_VERSION=new-whatsapp-version docker-compose -f dbupgrade-compose.yml up -d
ملاحظة: إذا كنت تستخدم تزامنًا يعيد تشغيل الحاوية عند الخروج بغض النظر عن الرمز للخروج، يمكنك بدء تشغيل الخدمة من خلال تعيين متغير البيئة EXIT_ON_SUCCESS
إلى القيمة FALSE
لتجنب الخروج من الحاوية عندما يكون الرمز للخروج بالقيمة 0
.
إذا تمت ترقية قاعدة البيانات بنجاح، فستخرج الحاوية بالرمز 0
. يمكنك استخدام أمر Docker التالي لتتبع الحالة:
docker wait your-database-upgrade-container-name
سيؤدي ذلك إلى عرض رمز الخروج الخاص بحاوية dbupgrade-service.
أعد تشغيل حاويات Docker في Coreapp وWebapp مع تعيين متغير البيئة WA_API_VERSION
إلى أحدث إصدار:
WA_API_VERSION=new-whatsapp-version docker-compose up -d
يوصى بشدة بنسخ إعدادات التطبيق الحالية احتياطيًا قبل إلغاء التثبيت. يُرجى اتباع وثائق النسخ الاحتياطي والاستعادة.
إذا كنت تريد إعادة تعيين بيئة التطوير عن طريق إزالة كافة الحاويات، فقم بتشغيل الأمر التالي من المسار الذي يتضمن ملف docker-compose.yml
:
WA_API_VERSION={VERSION_NUMBER} docker-compose down
يجب أن يبدو الإخراج الناتج كما يلي:
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
لإزالة كل وحدات التخزين المحددة في الملف docker-compose.yml
وكذلك الحاويات، يمكنك تشغيل الأمر down
باستخدام المعلمة -v
:
WA_API_VERSION={VERSION_NUMBER} docker-compose down -v
نوصي باستخدام WADebug لاستكشاف الأخطاء وإصلاحها بشكل أكثر فعالية. أداة WADebug عبارة عن أداة سطر أوامر للمساعدة في العثور على المشكلات المحتملة المتعلقة بإعداد API الخاصة بواتساب للأعمال وجعل عملية طلب المساعدة من دعم واتساب أكثر فعالية.
في الحالات التي يتعذر فيها استخدام WADebug أو يؤدي تشغيل الأداة إلى إرجاع أخطاء، يمكنك تشغيل الأمر التالي لتجميع السجلات من كل الحاويات:
docker-compose logs > debug_output.txt
لتجميع السجلات الخاصة بخدمة معينة، يمكنك إلحاق اسم الخدمة (waweb
أو wacore
) بالأمر docker-compose logs
:
docker-compose logs waweb > debug_output.txt
يمكنك العثور على السجلات في الملف debug_output.txt
في الدليل الحالي.
يستخدم هذا البرنامج الرمز FFmpeg المُرخص بموجب رخصة جنو العمومية الصغرى (LGPL) بالإصدار 2.1 ويمكن تنزيل مصدره من هنا.