Buy Batches of Bitrefill Gift Cards
Create batches of Bitrefill Gift Cards for B2B partners.
Bitrefill Gift Card (BRGC) batches allow Business API partners to create bulk gift cards in a single operation. This is ideal for resellers, loyalty programs, and enterprise distribution.
What are BRGC Batches?
BRGC batches let you:
- Create multiple gift cards in one API call
- Get bulk gift card codes for distribution
- Track batch status and individual cards
- Manage large-scale gift card programs
BRGC batches are only available to Business API accounts. Contact [email protected] if you need access.
Creating a Batch
const response = await fetch(`${BASE_URL}/brgc-batches`, {
method: 'POST',
headers,
body: JSON.stringify({
quantity: 10,
value: 25,
currency: 'USD'
})
});
const { data: batch } = await response.json();
console.log(`Batch ${batch.batchId} created, status: ${batch.status}`);Request Parameters
| Parameter | Required | Description |
|---|---|---|
quantity | Yes | Number of gift cards to create |
value | Yes | Value of each gift card |
currency | Yes | Currency code (USD, EUR, etc.) |
Checking Batch Status
const response = await fetch(`${BASE_URL}/brgc-batches/${batchId}`, { headers });
const { data: batch } = await response.json();
if (batch.status === 'complete') {
console.log(`${batch.cards.length} cards ready`);
batch.cards.forEach(card => console.log(card.code));
}Batch Statuses
| Status | Description |
|---|---|
processing | Batch is being created |
complete | All cards are ready |
failed | Batch creation failed |
partial | Some cards failed to create |
Listing Batches
const response = await fetch(`${BASE_URL}/brgc-batches?limit=20`, { headers });
const { data: batches } = await response.json();Complete Example
const API_ID = process.env.BITREFILL_API_ID;
const API_SECRET = process.env.BITREFILL_API_SECRET;
const BASE_URL = 'https://api.bitrefill.com/v2';
const token = Buffer.from(`${API_ID}:${API_SECRET}`).toString('base64');
const headers = {
'Authorization': `Basic ${token}`,
'Content-Type': 'application/json'
};
async function createBatch(quantity, value, currency) {
// Create the batch
const createRes = await fetch(`${BASE_URL}/brgc-batches`, {
method: 'POST',
headers,
body: JSON.stringify({ quantity, value, currency })
});
const batch = await createRes.json();
const batchId = batch.data.batchId;
// Poll for completion
while (true) {
const statusRes = await fetch(`${BASE_URL}/brgc-batches/${batchId}`, { headers });
const status = await statusRes.json();
if (status.data.status === 'complete') {
return status.data.cards;
}
if (status.data.status === 'failed') {
throw new Error('Batch creation failed');
}
await new Promise(r => setTimeout(r, 2000));
}
}
// Usage
const cards = await createBatch(10, 25, 'USD');
console.log(`Created ${cards.length} gift cards`);
cards.forEach(card => console.log(card.code));Best Practices
1. Start Small
Test with small batches before creating large ones.
2. Handle Partial Failures
Check for partial failures where some cards weren't created:
if (batch.status === 'partial') {
const successfulCards = batch.cards.filter(c => c.status === 'active');
const failedCount = batch.quantity - successfulCards.length;
console.log(`${failedCount} cards failed to create`);
}3. Store Batch IDs
Keep track of batch IDs for auditing and reconciliation.
4. Secure Card Codes
Treat card codes like sensitive data — store encrypted at rest, limit access, and log access for auditing.
Use Cases
| Use Case | Approach |
|---|---|
| Loyalty rewards | Create batches as rewards are earned |
| Corporate gifts | Bulk create for employee programs |
| Reselling | Create inventory to sell on your platform |
| Promotional campaigns | Generate codes for marketing campaigns |
Updated about 2 months ago