ÿÿ Thiết lập tích hợp Webhook | Tài liệu Adapty

Thiết lập tích hợp webhook

Tích hợp webhook của Adapty bao gồm các bước sau:

webhook-setup.webp

  1. Bạn thiết lập endpoint của mình:
    1. Äảm bảo server cá»§a bạn có thể xá»­ lý các yêu cầu từ Adapty vá»›i header Content-Type được đặt thành application/json.
    2. Cấu hình server để nhận yêu cầu xác minh từ Adapty và phản hồi với bất kỳ trạng thái 2xx nào kèm theo nội dung JSON.
    3. Xử lý các sự kiện gói đăng ký sau khi kết nối được xác minh.
  2. Bạn cấu hình và bật tích hợp webhook trong Adapty Dashboard. Bạn cÅ©ng có thể ánh xạ các sá»± kiện Adapty sang tên sá»± kiện tùy chỉnh. Chúng tôi khuyến nghị kiểm tra trong môi trưá»ng Sandbox trước khi chuyển sang môi trưá»ng production.
  3. Adapty gửi yêu cầu xác minh đến server của bạn.
  4. Server của bạn phản hồi với trạng thái 2XX và nội dung JSON.
  5. Sau khi Adapty nhận được phản hồi hợp lệ, hệ thống bắt đầu gửi các sự kiện gói đăng ký.

Thiết lập server để xử lý yêu cầu từ Adapty

Adapty sẽ gửi đến endpoint webhook của bạn 2 loại yêu cầu:

  1. Yêu cầu xác minh: yêu cầu ban đầu để xác minh kết nối đã được thiết lập đúng cách. Yêu cầu này sẽ không chứa bất kỳ sá»± kiện nào và sẽ được gá»­i ngay khi bạn nhấn nút Save trong phần tích hợp Webhook cá»§a Adapty Dashboard. Äể xác nhận endpoint cá»§a bạn đã nhận thành công yêu cầu xác minh, endpoint cần phản hồi vá»›i thông báo xác minh.
  2. Sá»± kiện gói đăng ký: yêu cầu tiêu chuẩn mà server Adapty gá»­i má»—i khi có sá»± kiện được tạo. Server cá»§a bạn không cần phản hồi vá»›i bất kỳ ná»™i dung cụ thể nào. Äiá»u duy nhất server Adapty cần là nhận được phản hồi HTTP mã 200 tiêu chuẩn khi nhận tin nhắn thành công.

Yêu cầu xác minh

Sau khi bạn bật tích hợp webhook trong Adapty Dashboard, Adapty sẽ gửi một yêu cầu POST xác minh chứa một đối tượng JSON rỗng {} làm nội dung.

Thiết lập endpoint của bạn với Content-Type header là application/json, tức là endpoint server của bạn cần được cấu hình để nhận các yêu cầu webhook với payload định dạng JSON.

Server của bạn phải phản hồi với mã trạng thái 2xx và gửi bất kỳ phản hồi JSON hợp lệ nào, ví dụ:

{}

Sau khi Adapty nhận được phản hồi xác minh đúng định dạng với mã trạng thái 2xx, tích hợp webhook Adapty của bạn đã được cấu hình hoàn chỉnh.

Sự kiện gói đăng ký

Các sá»± kiện gói đăng ký được gá»­i vá»›i header Content-Type được đặt thành application/json và chứa dữ liệu sá»± kiện ở định dạng JSON. Äể biết các loại sá»± kiện và cấu trúc yêu cầu, xem Loại và trưá»ng sá»± kiện Webhook.

Cấu hình tích hợp webhook trong Adapty Dashboard

Trong Adapty, bạn có thể cấu hình các flow riêng biệt cho sá»± kiện production và sá»± kiện kiểm thá»­ nhận từ môi trưá»ng sandbox cá»§a Apple, Stripe hoặc tài khoản thá»­ nghiệm Google.

Adapty há»— trợ má»™t URL webhook cho má»—i môi trưá»ng (production và sandbox). Äể chuyển sá»± kiện đến nhiá»u dịch vụ, hãy trá» webhook vào backend cá»§a bạn rồi phân phối từ đó.

Äối vá»›i sá»± kiện production, sá»­ dụng trưá»ng Production endpoint URL để chỉ định URL mà các callback sẽ được gá»­i đến. Ngoài ra, hãy cấu hình trưá»ng Authorization header value for production endpoint — header này giúp server cá»§a bạn xác thá»±c các sá»± kiện từ Adapty. Lưu ý rằng chúng tôi sẽ sá»­ dụng giá trị được chỉ định trong trưá»ng Authorization header value for production endpoint làm header Authorization chính xác như đã nhập, không có bất kỳ thay đổi hay bổ sung nào.

Äối vá»›i sá»± kiện kiểm thá»­, hãy sá»­ dụng các trưá»ng Sandbox endpoint URL và Authorization header value for sandbox endpoint tương ứng.

Äể thiết lập tích hợp webhook:

  1. Mở Integrations -> Webhook trong Adapty Dashboard của bạn.
webhook_integration.webp
  1. Bật toggle để khởi động tích hợp.

  2. Äiá»n vào các trưá»ng tích hợp:

    Trưá»ngMô tả
    Production endpoint URLURL mà Adapty dùng để gá»­i các yêu cầu HTTP POST cho sá»± kiện trong môi trưá»ng production.
    Authorization header value for production endpoint

    Header mà server cá»§a bạn sẽ dùng để xác thá»±c các yêu cầu từ Adapty trong môi trưá»ng production. Lưu ý rằng chúng tôi sẽ sá»­ dụng giá trị được chỉ định trong trưá»ng này làm header Authorization chính xác như đã nhập, không có bất kỳ thay đổi hay bổ sung nào.

    Mặc dù không bắt buá»™c, nhưng rất khuyến khích thiết lập để tăng cưá»ng bảo mật.

    Ngoài ra, để phục vụ nhu cầu kiểm thá»­ trong môi trưá»ng sandbox, có thêm hai trưá»ng khác:

    Trưá»ng kiểm thá»­Mô tả
    Sandbox endpoint URLURL mà Adapty dùng để gá»­i các yêu cầu HTTP POST cho sá»± kiện trong môi trưá»ng sandbox.
    Authorization header value for sandbox endpoint

    Header mà server cá»§a bạn sẽ dùng để xác thá»±c các yêu cầu từ Adapty trong quá trình kiểm thá»­ ở môi trưá»ng sandbox. Lưu ý rằng chúng tôi sẽ sá»­ dụng giá trị được chỉ định trong trưá»ng này làm header Authorization chính xác như đã nhập, không có bất kỳ thay đổi hay bổ sung nào.

    Mặc dù không bắt buá»™c, nhưng rất khuyến khích thiết lập để tăng cưá»ng bảo mật.

  3. (Tùy chá»n) Chá»n các sá»± kiện bạn muốn nhận và ánh xạ tên cá»§a chúng. Xem Event flows để biết những sá»± kiện nào được kích hoạt trong các tình huống khác nhau.

    Nếu ID sự kiện của bạn khác với ID được dùng trong Adapty, hãy giữ nguyên ID trong hệ thống của bạn và thay thế các ID sự kiện mặc định của Adapty bằng ID của bạn trong phần Events names của trang Integrations -> Webhooks.

    ID sự kiện có thể là bất kỳ chuỗi nào; chỉ cần đảm bảo ID sự kiện trong server xử lý webhook của bạn trùng khớp với ID bạn đã nhập trong Adapty Dashboard. Bạn không thể để trống ID sự kiện cho các sự kiện đã được bật.

86942b8-event_names_renaming.webp
  1. Các trưá»ng và tùy chá»n bổ sung không bắt buá»™c; hãy sá»­ dụng khi cần:

    Cài đặtMô tả
    Send Trial PriceKhi bật, Adapty sẽ bao gồm giá gói đăng ký trong các trưá»ng price_local và price_usd cho sá»± kiện Trial Started.
    Exclude Historical EventsChá»n để loại trừ các sá»± kiện xảy ra trước khi ngưá»i dùng cài đặt ứng dụng có tích hợp Adapty SDK. Äiá»u này giúp tránh trùng lặp sá»± kiện và đảm bảo báo cáo chính xác. Ví dụ: nếu ngưá»i dùng kích hoạt gói đăng ký hàng tháng vào ngày 10 tháng 1 và cập nhật ứng dụng vá»›i Adapty SDK vào ngày 6 tháng 3, Adapty sẽ bá» qua các sá»± kiện trước ngày 6 tháng 3 và giữ lại các sá»± kiện sau đó.
    Send user attributesBật tùy chá»n này để gá»­i các thuá»™c tính dành riêng cho ngưá»i dùng, chẳng hạn như tùy chá»n ngôn ngữ. Các thuá»™c tính này sẽ xuất hiện trong trưá»ng user_attributes. Xem Trưá»ng sá»± kiện để biết thêm thông tin.
    Send attributionBật tùy chá»n này để bao gồm thông tin attribution (ví dụ: dữ liệu AppsFlyer) trong trưá»ng attributions. Tham khảo phần Dữ liệu Attribution để biết chi tiết.
    Send Play Store purchase tokenBật tùy chá»n này để nhận token Play Store cần thiết cho việc xác thá»±c lại giao dịch mua, nếu cần. Khi bật, tham số play_store_purchase_token sẽ được thêm vào sá»± kiện. Äể biết chi tiết vá» ná»™i dung cá»§a nó, tham khảo phần Play Store purchase token.
  2. Nhớ nhấn nút Save để xác nhận các thay đổi.

Ngay khi bạn nhấn nút Save, Adapty sẽ gửi yêu cầu xác minh và chỠphản hồi xác minh từ server của bạn.

Chá»n sá»± kiện cần gá»­i và ánh xạ tên sá»± kiện

Chá»n các sá»± kiện bạn muốn nhận trên server bằng cách bật toggle bên cạnh sá»± kiện đó. Nếu tên sá»± kiện cá»§a bạn khác vá»›i tên được dùng trong Adapty và bạn cần giữ nguyên tên cá»§a mình, bạn có thể thiết lập ánh xạ bằng cách thay thế tên sá»± kiện mặc định cá»§a Adapty bằng tên cá»§a bạn trong phần Events names cá»§a trang Integrations -> Webhooks.

86942b8-event_names_renaming.webp

Tên sá»± kiện có thể là bất kỳ chuá»—i nào. Bạn không thể để trống các trưá»ng cho sá»± kiện đã được bật. Nếu bạn vô tình xóa tên sá»± kiện Adapty, bạn luôn có thể sao chép tên từ chá»§ đỠSá»± kiện gá»­i đến tích hợp bên thứ ba.

Xử lý sự kiện webhook

Webhook thưá»ng được gá»­i trong vòng 5 đến 60 giây sau khi sá»± kiện xảy ra. Tuy nhiên, các sá»± kiện há»§y có thể mất đến 2 giỠđể được gá»­i sau khi ngưá»i dùng há»§y gói đăng ký cá»§a há». Nếu mã trạng thái phản hồi cá»§a server nằm ngoài khoảng 200-404, Adapty sẽ thá»­ gá»­i lại vá»›i backoff theo cấp số nhân. Lần thá»­ lại đầu tiên xảy ra khoảng 1 phút sau lần thất bại đầu tiên, tăng gấp đôi sau má»—i lần tiếp theo — tối Ä‘a 9 lần thá»­ trong vòng 24 giá». Chúng tôi khuyến nghị bạn thiết lập webhook chỉ thá»±c hiện các xác thá»±c cÆ¡ bản đối vá»›i ná»™i dung sá»± kiện từ Adapty trước khi phản hồi. Nếu server cá»§a bạn không thể xá»­ lý sá»± kiện và bạn không muốn Adapty thá»­ lại, hãy sá»­ dụng mã trạng thái trong khoảng 200-404. Ngoài ra, hãy xá»­ lý các tác vụ tốn thá»i gian má»™t cách bất đồng bá»™ và phản hồi Adapty nhanh chóng. Nếu Adapty không nhận được phản hồi trong vòng 10 giây, hệ thống sẽ coi đó là lần thất bại và sẽ thá»­ lại.

ÿÿÿÿ