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.

  1. Open Webhooks connector setting in the Glassfy dashboard
  2. Set your webhook URL to the "Custom webhook URL" field
  3. (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
S2S: event generated by server to server or playstore
RTH: event generated internally by Glassfy

type

event_type

Please see table below for possible values

environment

environment

Can be P (production) or S (sandbox)

store

store

1: App Store
2: Play Store
3: Paddle

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
see here

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:
if false the subscription will not autorenew at the expire date

only relevant for event
5005 SubscriptionDidChangeRenewalStatus

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

true or false

trial_status

trial conversion status

0: N/A
1:trial converted to payed subscription
2:trial non coverted to payed subscription

customid

userid

custom identifier

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.


Did this page help you?