Must have
all_transactions
When it fires
This event is triggered for non-mall programmes when transactions have been studied by the Spaycial enrichment pipeline. This webhook pushes all transactions belonging to members of the programme, in an array. It uses the same retry mechanism as every other webhook (see the Webhooks overview).
Payload fields
| Field | Type | Description |
|---|---|---|
event | String | The name of the webhook event. |
transactions[] | Array | The transactions pushed by this call. |
transactions[].id | uuid | The id of the transaction. |
transactions[].rawData | Object | Raw data, as transmitted by the bank. |
transactions[].rawData.amount | Float | The amount of the transaction. |
transactions[].rawData.label | String | The raw transaction label from the bank. |
transactions[].rawData.bankingStatementDate | String, nullable | The date of the banking statement. Null for receipt transactions or if not provided by the bank. |
transactions[].rawData.currency | String | The currency of the transaction, three-letter format (for example EUR). |
transactions[].rawData.transactionType | String, nullable | The type of transaction. |
transactions[].spaycialData | Object | Spaycial-specific information. |
transactions[].spaycialData.customerId | String | Spaycial's member id. |
transactions[].spaycialData.customerExternalId | String | Your member id. |
transactions[].spaycialData.bankAccountId | String, nullable | Spaycial's bank account id linked to this transaction. Cross-reference with accounts[].accountHash from bank_connections_update_v2 to identify joint accounts and deduplicate. Null for receipt transactions. |
transactions[].spaycialData.receiptId | String | The receipt id linked to this transaction, if there is one. |
transactions[].spaycialData.shoppingHubId | String | Programme id (Spaycial). |
transactions[].spaycialData.shoppingHubExternalId | String | Programme id in your system. |
transactions[].spaycialData.enrichment | Object | Enriched data added by Spaycial. |
transactions[].spaycialData.enrichment.purchaseDate | String | The date of the transaction. |
transactions[].spaycialData.enrichment.merchant | Object, nullable | Null if not found by Spaycial. |
transactions[].spaycialData.enrichment.merchant.id | String | Spaycial's id of the merchant. |
transactions[].spaycialData.enrichment.merchant.name | String, nullable | The name of the merchant. |
transactions[].spaycialData.enrichment.merchant.type | String, nullable | The Google type of the merchant. |
transactions[].spaycialData.enrichment.purchaseLocation | Object, nullable | Null if not found by Spaycial. |
transactions[].spaycialData.enrichment.purchaseLocation.country | String | ISO code of the purchase location country (for example PL for Poland). |
transactions[].spaycialData.enrichment.purchaseLocation.city | String | Name of the city where the purchase was made (for example Wroclaw). |
transactions[].spaycialData.enrichment.purchaseLocation.pointOfSale | Object, nullable | Null if not found by Spaycial. |
transactions[].spaycialData.enrichment.purchaseLocation.pointOfSale.id | String | Spaycial's id of the point of sale. |
transactions[].spaycialData.enrichment.purchaseLocation.pointOfSale.externalId | String | The external id of the point of sale. |
transactions[].spaycialData.enrichment.purchaseLocation.pointOfSale.googlePlaceId | String | Google place id. |
transactions[].spaycialData.enrichment.purchaseLocation.pointOfSale.longitude | Float | Longitude coordinate. |
transactions[].spaycialData.enrichment.purchaseLocation.pointOfSale.latitude | Float | Latitude coordinate. |
transactions[].spaycialData.enrichment.purchaseLocation.pointOfSale.name | String, nullable | The name of the point of sale. |
transactions[].spaycialData.enrichment.purchaseLocation.pointOfSale.address | String, nullable | The formatted address of the point of sale. |
transactions[].spaycialData.enrichment.timeOfPurchase | String, nullable | The date and time of the transaction. |
Example
{
"event": "all_transactions",
"transactions": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"rawData": {
"amount": 25.5,
"label": "ALDI MADRID",
"bankingStatementDate": "2025-11-05",
"currency": "EUR",
"transactionType": "shopping"
},
"spaycialData": {
"customerId": "1381fda2-9acb-4d1e-bdf5-29a80f54bb33",
"customerExternalId": "84",
"bankAccountId": "a1b2c3d4-e5f6-7890-abcd-000000000002",
"receiptId": null,
"shoppingHubId": "c4bde2eb-f77d-41a9-9ce5-a78f35abd659",
"shoppingHubExternalId": "sil",
"enrichment": {
"purchaseDate": "2025-11-05",
"merchant": {
"id": "e1a0d3ca-d15b-467d-9fdb-e34cc7b2240c",
"name": "ALDI",
"type": null
},
"purchaseLocation": {
"country": "ES",
"city": "Madrid",
"pointOfSale": {
"id": "e1a0d3ca-d15b-467d-9fdb-e34cc7b2240d",
"externalId": "17",
"googlePlaceId": "ChIJA5_uK0kpQg0RTo_iggAgVvo",
"longitude": -3.703528,
"latitude": 40.447365,
"name": "ALDI",
"address": "Gta. de Cuatro Caminos, 6, Tetuan, 28020 Madrid, Espagne"
}
},
"timeOfPurchase": null
}
}
}
]
}