Webhooks
Send subscriptions events to a custom webhook channel.
Glassfy monitors the subscriptions and sends all the relevant events to the custom Webhook even if the user does not open the app.
- Open Webhooks connector setting in the Glassfy dashboard
- Set your webhook URL to the "Custom webhook URL" field
- (Optional) Set the autorisation-token to be sent with each webhook POST
Request format
Glassfy will send POST requests every time an event is generated with the following format:
Request body
{
"id": "21e8fe4ea29e4d699a5be432cf79dd9a",
"event_date": 1644933838,
"source": "SDK",
"type": 5008,
"environment": "S",
"store": "1",
"vendorid": "8NOV6FQBHHRJ4F9N2HV0HUXOQ5LL0QA3",
"appid": "SZ126UWWVGTH82UE9313EQQ5N1YM3QOA",
"subscriberid": "dfd29763e530470688a5741f419e7c07",
"productid": "ios_read_article_5",
"date_ms": 1644933832000,
"original_purchase_date_ms": 1644933832000,
"expire_date_ms",16449359832000,
"duration", 7,
"auto_renew_status", false,
"original_transaction_id": "2000000033202384",
"web_order_line_item_id", "54598498589489895",
"price": 0.99,
"price_usd": 1.3381319169279828,
"currency_code": "GBP",
"country_code": "GB",
"sub_platform": "1",
"system_version": "15.3.1",
"**device**": "iPhone14,2",
"sdk_version": "dev",
"bundle_version": "1",
"app_version": "1.0",
"is_trial_period: false,
"trial_status":0,
"customid":"custom user id"
}
id | unique event identifier | |
---|---|---|
event_date | event date | Epoch time on when the event has been generated. It may differ for the purchase date. Use date_ms for purchase date |
source | source that generates the event | SDK: event generated by the SDK |
type | event_type | Please see table below for possible values |
environment | environment | Can be |
store | store | 1: App Store |
vendorid | vendor identifier | unique identifier of the company using Gassfy SDK |
appid | application identifier | unique identifier of the application using Gassfy SDK |
subscriberid | subscriber identifier | unique identifier of the user purchasing the subscription or IAP |
productid | product identifier | App Store, Play Store, Paddle product identifier |
date_ms | event date in milliseconds | this is the date of the purchase or event |
original_purchase_date_ms | original purchase date in milliseconds | |
expire_date_ms | subscription expire date in ms | |
duration | subscription duration in days | |
auto_renew_status | user changes auto renew status: | only relevant for event |
original_transaction_id | Original transaction identifier | |
web_order_line_item_id | original web order | |
price | price | price in user currency |
price_usd | USD price | price in USD |
currency_code | currency code | three letters ISO currency code |
country_code | country_code | three letters ISO country code |
system_version | operating system version | |
device | device type | |
sdk_version | sdk version | |
app_version | application version | |
is_trial_period | app is in trial |
|
trial_status | trial conversion status | 0: N/A |
customid | userid |
Event Type | event_type | Description |
---|---|---|
SubscriptionInitialBuy | 5001 | User starts a subscription |
SubscriptionRestarted | 5002 | A previously interrupted subscription restarted |
SubscriptionRenewed | 5003 | Subscription automatically renewed |
SubscriptionExpired | 5004 | Subscription expired |
SubscriptionDidChangeRenewalStatus | 5005 | User changed the autorenew status |
IsInBillingRetryPeriod | 5006 | User is in billing retry |
SubscriptionProductChange | 5007 | User upgrades or downgrades the subscription |
InAppPurchase | 5008 | In App Purchase |
SubscriptionRefund | 5009 | Subscription Refund |
Request header
Authorization: Bearer authorisation-token
Accept: application/json
Retries
Glassfy will send POST requests to your server with the authentication header and a json with the details of the event. Your server must return a 200 status code. If the status code is not 200 Glassfy will retry 5 times (after 5, 15, 30 and 60 minutes). After all the retries we will stop send the event.
Updated 8 days ago