---
title: Batch Wallet Transactions API
description: "The **Batch Wallet Transactions API** allows for the processing of multiple cashless payment transactions in a single request. This is especially useful for bulk operations at events, venues, or any environment where RFID-based cashless systems are used. ### Endpoint ```…"
url: "https://oveit.com/knowledge-base/batch-wallet-transactions-api/"
updated: "2025-04-01"
category: 3. Developer Docs
tags:
  - developer
  - payments
---

# Batch Wallet Transactions API

The **Batch Wallet Transactions API** allows for the processing of multiple cashless payment transactions in a single request. This is especially useful for bulk operations at events, venues, or any environment where RFID-based cashless systems are used.

### Endpoint

```
https://l.oveit.com/api/wallet/batch?token={AUTH_TOKEN}&event_id={EVENT_ID}
```

AUTH_TOKEN - authorization token, see [https://l.oveit.com/api-documentation/#authentication](https://l.oveit.com/api-documentation/#authentication)
EVENT_ID - event id, see event URL in the Oveit dashboard

### Method

```
POST (CSV file upload)
```

### **Purpose**

Submit a batch of wallet transactions using a single API call. Each row in the CSV represents a single transaction, enabling fast and efficient processing.

## **CSV Format**

### **CSV Header**

```
uuid_v4_transaction,rfid_code,amount,seller_user_oveit_email,device,products_json,date,server
```

### Field Descriptions

| Field | Description |
| --- | --- |
| `uuid_v4_transaction` | **(Required)** Unique UUID v4 for the transaction |
| `rfid_code` | **(Required)** RFID code of the user’s bracelet (uppercase) |
| `amount` | **(Required)** Float value; negative for debit (purchase/withdraw), positive for credit |
| `seller_user_oveit_email` | **(Required)** Email of the seller/merchant user |
| `device` | *(Optional)* Identifier for the device used to perform the transaction |
| `products_json` | *(Optional)* JSON string describing products in the transaction (see below) |
| `date` | **(Required)** Date and time in ATOM format (`Y-m-dTH:i:sP`) |
| `server` | *(Optional)* Server identifier for internal tracking |

### Example CSV Data

```
uuid_v4_transaction,rfid_code,amount,seller_user_oveit_email,device,products_json,date,server
a20080669-30c3-4a47-8d57-cea12c455e2d,665394,-4500.00,"dev+1@oveit.com",device-operator-1,"[{""name"":""Pizza"",""quantity"":1,""total"":30,""Tax %"":""5%"",""Tax"":2.3,""Unit price"":10.99},{""name"":""Water"",""quantity"":1,""total"":15,""Tax %"":""5%"",""Tax"":2.3,""Unit price"":10.99}]",2023-05-11T14:23:20+00:00,ch1-app
45dace19-3db0-412d-a1e1-f9d8b6cd4719,665394,-6500.00,"dev+1@oveit.com",device-operator-1,"[{""name"":""Cola"",""quantity"":1,""total"":50},{""name"":""Water"",""quantity"":1,""total"":15}]",2023-05-11T14:23:20+00:00,ch1-app
```

### **Products JSON Structure**

Each transaction may include a `products_json` field that details the items involved. This field should be a JSON array of product objects.

### Example

```
[
  {
    "name": "Pizza",
    "quantity": 1,
    "total": 30,
    "Tax %": "5%",
    "Tax": 2.3,
    "Unit price": 10.99
  },
  {
    "name": "Water",
    "quantity": 1,
    "total": 15,
    "Tax %": "5%",
    "Tax": 2.3,
    "Unit price": 10.99
  }
]
```

Ensure that double quotes inside the JSON string are properly escaped when included in the CSV file.

### **Date Format**

Use [ATOM format](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) (a subset of ISO 8601):

```
YYYY-MM-DDTHH:MM:SS±hh:mm
```

**Example:**

```
2023-05-11T14:23:20+00:00
```

**Notes**

- All transactions must have a **unique UUID** to prevent duplication.
- The `amount` field must reflect the net transaction value in the smallest currency unit (e.g., cents).

---

### **Best Practices**

- Log transaction responses for reconciliation and troubleshooting.
- Validate your CSV before sending it to ensure all required fields are present.
- Use HTTPS to protect sensitive data like emails and transaction amounts.
