Chúng tôi sẽ ngừng cung cấp API Tại chỗ. Hãy tham khảo tài liệu về việc Ngừng cung cấp API Tại chỗ để biết chi tiết, đồng thời tìm hiểu cách chuyển sang API Đám mây thế hệ tiếp theo của chúng tôi.

Triển khai với Amazon Web Services

Tài liệu này hướng dẫn bạn cách sử dụng Amazon Web Services (AWS) để triển khai API WhatsApp Business. Quy trình này được chia làm 2 bước chính:

  1. Triển khai ứng dụng API WhatsApp Business
  2. Cấu hình ứng dụng API WhatsApp Business

Sau khi hoàn tất quy trình thiết lập, bạn có thể chọn nâng cấp ứng dụng. Nếu bạn cần khởi động lại cả Webapp và CoreApp, hãy làm theo các bước sau.

Trong tài liệu này, bạn sẽ tìm hiểu về mẫu AWS mới mà chúng tôi đã thử nghiệm để đạt được thông lượng nhắn tin cao hơn và ổn định hơn. Nếu bạn đang tìm kiếm mẫu AWS cũ hơn, hãy xem phần Kho lưu trữ AWS.

Bắt đầu

Trước khi bắt đầu, bạn sẽ cần:

Thiết lập một ID tài khoản AWS

Bạn cần thiết lập tài khoản AWS hợp lệ và làm quen với cách làm việc trên AWS. WhatsApp cung cấp các mẫu CloudFormation giúp dễ dàng triển khai ứng dụng API WhatsApp Business. Hãy tham khảo Trung tâm nguồn lực về cách bắt đầu với AWS để biết thêm thông tin.

Tạo Cặp khóa AWS

Bạn cần tạo một cặp khóa mới để truy cập vào phiên bản EC2 mà mẫu WhatsApp Business API tạo ra. Bạn cũng có thể sử dụng một cặp khóa mà bạn đã tạo trước đây. Hãy tham khảo tài liệu về Cặp khóa Amazon EC2 để biết thông tin về cách tạo và sử dụng cặp khóa với một phiên bản EC2.

Bạn cần sử dụng khu vực mình đang triển khai API WhatsApp Business để tạo cặp khóa.

Đăng ký nhận Hình ảnh CentOS 9

Ứng dụng API WhatsApp Business tận dụng hình ảnh CentOS 9 (có trong AWS Marketplace). Bạn phải xem lại cũng như đồng ý với các điều khoản và điều kiện trước khi sử dụng mẫu. Bạn sẽ không tạo được mẫu nếu không chấp nhận các điều khoản.

Cách xem lại và chấp nhận hình ảnh CentOS 9 AMI:

  1. Chuyển đến trang AWS Marketplace: CentOS 9 (x86_64) - với HVM Bản cập nhật.
  2. Nhấp vào Tiếp tục đăng ký ở góc trên bên phải, rồi nhấp vào nút Chấp nhận điều khoản.

Khu vực được hỗ trợ

Mẫu WhatsApp Business API sử dụng loại tài nguyên EFS mà không phải khu vực AWS nào cũng sử dụng được. Do đó, chúng tôi chỉ hỗ trợ những khu vực sau:

  • Bắc Virginia (us-east-1)
  • Ohio (us-east-2)
  • Bắc California (us-west-1)
  • Oregon (us-west-2)
  • Mumbai (ap-south-1)
  • Seoul (ap-northeast-2)
  • Singapore (ap-southeast-1)
  • Sydney (ap-southeast-2)
  • Tokyo (ap-northeast-1)
  • Frankfurt (eu-central-1)
  • Ireland (eu-west-1)

Căn cứ vào thử nghiệm ban đầu, WhatsApp sẽ xác định xem chúng tôi có thể cung cấp tùy chọn thay thế sử dụng được ở tất cả các khu vực hay không.

Câu hỏi thường gặp

Không, chúng tôi không hỗ trợ KOPS. Chúng tôi hỗ trợ giải pháp AWS dựa trên ECS. Ngoài ra, chúng tôi còn cung cấp tài liệu hướng dẫn chung về cách thiết lập Kubernetes bằng minikube.

Triển khai

Bước 1: [Không bắt buộc] Thiết lập mạng

Mạng Virtual Private Cloud (VPC) thường được tạo khi bạn đăng ký tài khoản AWS. Ngoài ra, có thể có một số tùy chỉnh và hạn chế kiểm soát quyền truy cập bắt buộc dành riêng cho doanh nghiệp.

Nếu cơ sở hạ tầng mạng VPC đã được tạo, thì bạn có thể bỏ qua bước này. Nếu không, bạn có thể dùng mẫu dưới đây để tạo cơ sở hạ tầng mạng trên AWS.

Mẫu mạng được cung cấp chỉ cho mục đích tham khảo. Bạn có thể sửa đổi mẫu cho phù hợp với nhu cầu cụ thể của mình.

Yêu cầu về mạng

  • Phải có ít nhất 2 mạng con ở các vùng sẵn sàng khác nhau trong khu vực. Nếu không, bạn sẽ không thể tạo mẫu trong khi tạo tài nguyên (cơ sở dữ liệu) RDS.
  • Phải cho phép truy cập vào HTTP (cổng: 80), HTTPS (cổng: 443) và SSH (cổng: 22). Vì lý do bảo mật, bạn nên dùng HTTPS và tránh sử dụng HTTP.

Cách triển khai mẫu mạng:

  1. Truy cập bảng điều khiển CloudFormation dành cho khu vực của bạn (ví dụ: eu-west-1).
  2. Chọn Tạo ngăn xếp.
  3. Tải xuống file wa_ent_net.yml từ GitHub và lưu file đó trên máy.
  4. Chọn Tải lên file mẫu làm nguồn mẫu và tải lên file mẫu mà bạn đã tải xuống ở bước 3.
    Tạo ngăn xếp
  5. Nhấp vào Tiếp.
  6. Trên màn hình Chỉ định chi tiết ngăn xếp, nhập giá trị thông số theo bảng bên dưới:

Thông số

TênMô tả

Stack name

Bắt buộc.

Tên của ngăn xếp cần tạo.

Cấu hình vùng sẵn sàng

TênMô tả

Availability zones

Bắt buộc.

Vùng sẵn sàng (AZ) để tạo VPC.
Mẫu này yêu cầu chọn ít nhất 2 AZ. Đối với môi trường chính thức, bạn nên chọn ít nhất 3 AZ.

Number of availability zones

Bắt buộc.

Số lượng vùng sẵn sàng đã chọn.

Cấu hình VPC

TênMô tả

IP address range

Bắt buộc.

Dải địa chỉ IP (CIDR) của VPC này.

Tenancy

Bắt buộc.

Hình thức thuê VPC
Tùy chọn:default, dedicated

Cấu hình mạng con công khai

TênMô tả

IP range - subnet #1

Bắt buộc.

Dải địa chỉ IP (CIDR) của mạng con công khai

IP range - subnet #2

Bắt buộc.

Dải địa chỉ IP (CIDR) của mạng con công khai

IP range - subnet #3

Không bắt buộc.

Bắt buộc nếu số lượng vùng sẵn sàng lớn hơn 2.

IP range - subnet #4

Không bắt buộc.

Bắt buộc nếu số lượng vùng sẵn sàng lớn hơn 3.

Cấu hình mạng con riêng tư

TênMô tả

Create private subnets?

Bắt buộc.

Tùy chọn:true (mặc định), false
Nếu không cần sử dụng mạng con riêng tư vì lý do nào đó, bạn có thể đặt cờ này thành false.

IP range - subnet #1

Có điều kiện.

Bắt buộc nếu quá trình tạo mạng con riêng tư được đặt thành true.

IP range - subnet #2

Có điều kiện.

Bắt buộc nếu quá trình tạo mạng con riêng tư được đặt thành true.

IP range - subnet #3

Có điều kiện.

Bắt buộc nếu quá trình tạo mạng con riêng tư được đặt thành true và số lượng AZ lớn hơn 2.

IP range - subnet #4

Có điều kiện.

Bắt buộc nếu quá trình tạo mạng con riêng tư được đặt thành true và số lượng AZ lớn hơn 3.

Bước 2: Tải lên cơ sở dữ liệu và file cấu hình ngăn xếp giám sát

Trước khi triển khai ngăn xếp API WhatsApp Business trên AWS, đầu tiên, bạn cần tải file cấu hình của ngăn xếp con được tham chiếu lên vùng lưu trữ S3 mà bạn có quyền đọc.

  1. Tạo vùng lưu trữ S3 mới hoặc sử dụng vùng lưu trữ S3 hiện tại mà bạn có quyền đọc.
  2. Tải file wa_ent_db.yml và file wa_ent_monitoring.yml xuống từ GitHub rồi tải cả 2 file này lên vùng lưu trữ S3 nêu ở bước 1.
  3. Chọn file wa_ent_db.yml từ danh sách Đối tượng và sao chép URL file. URL nên ở định dạng https://xxx.s3.<avalability_zone>.amazonaws.com/wa_ent_db.yml.
  4. Trong file wa_ent.yml, hãy thay thế giá trị của TemplateURL trong dbStack bằng URL đối tượng ở bước 3 và lưu file đó.
  5. Chọn file wa_ent_monitoring.yml từ danh sách Đối tượng và sao chép URL file. URL nên ở định dạng https://xxx.s3.<avalability_zone>.amazonaws.com/wa_ent_monitoring.yml.
  6. Trong file wa_ent.yml, hãy thay thế giá trị của TemplateURL trong ngăn xếp Giám sát bằng URL đối tượng ở bước 5 và lưu file đó.
Tải lên vùng lưu trữ S3

Bước 3: Triển khai API WhatsApp Business

WhatsApp Enterprise là mẫu chính và tạo tất cả tài nguyên (ngoại trừ mạng) cần thiết cho ứng dụng API WhatsApp Business. Như chúng tôi đã lưu ý ở phần trước, mẫu này cũng tạo tài nguyên cơ sở dữ liệu, nếu cần.

Cách triển khai ứng dụng API WhatsApp Business:

  1. Truy cập bảng điều khiển CloudFormation dành cho khu vực của bạn (ví dụ: eu-west-1).
  2. Chọn Tạo ngăn xếp.
  3. Tải xuống file wa_ent.yml từ GitHub và lưu file đó trên máy.
  4. Chọn Tải lên file mẫu làm nguồn mẫu và tải lên file mẫu mà bạn đã tải xuống ở bước 3.
    Tạo ngăn xếp
  5. Nhấp vào Tiếp
  6. Sau đó, bạn có thể nhập thông số. Hãy tham khảo bảng dưới đây để biết nội dung mô tả thông số.
  7. Sau khi đặt tất cả thông số (trong bảng bên dưới), hãy nhấp vào Tiếp trên trang Đặt cấu hình tùy chọn ngăn xếp. Bạn có thể thực hiện những thay đổi cần thiết dựa trên tùy chọn của mình rồi nhấp vào Tiếp.
  8. Trên trang Xem lại ngăn xếp, bạn sẽ nhìn thấy phần tóm tắt giá trị thông số và tùy chọn của ngăn xếp. Sau khi xác minh, trong phần Tính năng, hãy đánh dấu cả hai ô rồi nhấp vào Gửi để bắt đầu tạo ngăn xếp.
    Lưu ý: Quá trình triển khai có thể mất khoảng 20-30 phút.

Thông số

TênMô tả

Stack name

Bắt buộc.

Tên của ngăn xếp cần tạo.

Tên ngăn xếp phải nhỏ hơn hoặc bằng 22 ký tự. Lưu ý: Để triển khai trong các khu vực ap-southeast-1, ap-southeast-2, ap-northeast-1 hoặc ap-northeast-2, tên ngăn xếp phải dùng 8 ký tự trở xuống.

Nếu stack name dài hơn yêu cầu nêu trên, quá trình tạo ngăn xếp sẽ bị treo và không thành công vì hệ thống không thể tạo chứng chỉ SSL.

Cấu hình chung

TênMô tả

High Availability

Không bắt buộc.

Bật tính năng Độ sẵn sàng cao.


Mặc định:enabled

Desired Throughput

Bắt buộc.

Số tin nhắn bạn muốn gửi mỗi giây.


Cùng với tùy chọn Type of Message, tài nguyên máy chủ và cơ sở dữ liệu sẽ tự động được chọn và đặt cấu hình để đáp ứng thông lượng mong muốn khi gửi loại tin nhắn đã chọn.

Type of Message

Bắt buộc.

Loại tin nhắn chính mà bạn muốn gửi và nhận.


Cùng với tùy chọn Desired Throughput, tài nguyên máy chủ và cơ sở dữ liệu sẽ tự động được chọn và đặt cấu hình để đáp ứng thông lượng mong muốn khi gửi loại tin nhắn đã chọn.

Host exporter for instance monitoring

Không bắt buộc.

Cài đặt node-exporter trên mỗi máy chủ CoreApp để giám sát phiên bản.


Mặc định:enabled

Cấu hình mạng

TênMô tả

Network Stack Name

Bắt buộc.

Tên ngăn xếp CloudFormation mạng được tạo thông qua bước thiết lập mạng.

Number of subnets

Bắt buộc.

Số mạng con đã chọn.


Hiện tại, chúng tôi chỉ hỗ trợ 2 mạng con trong quá trình triển khai để phân phối tác vụ ECS đồng đều trên tất cả máy chủ.

Load balancer scheme

Bắt buộc.

Hiện tại, chúng tôi chỉ hỗ trợ bộ cân bằng tải truy cập từ Internet. Bộ cân bằng tải này sẽ hiển thị công khai. Vui lòng sửa đổi nhóm bảo mật sau khi tạo ngăn xếp API để chặn trường hợp truy cập không cần thiết.

Cấu hình vùng chứa

TênMô tả

Keypair to use

Bắt buộc.

Cặp khóa thích hợp để truy cập phiên bản EC2, nếu cần.

WA Enterprise container registry

Không bắt buộc.

Cấu hình này nhằm chuẩn bị cho tương lai và hỗ trợ các thử nghiệm trên ứng dụng API WhatsApp Business. Giá trị mặc định nên phù hợp với phần lớn trường hợp.

WA Enterprise Client version

Bắt buộc.

Bạn nên sử dụng phiên bản ổn định mới nhất (hãy xem nhật ký thay đổi để biết phiên bản mới nhất).
Định dạng:v2.yy.xx

Phiên bản ứng dụng API WhatsApp Business luôn bắt đầu bằng ký tự "v", trừ khi nêu rõ khác. Sử dụng sai phiên bản sẽ khiến bạn không tạo được ngăn xếp.

EBS volume size

Bắt buộc.

Bạn nên chọn 32GB trở lên cho khối lượng công việc chính thức.

Cấu hình cơ sở dữ liệu

TênMô tả

Store configuration in DB

Không bắt buộc.

Bật tính năng lưu trữ thông tin cấu hình vào cơ sở dữ liệu.
Tùy chọn:true (mặc định), false
Nếu đặt giá trị thành false, tính năng lưu trữ thông tin cấu hình vào cơ sở dữ liệu sẽ bị tắt, thay vào đó thông tin này sẽ được lưu trữ vào file.

Existing DB hostname

Không bắt buộc.

Tên máy chủ cơ sở dữ liệu hiện có.
Nếu đã có phiên bản cơ sở dữ liệu MySQL riêng cho ứng dụng API WhatsApp Business, bạn có thể nhập tên máy chủ ở đây.
Nếu bạn để trống, hệ thống sẽ tạo một phiên bản Amazon Aurora mới. Để có thông lượng cao ổn định, bạn nên tạo cơ sở dữ liệu Aurora mới hoặc dùng cơ sở dữ liệu Aurora hiện có được tạo bằng mẫu này trước đây.

Administrator name

Bắt buộc.

Tên quản trị viên để truy cập cơ sở dữ liệu này.

Administrator password

Bắt buộc.

Mật khẩu quản trị viên để truy cập cơ sở dữ liệu này.

Mật khẩu cơ sở dữ liệu không được chứa bất kỳ ký tự nào sau đây: ?{}&~!()^/"@

Server port

Bắt buộc.

Số cổng để truy cập phần phụ trợ cơ sở dữ liệu.

Persist DB Connection

Không bắt buộc.

Cho biết có duy trì kết nối Cơ sở dữ liệu cho vùng chứa Web hay không.


Mặc định:enabled

DB Idle Connection Timeout

Không bắt buộc.

Khoảng thời gian tính bằng mili giây (ms). Sau khoảng thời gian này, cơ sở dữ liệu sẽ đóng các kết nối không hoạt động.
Mặc định: 180.000 ms

Cấu hình ghi nhật ký

TênMô tả

Logging driver for container logs

Không bắt buộc.

Trình điều khiển ghi nhật ký cho nhật ký vùng chứa.
Tùy chọn:json-file, awslogs(mặc định)
Giá trị json-file sẽ lưu trữ nhật ký trên máy chủ EC2. Giá trị awslogs sẽ truyền tất cả nhật ký vùng chứa đến CloudWatch.

Maximum container log file size

Không bắt buộc.

Kích thước tối đa của file nhật ký vùng chứa (tính bằng MB) trước khi được xoay vòng.

Giá trị được phép nằm trong khoảng từ 1 đến 250 (bao gồm cả hai giá trị này). Mặc định: 50.

Maximum number of container log files

Không bắt buộc.

Số lượng file nhật ký tối đa sẽ lưu giữ trên mỗi vùng chứa.
Vùng chứa đã ngừng hoạt động cuối cùng sẽ bị gỡ khỏi máy chủ. Trong các trường hợp nêu trên, tất cả file nhật ký được lưu giữ cho vùng chứa đó sẽ bị xóa.

Giá trị được phép nằm trong khoảng từ 1 đến 30 (bao gồm cả hai giá trị này). Mặc định: 7.

Days to retain CloudWatch logs

Không bắt buộc.

Số ngày lưu giữ nhật ký trong CloudWatch.
Chọn một trong các giá trị có sẵn trong danh sách.

Mặc định: 7

Cấu hình hệ thống file

TênMô tả

File system identifier

Không sử dụng.

Để trống thông số này.

Cấu hình bảo mật

TênMô tả

Key to encrypt DB & EFS

Không bắt buộc.

Theo mặc định, khóa dịch vụ AWS (tùy chọn Khóa mặc định) được dùng để mã hóa dữ liệu DB & EFS ở trạng thái nghỉ. Dưới đây là những tùy chọn khác:

  • Không được mã hóa: Dữ liệu ở trạng thái nghỉ không được mã hóa
  • Tạo khóa mới: Một khóa KMS mới được tạo và dùng để mã hóa dữ liệu
  • Khóa do người dùng cung cấp: Bạn có thể cung cấp ID khóa KMS dùng để mã hóa dữ liệu. Để trống mục này nếu chọn tùy chọn khác.

User provided key id

Không bắt buộc.

Bạn có thể cung cấp ID khóa KMS dùng để mã hóa dữ liệu. Để trống mục này nếu tùy chọn Khóa do người dùng cung cấpkhông được chọn.

DB connection encryption

Không bắt buộc.

Theo mặc định, dữ liệu đang truyền đến cơ sở dữ liệu được mã hóa. Tùy chọn này hiện chỉ áp dụng cho Coreapp. Chúng tôi chưa hỗ trợ mã hóa Webapp. Ngoài ra, với công cụ xử lý cơ sở dữ liệu mới, ngay cả khi bạn tắt tùy chọn này, thì Coreapp vẫn sẽ thực hiện mã hóa, tuy nhiên không tiến hành xác thực chứng chỉ máy chủ (danh tính).

CA certificate for DB connection

Không bắt buộc.

Giá trị mặc định chứa gói chứng chỉ RDS. Nếu sử dụng cơ sở dữ liệu không phải RDS, bạn có thể cung cấp gói chứng chỉ CA thích hợp. Nếu không, bạn có thể bỏ trống mục này. Giá trị mặc định là đủ để bật kết nối an toàn với cơ sở dữ liệu.

Client certificate for DB connection

Không bắt buộc.

Chứng chỉ ứng dụng dành cho kết nối cơ sở dữ liệu

Client key for DB connection

Không bắt buộc.

Khóa ứng dụng dành cho kết nối cơ sở dữ liệu

Điểm truy cập API WhatsApp Business

Bảng điều khiển Grafana cần có các thông số này để truy xuất số liệu ứng dụng cho mục đích giám sát.

TênMô tả

WAWebUsername

Bắt buộc.

Chỉ định Tên người dùng API WhatsApp Business.

WAWebPassword

Bắt buộc.

Chỉ định mật khẩu cho WAWebUsername. Đây sẽ là mật khẩu mới sau khi bạn thay đổi mật khẩu mặc định trong lần đăng nhập đầu tiên.

Grafana

TênMô tả

GrafanaAdminPassword

Bắt buộc.

Chỉ định mật khẩu dùng làm mật khẩu đăng nhập cho bảng điều khiển Grafana khi tạo ngăn xếp.

GrafanaEnableSmtp

Không bắt buộc.

Cho biết liệu SMTP có được bật để thiết lập cảnh báo qua email hay không. Giá trị hợp lệ: 0 là bị vô hiệu hóa và 1 là được bật.

Mặc định:0 (bị vô hiệu hóa)

GrafanaSmtpHost

Không bắt buộc.

Máy chủ SMTP dùng trong các cảnh báo qua email. Ví dụ: smtp.gmail.com:465.

GrafanaSmtpUser

Không bắt buộc.

Chỉ định tên người dùng SMTP được sử dụng trong cảnh báo qua email.

GrafanaSmtpPassword

Không bắt buộc.

Chỉ định mật khẩu SMTP dùng trong cảnh báo qua email.

Thông tin nhận được sau khi triển khai

Sau khi tạo mẫu thành công, các thông số sau sẽ hiển thị:

  • Tên bộ cân bằng tải: Tên máy chủ của bộ cân bằng tải đang truy cập vào ứng dụng API Nền tảng WhatsApp Business
  • Tên máy chủ cơ sở dữ liệu: Tên máy chủ của cơ sở dữ liệu được tạo/cung cấp trong quá trình tạo mẫu
  • Số cổng cơ sở dữ liệu: Số cổng của kết nối cơ sở dữ liệu
  • Tên cụm ECS: Tên của cụm ECS đã tạo
  • Số ngày lưu giữ nhật ký: Số ngày lưu giữ nhật ký
  • CA kết nối cơ sở dữ liệu: Giá trị của CA Kết nối cơ sở dữ liệu nếu được đặt cấu hình
  • Chứng chỉ kết nối cơ sở dữ liệu: Giá trị của chứng chỉ Kết nối cơ sở dữ liệu nếu được đặt cấu hình
  • Khóa kết nối cơ sở dữ liệu: Giá trị của khóa Kết nối cơ sở dữ liệu nếu được đặt cấu hình
  • Grafana: URL bảng điều khiển Grafana
  • Số đoạn: Số đoạn sẽ đặt cấu hình cho API Nền tảng WhatsApp Business

Chỉnh sửa quy tắc bảo mật SSH

Theo mặc định, các quy tắc bảo mật do ngăn xếp tạo cho phép tất cả lưu lượng truy cập có thể truy cập phiên bản EC2 thông qua SSH, điểm cuối API và bảng điều khiển Grafana thông qua HTTPS, cũng như vùng chứa Prometheus và cadvisor. Vì lý do bảo mật, bạn nên chặn trường hợp truy cập không cần thiết. Phần này sẽ minh họa các bước cập nhật quy tắc bảo mật SSH. Bạn phải luôn hạn chế quyền truy cập qua SSH để chỉ cho phép lưu lượng truy cập đáng tin cậy.

  1. Trong bảng điều khiển EC2 - Nhóm bảo mật (ví dụ: Bảng điều khiển quản lý EC2 (amazon.com)):
    1. Chọn khu vực phù hợp ở góc phía trên bên phải.
    2. Chọn nhóm bảo mật chứa <stackName>-EcsSecurityGroup, sau đó chuyển sang tab Quy tắc đến.
      Chỉnh sửa quy tắc đến
    3. Chọn Chỉnh sửa quy tắc đến, cập nhật cột Nguồn để chỉ cho phép lưu lượng truy cập đáng tin cậy (ví dụ: My IP) truy cập vào máy chủ EC2 thông qua SSH.
    4. Sau khi điều chỉnh tất cả quy tắc bảo mật, hãy nhấp vào Lưu quy tắc để áp dụng thay đổi.
    5. Lặp lại những thay đổi này đối với nhóm bảo mật chứa "<stackName>-ms-xxx-EcsSecurityGroup" để hạn chế quyền truy cập qua SSH cho ngăn xếp giám sát.

Cấu hình ứng dụng API WhatsApp Business

Sau khi triển khai thành công, bạn cần đặt cấu hình để ứng dụng API WhatsApp Business có thể hoạt động.

Bước 1: Đăng ký số điện thoại

Hãy xem hướng dẫn về Số điện thoại để biết thông tin chi tiết hơn về quy trình đăng ký số điện thoại.

Tải xuống chứng chỉ được mã hóa base64 từ tài khoản WhatsApp của bạn trong Trình quản lý kinh doanh trên Facebook bên dưới tab Số điện thoại của Trình quản lý WhatsApp.

Sau khi chọn đúng số điện thoại và có chứng chỉ được mã hóa base64, bạn cần đăng ký ứng dụng API WhatsApp Business qua nút account. Hãy tham khảo tài liệu về Đăng ký để biết thêm thông tin.

Nếu số điện thoại có thể nhận được tin nhắn văn bản, hãy sử dụng phương thức SMS để truy xuất mã đăng ký.

Nếu đã nhận được mã đăng ký từ WhatsApp, bạn có thể bỏ qua bước này.

Bước 2: Đặt số đoạn

Sau khi tạo ngăn xếp, bạn cần sử dụng lệnh gọi API shards để tăng số lượng phiên bản Coreapp đang hoạt động nhằm đạt được thông lượng mong muốn. Bạn có thể tìm thấy số đoạn trong phần Đầu ra của ngăn xếp.

Bước 3: Cập nhật cài đặt ứng dụng

Bạn có thể tham khảo cấu hình của lệnh gọi lại web API WhatsApp Business và các thông số khác trong tài liệu về Cài đặt ứng dụng. Bạn nên dùng các cài đặt ứng dụng sau đây để đạt được thông lượng ổn định.

 {
    "settings": {
        "application": {
            "callback_backoff_delay_ms": 3000,
            "callback_persist": true,
            "db_garbagecollector_enable": false, # change this to true when there are no ongoing messaging campaigns
            "heartbeat_interval": 5,
            "max_callback_backoff_delay_ms": 900000,
            "media": {
                "auto_download": [
                    "document",
                    "image",
                    "video",
                    "voice",
                    "sticker",
                    "audio"
                ]
            },
            "notify_user_change_number": true,
            "pass_through": false,
            "sent_status": true,
            "show_security_notifications": false,
            "skip_referral_media_download": false,
            "unhealthy_interval": 30,
            "wa_id": "12245552741",
            "webhooks": {
                "max_concurrent_requests": 24,
                "message": {
                    "delivered": true,
                    "read": true,
                    "sent": true
                },
                "url": "<YOUR_WEBHOOK_SERVER_URL>"
            }
        }
    },
    "meta": {
        "api_status": "stable",
        "version": "2.41.3"
    }
}

      
      
    

Bước 4: [Không bắt buộc] Cấu hình SSL

Theo mặc định, ứng dụng API WhatsApp Business sẽ tạo chứng chỉ tự ký khi chứng chỉ được tạo. Có thể bạn sẽ phải sử dụng chứng chỉ của Cơ quan chứng thực (CA) (dùng để tạo chứng chỉ tự ký) để xác minh điểm cuối ứng dụng API WhatsApp Business và tránh cảnh báo về mức độ tin cậy của chứng chỉ.

Bạn có thể tải chứng chỉ CA xuống và lưu trữ trên thiết bị để tránh cảnh báo về mức độ tin cậy của chứng chỉ hoặc tải lên chứng chỉ của chính bạn. Tham khảo tài liệu về nút certificate để biết thêm thông tin.

Trong khi triển khai AWS, chứng chỉ SSL sẽ được tạo bằng tên máy chủ ứng dụng cân bằng tài. Nếu bạn dùng địa chỉ IP (thay vì sử dụng tên máy chủ) để xin cấp quyền truy cập, cảnh báo sẽ vẫn hiển thị.

Trong bản phát hành trong tương lai, WhatsApp sẽ hỗ trợ đặt cấu hình các chứng chỉ SSL do khách hàng cung cấp.

Bước 5: Xác thực thiết lập

Sau khi bước cấu hình và đăng ký thành công, hệ thống có thể gửi và nhận tin nhắn để xác thực chức năng cơ bản của ứng dụng API WhatsApp Business. Quá trình này được mô tả đầy đủ trong tài liệu về Tin nhắn.

Sau khi nhận tin nhắn thành công, ứng dụng API WhatsApp Business sẽ POST trạng thái/chi tiết tin nhắn lên Webhook đã đặt cấu hình trong Bước 3.

Nếu bạn nhận được tin nhắn thì xin chúc mừng. Bạn đã hoàn tất! Vui lòng xem Tài liệu tham khảo để biết thêm thông tin về các điểm cuối API có sẵn.

Khởi động lại Coreapp và Webapp

Cách khởi động lại ứng dụng API WhatsApp Business trong bảng điều khiển ECS (ví dụ: https://us-west-2.console.aws.amazon.com/ecs/home?region=us-west-2#/clusters):

  1. Chọn khu vực phù hợp ở góc phía trên bên phải.
  2. Chọn cụm thích hợp trong danh sách.
  3. Trong tab Dịch vụ, chọn tên dịch vụ chứa WAEntService.
  4. Chọn tab Tác vụ. Thường thì sẽ chỉ có một tác vụ, cùng với ID bao gồm các chữ số hex.
  5. Trong cửa sổ Tác vụ, nhấp vào Dừng ở góc trên bên phải, rồi nhấp vào Dừng lần nữa khi được nhắc.

Thao tác này sẽ dừng cả Webapp và CoreApp. Ngay sau đó, cơ sở hạ tầng AWS sẽ khởi động lại cả Webapp và CoreApp.

Hệ thống của bạn có thể dừng chạy khoảng 1 hoặc 2 phút.

Nâng cấp

Nếu cập nhật trực tiếp ngăn xếp CloudFormation, cơ sở dữ liệu của bạn có thể bị hủy và được tạo lại. Bạn nên làm theo các bước thủ công trong phần tiếp theo để cập nhật hệ thống nhằm tránh tình trạng mất dữ liệu.

Phần này hướng dẫn cách nâng cấp cả Ứng dụng API WhatsApp Business và Mẫu CloudFormation (CFN). Hệ thống sẽ dừng chạy trong quá trình nâng cấp, vậy nên đừng gửi tin nhắn trong thời gian này. Bạn chỉ có thể tiếp tục gửi tin nhắn sau khi nâng cấp xong.

Bạn có thể nâng cấp Mẫu CFN và phiên bản ứng dụng API WhatsApp Business cùng lúc theo cách sau:

  1. Trong Bước 5 của hướng dẫn Nâng cấp ứng dụng API WhatsApp Business, hãy chọn Thay thế mẫu hiện tại, thay vì Sử dụng mẫu hiện tại.
  2. Trong phần Chỉ định mẫu, chọn "Tải lên file mẫu" và chọn file mẫu mới nhất được tải xuống từ GitHub.

Nâng cấp ứng dụng API WhatsApp Business

  1. Truy cập bảng điều khiển CFN (ví dụ: https://us-west-2.console.aws.amazon.com/cloudformation/home?region=us-west-2#/stacks?filter=active).
  2. Chọn khu vực phù hợp ở góc phía trên bên phải.
  3. Chọn ngăn xếp ứng dụng API WhatsApp Business đã tạo.
  4. Nhấp vào Cập nhật.
  5. Trên trang Điều kiện tiên quyết - Chuẩn bị mẫu, chọn tùy chọn Thay thế mẫu hiện tại. Trong phần Chỉ định mẫu, chọn "Tải lên file mẫu" và chọn file mẫu mới nhất được tải xuống từ GitHub. Nhấp vào Tiếp.
  6. Trên trang Chỉ định chi tiết ngăn xếp, thay đổi phiên bản ứng dụng API WhatsApp Business (vùng chứa) thành phiên bản mong muốn. KHÔNG THAY ĐỔI bất kỳ thông số nào khác. Nhấp vào Tiếp.
  7. Trên trang Đặt cấu hình tùy chọn ngăn xếp, nhấp vào Tiếp.
  8. Trên trang Xem lại, chọn "Tôi xác nhận rằng AWS CloudFormation có thể tạo tài nguyên IAM có tên tùy chỉnh". Xem lại phần Bản xem trước thay đổi đã đặt để phát hiện các thay đổi ngoài dự kiến. Nếu có bất kỳ thay đổi ngoài dự kiến nào hoặc bạn không chắc chắn, vui lòng liên hệ với bộ phận Hỗ trợ trực tiếp của WhatsApp. Nhấp vào Cập nhật ngăn xếp. Bạn có thể theo dõi trạng thái Cập nhật ngăn xếp trong bảng điều khiển CFN. Trạng thái sẽ thay đổi từ UPDATE_IN_PROGRESS thành UPDATE_COMPLETE sau khi hoàn tất quá trình nâng cấp.

Xác minh nâng cấp nhanh:Gửi một tin nhắn văn bản và xác minh rằng phản hồi API chứa đúng số phiên bản (tức là phiên bản mới). Xác minh thêm rằng người nhận đã nhận được tin nhắn.

Nâng cấp mẫu CFN của WhatsApp

  1. Truy cập bảng điều khiển CFN (ví dụ: https://us-west-2.console.aws.amazon.com/cloudformation/home?region=us-west-2#/stacks?filter=active).
  2. Chọn khu vực phù hợp ở góc phía trên bên phải.
  3. Chọn ngăn xếp ứng dụng API WhatsApp Business đã tạo.
  4. Nhấp vào Cập nhật.
  5. Trên trang Điều kiện tiên quyết - Chuẩn bị mẫu, chọn tùy chọn Thay thế mẫu hiện tại. Trong phần Chỉ định mẫu, chọn "Tải lên file mẫu" và chọn file mẫu mới nhất được tải xuống từ GitHub. Nhấp vào Tiếp.
  6. Trên trang Chỉ định chi tiết ngăn xếp, nhập thông số thích hợp theo thông tin trong các phần trước. Nhấp vào Tiếp.
  7. Trên trang Đặt cấu hình tùy chọn ngăn xếp, nhấp vào Tiếp.
  8. Trên trang Xem lại, chọn "Tôi xác nhận rằng AWS CloudFormation có thể tạo tài nguyên IAM có tên tùy chỉnh". Xem lại phần Bản xem trước thay đổi đã đặt để phát hiện các thay đổi ngoài dự kiến. Nếu có bất kỳ thay đổi ngoài dự kiến nào hoặc bạn không chắc chắn, vui lòng liên hệ với bộ phận Hỗ trợ trực tiếp của WhatsApp. Nhấp vào Cập nhật ngăn xếp. Bạn có thể theo dõi trạng thái Cập nhật ngăn xếp trong bảng điều khiển CFN. Trạng thái sẽ thay đổi từ UPDATE_IN_PROGRESS thành UPDATE_COMPLETE sau khi hoàn tất quá trình nâng cấp.

Cách giảm chi phí theo cách thủ công khi hệ thống không hoạt động (không bắt buộc)

Thông thường, các doanh nghiệp muốn thiết lập môi trường thông lượng cao cho chiến dịch có thời gian giới hạn, đồng thời muốn duy trì môi trường chi phí thấp trong thời gian không chạy chiến dịch. Phần này đưa ra các gợi ý về cách giảm quy mô thiết lập AWS theo cách thủ công để tiết kiệm chi phí.

Quan trọng: Lưu ý rằng hệ thống sẽ có thời gian dừng chạy. Thời gian dừng chạy ước tính có thể từ 5 đến 15 phút. Hãy đảm bảo bạn làm theo tất cả những cách làm tốt nhất của DevOps, chẳng hạn như sao lưu cài đặt ứng dụng và sao lưu cơ sở dữ liệu.

  1. Trong bảng điều khiển ECS (ví dụ: Amazon ECS:)
    1. Chọn khu vực phù hợp ở góc phía trên bên phải.
    2. Chọn cụm thích hợp trong danh sách.
    3. Trong tab Dịch vụ, chọn tên dịch vụ chứa WAEntCoreappService. Chọn Chỉnh sửa dịch vụ rồi cập nhật giá trị "Số tác vụ mong muốn" thành 0.
      Cấu hình triển khai
    4. Lặp lại bước c cho tất cả dịch vụ khác, bao gồm WAEntWebService, WAEntMasterServiceHostExporterService.
    5. Quay lại trang cụm, trong tab Tác vụ, hãy đảm bảo không có tác vụ nào đang chạy của các dịch vụ nêu trên.
  2. Trong bảng điều khiển EC2 - Nhóm tự động mở rộng quy mô (ví dụ: Nhóm tự động mở rộng quy mô | Bảng điều khiển quản lý EC2 (amazon.com)):
    1. Chọn khu vực phù hợp ở góc phía trên bên phải.
    2. Chọn nhóm tự động mở rộng quy mô của ngăn xếp có tên chứa HAECSAutoScalingGroup rồi chọn Chỉnh sửa. Cập nhật cả "Công suất mong muốn" và "Công suất tối thiểu" thành 3.
      Quy mô nhóm
    3. Chọn nhóm tự động mở rộng quy mô của ngăn xếp có tên chứa HAECSAutoScalingGroupWeb rồi chọn Chỉnh sửa. Cập nhật cả "Công suất mong muốn" và "Công suất tối thiểu" thành 2.
  3. (Không bắt buộc) Nếu giá trị ban đầu của "Loại tin nhắn" là bất kỳ loại hình ảnh nào, bạn có thể thay thế loại phiên bản EC2 bằng tùy chọn c5.large có chi phí thấp hơn.
    1. Trong bảng điều khiển EC2 - Mẫu khởi chạy, chọn mẫu khởi chạy thích hợp từ danh sách.
    2. Chọn Hành động - Sửa đổi mẫu (tạo phiên bản mới).
      Bảng điều khiển Mẫu khởi chạy
    3. Trong phần Loại phiên bản, cập nhật Loại phiên bản thành c5.large, sau đó chọn Tạo phiên bản mẫu.
      Loại phiên bản
    4. Trong bảng điều khiển EC2 - Nhóm tự động mở rộng quy mô, chọn nhóm tự động mở rộng quy mô của ngăn xếp có tên chứa HAECSAutoScalingGroup.
    5. Chọn Chỉnh sửa trong phần Mẫu khởi chạy.
    6. Chọn mẫu khởi chạy mới được tạo ở bước 3c rồi chọn Cập nhật.
      Mẫu khởi chạy
  4. Trong bảng điều khiển RDS (ví dụ: Bảng điều khiển quản lý RDS (amazon.com)):
    1. Chọn khu vực phù hợp ở góc phía trên bên phải.
    2. Chọn cơ sở dữ liệu Aurora thích hợp trong danh sách.
    3. Chọn Sửa đổi rồi cập nhật lớp phiên bản cơ sở dữ liệu thành r5.xlarge.
      Cấu hình phiên bản
  5. Trong bảng điều khiển ECS (ví dụ: Amazon ECS):
    1. Chọn khu vực phù hợp ở góc phía trên bên phải.
    2. Chọn cụm thích hợp trong danh sách.
    3. Trong tab Dịch vụ, chọn tên dịch vụ chứa WAEntCoreappService. Chọn Chỉnh sửa dịch vụ rồi cập nhật giá trị "Số tác vụ mong muốn" thành 3.
    4. Trong tab Dịch vụ, chọn tên dịch vụ chứa HostExporterService. Chọn Chỉnh sửa dịch vụ rồi cập nhật giá trị "Số tác vụ mong muốn" thành 3.
    5. Trong tab Dịch vụ, chọn tên dịch vụ chứa WAEntWebService. Chọn Chỉnh sửa dịch vụ rồi cập nhật giá trị "Số tác vụ mong muốn" thành 2.
    6. Trong tab Dịch vụ, chọn tên dịch vụ chứa WAEntMasterService. Chọn Chỉnh sửa dịch vụ rồi cập nhật giá trị "Số tác vụ mong muốn" thành 2.
  6. Chờ tất cả dịch vụ khởi chạy số lượng tác vụ mong muốn. Khi tất cả tác vụ đang chạy, hãy sử dụng API Đặt số đoạn để đặt lại số đoạn thành 2.
  7. Xác thực tình trạng hệ thống với API Tình trạng. Hệ thống cũng có thể gửi và nhận tin nhắn để xác thực chức năng cơ bản của ứng dụng API WhatsApp Business. Quá trình này được mô tả đầy đủ trong tài liệu về Tin nhắn.