LogoLogo
WebsiteLoginStatus
Terminal
Terminal
  • Introduction
  • How to get started
    • Enable Terminal
    • Docker Setup
      • Remote Approver App
      • Automated Signing
    • Deploy Widgets on Your Site
    • Webhooks
      • Notification Types
    • Integrate with API
  • API ENDPOINTS
    • Widget
    • Purchases
      • Advanced Settings
    • Organization
      • Copy of GET Purchase Status
  • Terminal Guide
    • Creating Widgets
      • Advanced Settings
    • Gas Features
      • Gas Refueling
      • Gas Sweeping
    • Purchases
  • WHAT WE SUPPORT
    • Supported Coins
    • Blockchains
Powered by GitBook
On this page
  • About Our Webhooks 📣
  • Create Subscription
  • Headers
  • Body (SubscriptionCreateInput object)
  • Response
  • Delete Subscription
  • Headers
  • Body (SubscriptionWhereUniqueInput object)
  • Response

Was this helpful?

Export as PDF
  1. How to get started

Webhooks

Retrieve notifications through webhooks on transaction events and status changes

PreviousDeploy Widgets on Your SiteNextNotification Types

Was this helpful?

About Our Webhooks 📣

Receive notifications/alerts on every new transaction or transaction status change in any of your inabit organizations within your account, as well as fee updates for a transaction.

There are two endpoints you can use with our Webhooks:

  • - registering to the subscription service

  • - deleting an existing subscription

Webhook endpoints are accessible only to the following user roles: Owner, Admin, API Admin

Our webhook service is currently limited to 1 subscription per organization.

  • Events Handled:

    • New Transaction Event

    • Transaction Status Updates (Incl. txn fee updates)

  • Supported transaction types:

    • Received (Deposits)

    • Sent (Withdrawals)

For further information regarding transaction types (events), refer to the subpage.

Create Subscription

In order to create a subscription on our GraphQL API, you'll need to call the following mutation:

mutation CreateSubscription($data: SubscriptionCreateInput!) {
  createSubscription(data: $data) {
  id,
  token
  }
}

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Body (SubscriptionCreateInput object)

Name
Type
Description

id*

string

ID of the organization in inabit

url*

string

URL for the webhook service to send notifications towards

Example body:

{
  "data": {
    "organization": {
      "id": "clu1dzpny0007vjto1gxhl5my"   # inabit organization Id
    },
    "url": "https://studio.apollographql.com",   # Webhook for subscriber
  }
}

Response

{
  "data": {
    "createSubscription": {
      "id": "clugv892y0000vjhga8ugol38",   # Created subscription Id
      "token": "sub_c028ef8d-b8b9-49c0-b5a9-f7451884b834"   # Unique generated token recognized by inabit
    }
  }
}
{
  "errors": [
    {
      "message": "INTERNAL_SERVER_ERROR",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "createSubscription"
      ],
      "extensions": {
        "code": "INTERNAL_SERVER_ERROR",
        "message": "There's already an active subscription for this organization. (organization: clu1dzpny0007vjto1gxhl5my)",
        "exception": {
          "message": "INTERNAL_SERVER_ERROR",
          "stacktrace": [
            "Error: There's already an active subscription for this organization. (organization: clu1dzpny0007vjto1gxhl5my)",
            "    at SubscriptionResolver.createSubscription (C:\\Users\\Ori Botan\\Documents\\inabit\\inabit\\server\\src\\subscription\\subscription.resolver.ts:81:13)"
          ]
        }
      }
    }
  ],
  "data": null
}
{
  "errors": [
    {
      "message": "INTERNAL_SERVER_ERROR",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "createSubscription"
      ],
      "extensions": {
        "code": "INTERNAL_SERVER_ERROR",
        "message": "Create subscription failed (organization: clu1dzpny0007vjto1gxhl5my)",
        "exception": {
          "message": "INTERNAL_SERVER_ERROR",
          "stacktrace": [
            "Error: Create subscription failed (organization: clu1dzpny0007vjto1gxhl5my)",
            "    at SubscriptionResolver.createSubscription (C:\\Users\\Ori Botan\\Documents\\inabit\\inabit\\server\\src\\subscription\\subscription.resolver.ts:81:13)"
          ]
        }
      }
    }
  ],
  "data": null
}

In the mutation's response, the following is retrieved:

ID - The ID of the subscription that was created.

Token - A unique token generated by inabit.

  • The token will be the identifying the webhook resource for the subscriber set as a header: 'authorization' : (i.e. - sub_c028ef8d-b8b9-49c0-b5a9-f7451884b834)

Remember - You can always query data and fetch all of an organization's subscriptions in case its hard to keep track, see query below.

query Subscriptions($where: SubscriptionWhereInput) {
  subscriptions(where: $where) {
  id  
  token
  }
}

Body (SubscriptionWhereInput object)

Name
Type
Description

id*

string

ID of the organization in inabit

Delete Subscription

In order to delete a subscription, the following mutation needs to be used:

mutation DeleteSubscription($where: SubscriptionWhereUniqueInput!) {
  deleteSubscription(where: $where) {
  id  
  }
}

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Body (SubscriptionWhereUniqueInput object)

Name
Type
Description

id*

string

Subscription ID

Example body:

body:
{
  "where": {
    "id": "clu5bxctk0003vje4n4pqfdya"   # Subscription Id
  }
}

Response

{
  "data": {
    "deleteSubscription": {
      "id": "clugwvbm70007vj4w74gxch3u"
    }
  }
}
{
  "errors": [
    {
      "message": "INTERNAL_SERVER_ERROR",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "deletesubscription"
      ],
      "extensions": {
        "code": "INTERNAL_SERVER_ERROR",
        "message": "Delete subscription failed (organization: clu1dzpny0007vjto1gxhl5my)",
        "exception": {
          "message": "INTERNAL_SERVER_ERROR",
          "stacktrace": [
            "Error: Delete subscription failed (organization: clu1dzpny0007vjto1gxhl5my)",
            "    at SubscriptionResolver.deleteSubscription (C:\\Users\\Ori Botan\\Documents\\inabit\\inabit\\server\\src\\subscription\\subscription.resolver.ts:81:13)"
          ]
        }
      }
    }
  ],
  "data": null
}
Notification Types
Create Subscription
Delete Subscription