Skip to content

Mail API Integration

Send physical mail programmatically directly from your applications. Integrate our hybrid mail services with just a few lines of code.

Intelliprint Mail API Integration

Mail API Features

RESTful API Design

Simple REST API with comprehensive documentation and code examples in multiple languages for easy integration.

Secure Authentication

Secure API key authentication with all communications protected by TLS encryption for data security.

Multiple Document Handling

Split large documents into individual letters automatically or send batch mailings with a single API call.

Testing Environment

Full test mode functionality allows you to validate your integration without sending real mail or incurring costs.

Key API Endpoints

MethodEndpointDescription
POST/v1/printsCreate a new print job with document files and configuration options
GET/v1/prints/{id}Retrieve information about an existing print job
PATCH/v1/prints/{id}Update an existing print job or confirm it for printing
GET/v1/printsList all your print jobs with filtering options
DELETE/v1/prints/{id}Delete a draft print job (only unconfirmed jobs can be deleted)

Start Sending Mail with Code

Creating a Print Job

// Example API request to create a print job
const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');

async function sendLetter() {
  try {
    const form = new FormData();
    
    // Required: The file to print and send
    form.append('file', fs.createReadStream('letter.pdf'));
    
    // Optional parameters
    form.append('testmode', 'true'); // Set to 'false' for production
    form.append('reference', 'Customer Invoice #12345');
    form.append('confirmed', 'true'); // Set to 'true' to send immediately
    
    // Configure printing options
    form.append('printing[double_sided]', 'yes');
    form.append('printing[premium_quality]', 'false');
    
    // Configure postage options
    form.append('postage[service]', 'uk_second_class');
    form.append('postage[ideal_envelope]', 'c5');
    
    const response = await axios.post(
      'https://api.rnbdata.uk/v1/prints',
      form,
      {
        headers: {
          ...form.getHeaders(),
          'Authorization': 'Basic ' + Buffer.from('key_YOUR_API_KEY:').toString('base64')
        }
      }
    );
    
    console.log('Print job created successfully!');
    console.log('Print job ID:', response.data.id);
    
    // If confirmed=true, letters will be printed and posted
    if (response.data.confirmed) {
      console.log('Letters will be processed and sent');
      console.log('Total cost:', response.data.cost.amount/100 + ' ' + response.data.cost.currency);
    }
  } catch (error) {
    console.error('Error creating print job:', error.response?.data || error.message);
  }
}

Checking Print Job Status

// Example API request to check print job status
const axios = require('axios');

async function checkPrintJobStatus(printJobId) {
  try {
    const response = await axios.get(
      `https://api.rnbdata.uk/v1/prints/${printJobId}`,
      {
        headers: {
          'Authorization': 'Basic ' + Buffer.from('key_YOUR_API_KEY:').toString('base64')
        }
      }
    );
    
    const printJob = response.data;
    console.log('Print job status:', printJob);
    
    // Check the status of individual letters
    if (printJob.letters && printJob.letters.length > 0) {
      console.log('Letter statuses:');
      printJob.letters.forEach(letter => {
        console.log(`Letter ${letter.id}: ${letter.status}`);
        
        // If the letter has been shipped, show tracking info
        if (letter.status === 'shipped' && letter.tracking_number) {
          console.log(`Tracking number: ${letter.tracking_number}`);
        }
      });
    }
    
    return printJob;
  } catch (error) {
    console.error('Error checking print job status:', error.response?.data || error.message);
    throw error;
  }
}

Benefits of API Integration

Automation

Eliminate manual processes and automate your entire mailing workflow from end to end.

Scalability

Handle anything from one-off letters to mass mailing campaigns with the same infrastructure.

Cost Efficiency

Reduce operational costs by automating mail processes and benefiting from our bulk mail rates.

Ready to Integrate Mail into Your Applications?

Our developer-friendly API makes it easy to add physical mail capabilities to your software.