Webhook Events

Learn about the different webhooks triggered when making a bulk transfer from a virtual account used as a Transfer Wallet using ZWITCH APIs.

All important activity on your ZWITCH account is recorded as an event. We use webhooks to notify you about important events on your account. These webhooks contain details about the event, such as the changes that occurred and the resources impacted by the change.

We send webhooks as HTTP POST call to a URL configured by you. Webhook payloads use the JSON format.

Learn more about our webhooks.

Available Webhook Events

The table below lists the various webhook events triggered when executing a bulk transfer API.

Webhook EventsDescription
transfers.bulk.createdTriggered when the Create Bulk Transfer API call is successfully made.
transfers.bulk.updatedTriggered when the bulk transfer undergoes a status change.
transfers.updatedTriggered whenever the individual transfer undergoes a status change.

Sample Payloads

Transfers Bulk Created

Triggered when the Create Bulk Transfer API call is successfully made.

{
  "id": "evl_g7KbMEu4CwDqlIXzUt5RlNpwz",
  "object": "event",
  "name": "transfers.bulk.created",
  "is_sandbox": true,
  "data": {
    "object": {
      "id": "butr_YRCOUeiOBCGF9O67cR6wZOUit",
      "object": "bulk_transfer",
      "type": "account_number",
      "status": "queued",
      "debit_account_details": {
        "name": "Anil Reddy",
        "account_number": "95151838818710",
        "ifsc": "UTIB0CCH274"
      },
      "total_individual_transfers": 2,
      "total_transfer_amount": 3,
      "bulk_reference_id": "234.713.1106 x517",
      "updated_at": 1713351741,
      "is_sandbox": true,
      "created_at": 1713351741
    }
  }
}

Transfers Bulk Updated

Triggered when the bulk transfer undergoes a status change.

{
  "id": "evl_g7KbMEu4CwDqlIXzUt5RlNpwz",
  "object": "event",
  "name": "transfers.bulk.updated",
  "is_sandbox": true,
  "data": {
    "object": {
      "id": "butr_YRCOUeiOBCGF9O67cR6wZOUit",
      "object": "bulk_transfer",
      "type": "account_number",
      "status": "completed",
      "debit_account_details": {
        "name": "Anil Reddy",
        "account_number": "95151838818710",
        "ifsc": "UTIB0CCH274"
      },
      "total_individual_transfers": 2,
      "total_transfer_amount": 3,
      "bulk_reference_id": "234.713.1106 x517",
      "updated_at": 1713351741,
      "is_sandbox": true,
      "created_at": 1713351741
    }
  }
}

Transfers Updated

Triggered whenever the transfer undergoes a status change.

{
  "id": "evl_GHj0bAfUUJG4J0HXIGK8xnLyI",
  "object": "event",
  "name": "transfers.updated",
  "is_sandbox": true,
  "data": {
    "object": {
      "id": "tr_9A92uYP6evkak1QhZmINQlKKl",
      "object": "transfer",
      "type": "account_number",
      "amount": 1,
      "debit_account_id": "va_Zpo4BFKhHIfDijxPP9vzVF6Id",
      "beneficiary_id": "vab_nBXNYIpuAYtqSFz0Ot8f7a3V9",
      "status": "success",
      "bank_reference_number": "815812367271",
      "currency_code": "inr",
      "payment_mode": "imps",
      "payment_remark": "test",
      "paid_to": "414001501942",
      "beneficiary_name": "Anil Reddy",
      "beneficiary_ifsc": "ICIC0004140",
      "bulk_transfer_id": "butr_73fsC5G46jsh2yNcMNU81d34A",
      "otp_attempts": 0,
      "metadata": {
        "key_1": "DD",
        "key_2": "XoF"
      },
      "merchant_reference_id": "d7edb0e6-c329-42114bb-18da81112d-56711424e5f6808b",
      "transacted_at": 1710744926,
      "is_sandbox": true,
      "created_at": 1710744023
    }
  }
}