Nami Public Documentation
Sign In
Nami Documentation
Nami Documentation
  • Get Started
    • Overview
      • Key Concepts
      • Data Collection
      • Built for Privacy
    • Evaluating Nami
    • SDKs
      • Apple Native SDK
      • Android Native SDK
      • Amazon Native SDK
      • Roku Native SDK
      • React Native Cross-Platform SDK
      • Flutter Cross-Platform SDK
      • Unity Cross-Platform SDK
      • Release Notes
        • Find Nami SDK Version
    • Quickstart Guide
  • Subscription Management
    • Overview
    • Products
      • Archive Products
      • Sync Products
    • Entitlements
    • Customer Screen
    • Accounts and Login/Logout
    • Advanced Use Cases
      • Upgrades and Downgrades
      • Supported Purchase Change States by Platform
      • Restoring Purchases
      • Working with Consumable IAPs
  • No Code Paywalls
    • Overview
    • Paywall Creator
      • Using the Creator
      • Paywall Layout
      • Components
        • Editing, Deleting, Reordering
        • Hiding Components
        • Video
        • Collapse
      • Editable Properties
        • Focused Styling
        • Safe Area
      • Conditions
        • Notched Devices
        • Product Entitlements
      • Adding Products
      • Repeating Product Group
      • Product Fields
      • Capabilities
        • Featured Styling
        • Selected Styling
        • Custom Brand Fonts
        • Carousel
        • Trial Eligibility
        • Deeplink Button
        • Introductory Offer Eligibility
        • Login Check
        • Product Groups
        • Conditional Product Groups
        • Offer Eligibility and Purchasing
        • Screenreader Text
        • Personalization Tokens
        • Custom Variables
        • Multipage
        • Custom Data Source
        • Advanced Video Features
        • Product Error States
      • ❓FAQs
        • Designing Paywalls in Figma
        • Guide to Building a Paywall from Scratch
      • 🎁Releases
        • Roadmap
    • Paywall Templates
      • Pacific
      • Pacific Premium
      • Trident
      • Starfish
      • Mantis
      • Venice
      • Venice Premium
      • Honest
      • Catalina
      • Oyster
      • Puffin
      • Marina
      • Beluga
      • Driftwood
      • Lagoon
      • Pisces
      • Aquarius
      • Conch
      • Lionfish
      • Moray
      • Tetra
      • Lighthouse
      • Puffin Tablet
    • Managing Paywalls
      • Archiving a Paywall
      • Duplicate a Paywall
    • Paywall Smart Text
    • Pricing Eligibility States
    • Pricing Eligibility by Platform
    • Nami Paywalls in Different Languages
    • Legacy Paywalls
  • Campaigns
    • Placements
      • Create a Placement
      • Deeplink Placements
      • Archiving a Placement
      • Managing Lots of Placements
      • Export Placements
    • Campaigns
      • Campaign Filters
        • Campaign Use Cases
      • Archiving a Campaign
      • Scheduling a Campaign
      • Campaign Conversion Events
      • Managing Lots of Campaigns
      • Campaign Troubleshooting
    • A/B and Multivariate Testing
      • Selecting an A/B test winner
      • A/B Test Allocation
  • Integrations
    • All Integrations
    • Billing Platforms
      • Apple Integration
        • App Store Setup
          • Privacy Details
        • Platform Integration
        • App Store Server Notifications
        • Store Credentials
          • App Store Connect Shared Secret
          • Apple App Store Connect API
          • Apple In App Purchase
        • Add a Product
        • Platform Sync
        • SDK Integration
        • Troubleshooting
        • Testing and Development
          • Apple Testing Environments
          • Setting up Device Sandbox Test Environment
          • Setting up StoreKit config in Xcode
      • Google Integration
        • Google Play Store Setup
        • Platform Integration
        • Service Account
        • Real-time Developer Notifications
        • Add a Product
        • Platform Sync
        • SDK Setup
        • Troubleshooting
          • Supporting Android minSdkVersion 25 or lower
          • Requested product is not available for purchase
          • Unsupported Version of Play Billing
      • Amazon Appstore Integration
        • Create Amazon Android App
        • Platform Integration
        • Shared Key
        • Real-time Event Notifications
        • Add a Product
        • SDK Integration
        • Testing
      • Roku Integration
        • Platform Integration
        • API Key
        • Transaction Notifications
        • Add a Product
        • SDK Integration
      • Web Integration
    • Analytics Tools
      • Adobe Analytics
      • Amplitude
      • Google Analytics
      • mParticle
      • 3rd-Party Analytics
    • Subscription Management
      • Nami Subscription Management
      • Bring your Own Payment Code
    • CDP Integrations
      • Adobe CDP Integration
      • Amplitude CDP Integration
      • Custom CDP Integration
      • Generic CDP Integration
    • Other Integrations
      • Wicket Labs
      • Webhooks
        • Introduction to the Nami ML Event System
        • Event Types
          • Purchase Status Updates
          • Events for Upgrades, Downgrades, and Crossgrades
        • Event Subscriptions
        • Understanding Transferred Events and Accounts
      • API Access
    • Events Feed
  • Analytics
    • Using Charts
    • Paywall Analytics
      • Impressions
      • Paywall Conversion Rate
      • Sessions
      • Active Devices
    • Subscription Analytics
      • Revenue
      • MRR
      • Purchases
      • Trial Starts
  • Nami Account
    • Manage your Apps
      • Find your Nami App Platform ID
      • Setting up Legal Text for your Apps
    • Organization
      • Configuring Organization Security Policies
      • Billing
    • Invite your Team
      • Roles
    • Manage your Account
      • Two-Factor Authentication (2FA)
Powered by GitBook
On this page
  • device
  • purchase
  • user
  1. Integrations
  2. Other Integrations
  3. Webhooks

Event Types

Last updated 11 months ago

Full JSON schemas for all events partners are available at:

device

Events in this category are generated by a specific device using the Nami SDK.

Event Type
Description

device.impression

This event is produced each time the device presents a paywall screen to the user.

device.session.start

Produced at the start of an app session.

device.session.end

Produced at the end of an app session.

device.transaction

Produced when a purchase is generated on the device.

purchase

Events in this category are generated for a specific purchase.

Event Type
Description

purchase.updated

Triggered by any change to Purchase.

user

User events are tied to a specific user in the Nami platform.

User event payloads include the following data on the user's current state

  • A list of the current that are active

  • The current

  • A list of all the that currently belong to the user

  • A list of any associated with the user

Below is an example payload.

{
  "active_entitlements": [
    {
      "description": "Radio Nami Premium",
      "entitlement_ref_id": "premium",
      "expiration": "2020-10-10T23:58:51Z",
      "last_verified": "2020-09-10T00:00:00.356795Z",
      "name": "Radio Nami Premium",
      "purchase_platform": "apple",
      "sku_ref_id": "radio_nami_monthly_subscription"
    }
  ],
  "customer_journey_state": {
    "former_subscriber": false,
    "in_account_hold": false,
    "in_grace_period": false,
    "in_trial_period": false,
    "in_intro_offer_period": false,
    "in_pause": false,
    "is_cancelled": false
  },
  "devices": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "platform": {
        "id": "00000000-0000-0000-0000-000000000000",
        "name": "App Store",
        "platform_type": "apple",
        "marketplace_app_id": "com.namiml.RadioNami"
      }
    }
  ],
  "event_type": "user.subscription.renewed",
  "event_platform": "apple",
  "external_ids": [
    {
      "key": "original_transaction_id",
      "type": "original_transaction_id",
      "value": "1000000500000000"
    },
    {
      "key": "external_id",
      "type": "uuid",
      "value": "00000000-0000-0000-0000-000000000000"
    }
  ],
  "user_id": "00000000-0000-0000-0000-000000000000",
  "id": "00000000-0000-0000-0000-000000000000",
  "created_date": "2020-05-29T00:57:11.227760+00:00"
}

user.journey

User journey events describe the journey your app users go on as you try to nurture them towards being sustained paying customers.

trial

Free trials are an important tool in converting users of your app to loyal paying customers. We offer a few events to track this important stage of the customer journey.

Event Type
Description

user.journey.trial.converted

A user's free trial has ended and they are now paying for their subscription.

user.journey.trial.did_not_convert

The user's subscription has expired and they did not continue as a paying subscriber.

user.journey.trial.started

The user started a free trial.

user.subscription

User subscription events are used to track any changes to a user's subscription status. Since Nami runs both cross-platform and cross-device, we can sync your users' subscription status across platforms.

These events can be used to manage changes to a user's entitlement state as well as provide analytics insights into your subscriber base.

Event Type
Description

user.subscription.cancelled

User cancelled their subscription. A cancellation is the point at which the user decided to cancel or shut off auto-renewal on a subscription. At this time the user still has access to their entitlement.

user.subscription.expired

User's subscription expired, either because it does not auto-renew, they had previously cancelled, or the payment has not been received. The expired event occurs when the final subscription billing term ends and the entitlement is revoked

user.subscription.in_grace_period

User is currently in grace period with an expired subscription due to the payment failing

user.subscription.paused

User paused their subscription and it will automatically resume at a future time. Android only

user.subscription.pending_sku_change

User has purchased a new SKU as part of an upgrade, downgrade, or crossgrade, but has not been billed yet for that change. The new SKU will go into effect at the next bill term.

user.subscription.purchased

User made a new purchase

user.subscription.renewal_in_grace_period

User was in grace period and the subscription was recovered.

user.subscription.renewed

User's subscription was renewed.

user.subscription.resumed

User re-enables auto-renew after previously turning auto-renew off.

or

User resumed a subscription that had previously been paused. Android only.

user.subscription.sku_change

User has purchased a different SKU that grants the same entitlement.

user.subscription.transferred.from

This event informs you that a user's entitlement was revoked by an entitlement transfer. See Entitlement Transfers below.

user.subscription.transferred.to

This event informs you that a user was granted an entitlement by an entitlement transfer. See Entitlement Transfers below.

Entitlement Transfers

Call loginwhen a user signs up, registers, or logs in to a previously created account.

Please note, there may still be valid purchases on the device. When those entitlements get associated with this new user, we revoke the entitlement on the old user so the old account will no longer have access.

This is done via an entitlement transfer process and our event system will produce two events for you to understand this transfer

  • user.subscription.transferred.from

  • user.subscription.transferred.to

which describes which user we revoked the entitlement from, the from user, and which user was granted the entitlement, the to user.

The Nami SDK manages the concept of a user account in your app through the and calls.

If you call with a external_id, we will link that app install to the provided identifier.

If the user logs out in your app, be sure to also call

Please see for more information about managing user accounts.

Accounts, Login, and Logout
https://app.namiml.com/api/v1/events/schema/
NamiCustomerManager.login
NamiCustomerManager.logout
NamiCustomerManager.login
logout
Entitlements
Customer Journey State
Devices
External Identifiers