Update transactions via bulk import

The Bulk import method allows you to update any field in the previously submitted transactions. Learn how this functionality works on the example of the following use-cases:

When updating transactions, pay attention to the following conditions:

  • The bulk method expects transactions to be passed as a valid NDJSON with the Content-Type: application/x-ndjson header.
  • It’s required to submit all transaction fields (regardless of its change).
  • Rescore will be run for the transaction’s restatement and checking travel rules matching.
  • If no matching data.txnid is found, a new transaction will be created.

Update gambling bet

Your applicant may bet 45 euro on the future result of a match. The win amount is not identified yet, thus the Result Amount field = 0. For updating the result of the match, you can change the win/loss amount (as well as other parameters) via the bulk transaction import method.

Original bet

Here, the "resultAmount" field goes with the value of 0 in the original bet:

{
  “applicantId”: "65af98415bf7f412d91eaf3e",
  “data”: {
    "txnId": "1zt1yx9izo8s78qwgo6hf",
    "type": "gamblingBet",
    "gamblingBetInfo": {
      "amount": 45,
      "currencyCode": "EUR",
      "resultAmount": 0,
      "betType": "sports",
      "gameType": "football",
      "bonusId": ""
    },
    "applicant": {
      "device": {
        "fingerprint": "xwcd3pvbps8"
      }
    },
    "txnDate": "2024-01-23 12:20:34+0200"
  }
}

Updated bet

In the updated bet, the "resultAmount" field gets a value of 100. The import is performed via this API method.

{
  "applicantId": "65af98415bf7f412d91eaf3e",
  "data": {
    "txnId": "1zt1yx9izo8s78qwgo6hf",
    "type": "gamblingBet",
    "gamblingBetInfo": {
      "amount": 45,
      "currencyCode": "EUR",
      "resultAmount": 100,
      "betType": "sports",
      "gameType": "football",
      "bonusId": ""
    },
    "applicant": {
      "device": {
        "fingerprint": "xwcd3pvbps8"
      }
    },
    "txnDate": "2024-01-23 13:24:34+0200"
  }
}

Update finance transaction

If some of the transaction parameters have been specified after its initiation, you can update these fields by using the bulk import method.

Original transaction

{
  "txnId": "rv4mkr2i2yq144irrbopxp",
  "applicant": {
    "address": {
      "country": "DEU",
      "formattedAddress": "Chauseestr. 60, 10115, Berlin, Germany"
    },
    "paymentMethod": {
      "type": "card",
      "accountId": "eg_hash_of_credit_card_number",
      "issuingCountry": "DEU"
    },
    "device": {
      "fingerprint": "mzb5usxm3pt",
      "ipInfo": {
        "ip": "87.141.63.130"
      }
    },
    "institutionInfo": {
      "code": "DEUTDEDB101",
      "name": "Deutsche Bank"
    }
  },
  "counterparty": {
    "externalUserId": "qgux1ieyrqama40jm7i6ds",
    "fullName": "Jack Posek",
    "type": "individual",
    "paymentMethod": {
      "type": "account",
      "accountId": "eg_hash_of_iban",
      "issuingCountry": "CHE"
    },
    "institutionInfo": {
      "internalId": "CRESCHZZXXX",
      "name": "Credit Swiss (Schweiz)"
    }
  },
  "info": {
    "direction": "out",
    "amount": 101.42,
    "currencyCode": "GBP",
    "paymentDetails": "Birthday Present"
  },
  "props": {
    "customProperty": "Custom value that can be used in rules",
    "dailyOutLimit": "10000"
  },
  "txnDate": "2024-01-23 16:08:58+0200"
}

Updated transaction

Here, the accountId, paymentDetails, and amount fields have been changed. The import is performed via this API method.

{
  "applicantId": "659c0a51ba660a4c741cc35f",
  "data": {
    "txnId": "rv4mkr2i2yq144irrbopxp",
    "applicant": {
      "address": {
        "country": "DEU",
        "formattedAddress": "Chauseestr. 60, 10115, Berlin, Germany"
      },
      "paymentMethod": {
        "type": "card",
        "accountId": "SADFWERIFWIF123123",
        "issuingCountry": "DEU"
      },
      "device": {
        "fingerprint": "mzb5usxm3pt",
        "ipInfo": {
          "ip": "87.141.63.130"
        }
      },
      "institutionInfo": {
        "code": "DEUTDEDB101",
        "name": "Deutsche Bank"
      }
    },
    "counterparty": {
      "externalUserId": "qgux1ieyrqama40jm7i6ds",
      "fullName": "Jack Posek",
      "type": "individual",
      "paymentMethod": {
        "type": "account",
        "accountId": "eg_hash_of_iban",
        "issuingCountry": "CHE"
      },
      "institutionInfo": {
        "internalId": "CRESCHZZXXX",
        "name": "Credit Swiss (Schweiz)"
      }
    },
    "info": {
      "direction": "in",
      "amount": 1010.42,
      "currencyCode": "GBP",
      "paymentDetails": "testesttest"
    },
    "props": {
      "customProperty": "Custom value that can be used in rules",
      "dailyOutLimit": "10000"
    },
    "txnDate": "2024-01-23 16:08:58+0200"
  }
}