Webhooks notify your app about Command success or failure

Every job performed by any of the apps is called Command in our system. A Command could be transactions labelling, downloading data from the bank, or fetching a report from a credit bureau.
TransactionLink can notify you about every finished or failed Command via webhook or JS API.

Example of a webhook you would receive after successful data labelling by DataNinja App:

{
  "id": "1d97778a-b926-406f-b868-29ab149801bf",
  "app": "DATA_NINJA",
  "commandType": "LABEL_ACCOUNT_TRANSACTIONS",
  "workspaceId": "ae5a8594-bbc1-4d45-90c4-7df70a1fdf73",
  "customerId": "d74cc215-d3e2-4bc6-a71b-23e6ca1e58dd",
  "partyId": "48d45c08-f04b-4af4-bfdc-289aa6e6844a",
  "input": {
    "accountId": "277d68d6-6e4c-44ec-9cee-7c3a547db6da"
  },
  "output": {
    "status": "SUCCEEDED",
    "errors": [],
    "serviceProvided": true
  }
}

Example of a webhook you would receive after successful data fetching from Rejestr.io app:

{
  "id": "1d97778a-b926-406f-b868-29ab149801bf",
  "app": "REJESTR_IO", // The app that performed the command
  "commandType": "FETCH_PARTY_BY_NIP", // The command that's been perfomed
  "customerId": "d74cc215-d3e2-4bc6-a71b-23e6ca1e58dd",
  "partyId": "48d45c08-f04b-4af4-bfdc-289aa6e6844a",
  "input": {
    "nip": 5252812929
  },
  "output": {
    "status": "SUCCEEDED", // Enum: "SUCCEEDED" "BUSINESS_ERROR" "INTERNAL_ERROR" "RUNNING"
    "errors": [],
    "serviceProvided": true // In other words if you'll be charged for this Command
  }
}

Example of a webhook you would receive after failed data fetching from Rejestr.io

{
  "id": "1d97778a-b926-406f-b868-29ab149801bf",
  "app": "REJESTR_IO", // The app that performed the command
  "commandType": "FETCH_PARTY_BY_NIP", // The command that's been perfomed
  "customerId": "d74cc215-d3e2-4bc6-a71b-23e6ca1e58dd",
  "partyId": "48d45c08-f04b-4af4-bfdc-289aa6e6844a",
  "input": {
    "nip": 100000
  },
  "output": {
    "status": "BUSINESS_ERROR", // Enum: "SUCCEEDED" "BUSINESS_ERROR" "INTERNAL_ERROR" "RUNNING"
    "errors": [{"reason":  "NIP not found in rejestr.io"}],
    "serviceProvided": true
  }
}