Webhooks
Learn about sending Deepwall events to your server via webhooks
Deepwall tracks user statuses by validating user receipts with stores and sends real-time data to your HTTP endpoints.
You can monitor the subscription events sent by Deepwall to manage your app flow for paid users and react immediately to changes in users subscription statuses.
Configuring Webhooks
For the webhooks service to be activated in Deepwall, you need to provide your webhook URL to Deepwall from the Deepwall management console.
Follow the steps below to configure the Webhooks URL:
1. Navigate to the Deepwall management console and go to App Settings.
2. Go to the Webhooks tab and enter your URL to Webhooks URL for Deepwall Server Notifications.
3. You can copy the API Key and use to protect your server from unwanted requests.
The registered URL will start receving data from Deepwall.
Events Sent Via Webhooks
The following events are sent to your server via webhooks, if webhooks url is configured in Deepwall.
Event Name | Description |
purchased | User has purchased a non-subscription product (consumable, non-consumable, non-renewing subscription) |
trialSubscribed | User has started a free trial |
trialToPaidSubscribed | User is converted to a paid subscription at the end of the free trial |
subscribed | Users has started a paid subscription without a free trial |
renewed | User has renewed a paid subscription |
refunded | User has received a refund for a subscription or non-subscription payment |
autoRenewDisabled | User has disabled auto renewal |
autoRenewEnabled | User has enabled auto renewal |
moved | User has moved to another device |
API Key Usage for Security
You can use the API key
optionally to protect your server from unwanted requests. You can get the API key
from App Settings menu in Deepwall Management Console.
Request Format
Request Header:
Deepwall sends a POST request to webhook URLs every time an event occurs. The request header contains the API key
as the Secret value field.
Request :
For Events Other than moved
Request body for purchased
, trialSubscribed
, trialToPaidSubscribed
, subscribed
, renewed
, refunded
, autoRenewDisabled
, autoRenewEnabled
.
Column | Description |
uuid | Unique user identifier provided by the Deepwall SDK |
event | Name of the event, you can see the events list here |
orderId | Order Id of the valid subscription in stores |
transactionId | Transaction Id in stores |
productCode | Purchased product code |
quantity | Purchase quantity |
purchaseDate | Date of purchase, the time store has charged the user's account |
expiresDate | End date of current subscription period |
cancellationDate | Refund date, NULL if user has not refunded |
isTrialPeriod | 1 if user started a trial, otherwise 0 |
isRenewal | 1 if purchase is a renewal and 0 if not |
originalPurchaseDate | Date of the original purchase date which is the first order of user |
isSubscription | 1 if purchase is a subscription and 0 if it is non-subscription |
isRefunded | 1 if purchase has been refunded and 0 if not |
isActive | 1 if automatic renewal is enabled, otherwise 0. isActive is 1 in billing retry and grace period. |
inTrialPeriod | 1 if user is in trial period, otherwise 0 |
inGracePeriod | 1 if user is in grace period, otherwise 0 |
Request for moved
Request body for device moves for paid subscribers.
Column | Description |
uuid | Unique user identifier provided by Deepwall SDK |
event | Name of the event, you can see the events list here |
order id | Order Id of the valid subscription in stores |
from uuid | Previous unique user identifier |
to uuid | New unique user identifier on the new device |
Itโs important to respond quickly so you do not exceed a time-out limit when you are getting a webhook.
We recommend delaying app processing until a response is sent.
Last updated